北京网帮你
八项Apache的安全设置避开攻击风险
时间:2019-05-31 02:47:14 浏览:190

  

  第一、禁用自动索引模块

  #Fedora/Centos/Redhat

  /etc/httpd/conf/httpd.conf

  把"LoadModule autoindex_module modules/mod_autoindex.so"一行前面加上#禁止掉

  #Ubuntu/Debian

  rm-rf/etc/apache2/mods-enabled/autoindex.conf

  第二、禁用未使用的服务

  为了确保我们的Web服务器安全,建议你检查服务器上所有正在运行的服务和开放的端口,禁用我们不需要在服务器上的所有服务。

  #要显示所有服务service--status-all

  #显示所有的端口规则iptables-L

  #显示所有的运行信息(redhat/centos/fedora)chkconfig--list

  #检查/etc/init.d是否有可疑脚本ls/etc/init.d

  、设置和保护我们的SSH安全

  第三、我们在拿到VPS之后,建议修改端口、ROOT密码、以及授权单独的非ROOT用户权限管理,或者我们也可以采用密钥的方式登录SSH客户端管理VPS。比如可以参考"设置Putty SSH使用密钥登录Linux VPS主机"和"Xshell设置密钥登录确保Linux VPS及服务器更加安全"文章设置密钥登陆。

  第四、禁用不必要的Apache模块

  默认情况下,Apache很多模块都开启的,但是有些并不需要使用,我们可以关闭和精简。比如以前有分享过的"6步骤实现CentOS系统环境精简优化"和"4步骤实现Debian系统环境精简优化"可以有效的提高执行效率降低占用资源率。

  A-Ubuntu/Debian

  cat/etc/apache2/mods-enabled/*|grep-i loadmodule

  开启模块

  a2enmod module_name

  关闭模块

  a2dismod module_name

  B-Centos/Fedora/RedHat

  cat/etc/httpd/conf/httpd.conf|grep-i LoadModule

  编辑httpd.conf文件,搜索LoadModule关键字,需要关闭的在前面加上#备注保存就可以,相反启动则去掉#

  第五、让Apache以指定的用户和组来运行

  大多数默认的Apache使用的是默认用户和组为apache的,为了确保安全,我们可以使用不同的用户/组。假设你运行的邮件服务器作为nobody用户,你用相同的用户运行的Apache。如果您的邮件服务器被攻破,你的Apache也将受到影响。比如,我们在以root身份运行,如果有安全风险,那整个系统将在很大的风险。要检查/更改用户/组,编辑httpd.conf文件。

  #Fedora/Centos/Redhat

  vi/etc/httpd/conf/httpd.conf

  #Ubuntu/Debian

  vi/etc/apache2/httpd.conf

  我们可以使用默认的用户组,也可以创建新的用户/组。

  User apache

  Group apache

  第六、防止信息泄露

  默认的Apache安装后会在默认页面体现出端口、版本信息等,我们需要隐藏这些信息。

  #Fedora/Centos/Redhat

  vi/etc/httpd/conf/httpd.conf

  #Ubuntu/Debian

  vi/etc/apache2/conf-enabled/security.conf

  搜索ServerTokens和ServerSignature字符,然后对应修改

  ServerTokens Prod

  ServerSignature Off

  然后重启Apache

  #Fedora/Centos/Redhat

  service apache2 restart

  #Ubuntu/Debian

  service httpd restart

  然后我们的404页面就看不到版本信息。

  第七、隐藏PHP版本信息

  #Fedora/Centos/Redhat

  vi/etc/php.ini

  #Ubuntu/Debian

  vi/etc/php5/apache2/php.ini

  然后搜索expose_php,对应的参数on改成off

  删除自动索引模块

  第八、定期更新系统

  首先,我们需要确保是已经安装了最新版本和Apache的安全补丁和附加如CGI,Perl和PHP脚本代码。我们需要定期更新数据源依赖包操作。

  #Ubuntu/Debian

  apt-get update;apt-get dist-upgrade

  #Fedora/Centos/RedHat

  yum update

  根据自己的系统环境选择更新升级命令。

[上一篇]php判断余数为0循环html标签两组
[下一篇]php json_decode数据怎么转为数组
Copyright 2022 © 93580.com.cn 网帮你

2022 © 版权所有 红花岗区网帮你信息技术工作室

工信部备案号:黔ICP备2024036985号-2

请使用网帮你微信扫码登录