通过编辑apache配置文件实现apache的安全配置,apache默认配置文件路径是/etc/httpd/conf/httpd.conf
一、确保apache无法访问根目录
查看apache配置文件,确定里面对根目录是拒绝所有请求
vim /etc/httpd/conf/httpd.conf
按箭头,下翻可以找到以下配置
其中,第一行和第四行,指明了目录,即Linux的根目录 /
第二行,表示禁止使用.htaccess文件,覆盖此处配置
第三行,表示禁止访问根目录
删除网站的目录浏览权限
apache会在默认路径下开启目录浏览
继续查看apache配置文件,如图,其中Indexes即为目录浏览权限,直接删除掉即可。
限制HTTP方法
apache默认没有限制限制http方法,我们可以在需要的路径下进行限制
在路径配置中加入
<LimitExcept GET POST >
Require all denied
</LimitExcept>
如在根目录下配置 ,如图
错误页面重定向
http的错误页面可能会暴露服务器信息,我们可以将错误页面都重点向到某文件
新建一个错误页面文件,文件内容为error
echo error > /etc/var/www/html/error.txt
编辑配置文件,指定错误代码400 401 402 403 404 500 指向error
限制POST数据大小
编辑配置文件
在文件中加下行,注意不要放在路径的申明中
LimitRequestBody 100
录下post的数据
很多攻击行为由post发起,记录post数据可以便于追踪溯源
编辑配置文件
加载记录IO的模块
LoadModule dumpio_module modules/mod_dumpio.so
指定日志级别,记录IO (位置一定要对,不能随意编辑)
LogLevel dumpio:trace7
DumpIOInput On
保存退出,并重启服务
退出vim ,使用以下命令重启apache服务
systemctl restart httpd
中间步骤貌似错误 重启不了
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
:httpd的工作。服务失败,因为控制进程退出时带有错误代码。请参阅“systemctl status httpd”。和“journalctl -xe”获取详细信息。