理解apache安全配置项的作用,掌握安全配置项的配置方法
通过编辑apache配置文件实现apache的安全配置,apache默认配置文件路径是/etc/httpd
/conf/httpd.conf
查看apache配置文件,确定里面对根目录是拒绝所有请求
vim /etc/httpd/conf/httpd.conf
例如:下图先进入文件,下翻找到配置,
其中,第一行和第四行,指明了目录,即Linux的根目录 /
第二行,表示禁止使用.htaccess文件,覆盖此处配置
第三行,表示禁止访问根目录
apache会在默认路径下开启目录浏览
继续查看apache配置文件
例如:下图其中Indexes即为目录浏览权限,直接删除掉即可。
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
编辑配置文件
在文件中加下行,注意不要放在路径的申明中
LimitRequestBody 100
很多攻击行为由post发起,记录post数据可以便于追踪溯源
编辑配置文件
加载记录IO的模块
LoadModule dumpio_module modules/mod_dumpio.so
指定日志级别,记录IO (位置一定要对,不能随意编辑)
LogLevel dumpio:trace7
DumpIOInput On
退出vim ,使用以下命令重启apache服务
systemctl restart httpd
前面我们已经完成了apache的加固,下面进行验证,这里我们使用linux自带的curl工具进行验证
1、验证当前的HTTP限制的方法,如我们head方法进行测试
如图curl -I 127.0.0.1 ,其中 -I表示使用head方法
2、验证错误页面重定向
curl 127.0.0.1/test.html
因为服务器上并不存在test.html,所以重定向到了error.txt
3、验证限制post数据大小
curl使用-d选项时,会使用post,前面我们限制post的body为100字节,下面引号中随便输入足够长的数据即可
curl -d 'testtesttesttestsa 中间输入超过100个字符随便输入jfljaslfjlajflajlfjsfuwefjsljfljsttesttest' 127.0.0.1
4、验证日志记录post数据
使用下面命令向服务器post的数据为11223344
curl -d '11223344' 127.0.0.1
服务器无法处理post请求,直接报错error
查看日志,可以在日志中找到11223344
通过实验学会Linux下的apache安全配置,同时学会基本的curl命令应用。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!