Apache优化:隐藏版本信息,权限分离提高安全性,禁止日志遍历,日志切割

Apache优化

在实验环境中,我们不会去关注apache的优化,但是如果要用于生产环境中,必须要对apahe进行优化后,才可以上线进行服务,不然会出现很多问题:如安全性,不方便查看日志等等

实验环境

一台centos7主机IP192.168.1.11 纯净就可以,配置好yum源,如有需要软件包,我后面会提供百度云

一.查看Apache的版本信息

1)查看默认自己的版本信息

[root@apache ~]# yum -y install httpd
[root@apache ~]# yum -y install curl
[root@apache ~]# curl -I 192.168.1.11

2.修改ap_release.h参数以隐藏版本信息

[root@apache ~]# cd httpd-2.4.38/
[root@apache httpd-2.4.38]# vim include/ap_release.h
找到40~47行,改为我如下,也可以随意写,然后保存退出

3)测试隐藏版本信息效果

[root@apache ~]# curl -I 192.168.1.11

二.设置apache权限分离提供安全性

1)查看并修改apache默认用户

1.查看apache默认用户

[root@apache ~]# ps -aux | grep httpd

[root@apache ~]# systemctl restart apache
[root@apache ~]# ps -aux | grep httpd

三.禁止日志遍历

apache默认开启目录浏览功能,意思就是/usr/local/httpd/htdocs中如果不存在index.html文件,就显示这个目录下的目录结构
如果index.html文件为空不会显示目录结构
如果存在其他html文件,但不是index.html也会显示目录结构

1.在htdocs目录下创建测试目录与文件

[root@apache ~]# echo > /usr/local/httpd/htdocs/123.html
[root@apache ~]# mkdir /usr/local/httpd/htdocs/{dir1,dir2}
[root@apache ~]# ls /usr/local/httpd/htdocs/

2.移走index.html

[root@apache ~]# mv /usr/local/httpd/htdocs/index.html /opt/

3.测试,可以看到目录结构

http://192.168.1.11/

[root@apache ~]# systemctl restart apache

5.测试

再次访问,已不会显示目录结构,而是 错

这里解释一下其中的参数
|:
-l:
%Y%m%d:
86400:

2.更改正确日志位置

继续找到310行,改为我如下,这是正确日志位置,然后保存退出

2.查找安装到了哪里,/sbin下的那个是命令

[root@apache cronolog-1.6.2]# find / -name cronolog

3.这次使用虚拟主机做

1.先打开虚拟主机功能
[root@apache ~]# vim /usr/local/httpd/conf/httpd.conf
去掉这行的#

4.创建配置文件中写的目录与默认首页
[root@apache ~]# mkdir -p /virtual/{logs,htdocs}
[root@apache ~]# echo > /virtual/htdocs/index.html
[root@apache ~]# systemctl restart apache
Job for apache.service failed because the control process exited with error code. See “systemctl status apache.service” and “journalctl -xe” for details.

[root@apache ~]# systemctl restart apache

5.测试效果

http://192.168.1.200/
先访问虚拟主机,并刷新多次

Apache优化:隐藏版本信息,权限分离提高安全性,禁止日志遍历,日志切割
在回来查看,日志,因为没有出错,这里只有正确日志
[root@apache ~]# ls /virtual/logs/
我这后来改过日期,所以和上面对不上,文件后面的日期就是当前日期,可使用date命令查看

可以试一下
[root@apache ~]# date -s “2020-12-11”
这条命令修改系统时间

这时候,访问一次虚拟主机192.168.1.200
再回来看日志,已经多了一个
[root@apache logs]# ls

然后上面没有说一个问题,现在运行apache的用户是apache,正常说我们新创建的文件/virtual和下面的子文件夹,apache用户肯定没有写入权限,日志也就无法写入,

但是这里可以写入,这是因为是root用户打开了apache服务,他就是主进程用户,而apache服务的日志文件是由主进程用户负责并写入的

!!实验完毕

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8578 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月23日
下一篇 2020年1月23日

相关推荐