分享好友 最新动态首页 最新动态分类 切换频道
Apache优化:隐藏版本信息,权限分离提高安全性,禁止日志遍历,日志切割
2024-12-26 22:03

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

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

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

1)查看默认自己的版本信息
2)隐藏apache版本信息

只有源码安装中的编译过程,才可以修改apache版本信息,我们先来源代码安装apahe

1.上传并解压httpd软件包
2.修改ap_release.h参数以隐藏版本信息
3.源码安装上apache服务

1)先把刚刚yum安装的httpd服务删除了
[root@apache httpd-2.4.38]# yum -y remove httpd

2)安装编译环境
[root@apache httpd-2.4.38]# yum -y install gcc gcc-c++ apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre openssl*

3)编译并安装
[root@apache httpd-2.4.38]# https://blog.csdn.net/weixin_45308292/article/details/configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-ssl --enable-mpms-shared=all

这里解释一下参数
–enable-so
–enable-rewrite
–enable-charset-lite:
–enable-cgi
–enable-ssl
–enable-mpms-shared=all

[root@apache httpd-2.4.38]# make && make install

 
 

6)启动服务
[root@apache ~]# systemctl start apache
[root@apache ~]# netstat -anpt | grep 80

7)添加环境变量path,以便可以随时使用apache的命令
[root@apache ~]#ln -s /usr/local/httpd/bin/* /usr/local/bin/

3)测试隐藏版本信息效果
4)彻底隐藏版本号
5)测试最终结果
1)查看并修改apache默认用户
1.查看apache默认用户

虽然daemon没有系统登陆的权限,但是好多服务默认都是daemon用户,如黑客获取了daemon用户权限有可能会破坏其他服务,所以我们要给apache创建一个单独用户

2.修改apache默认用户为apache

[root@apache ~]# cat /etc/passwd | grep apache

2)权限分离

在实验环境中一般使用root用户,或单一用户给予关于其服务的全部权限,可是这样在实际生产完全性非常低,一旦有入侵者攻破这一用户,那整个网站服务和其中的数据,也就任其所为了

1.先设置一些重要目录的属主属组,之后再进行细分

1)将整个apache目录属主属组设为apache
[root@apache ~]# chown -R apache:apache /usr/local/httpd/

2)再单独给于daemon用户,让daemon用户拥有对应权限
[root@apache ~]# chown -R daemon:daemon /usr/local/httpd/htdocs/

[root@apache ~]# ll /usr/local/httpd/htdocs/
#这里可以发现apache对其也只有读权限,一定程度分离了权限

2.网页与目录文件快速赋权

在网站的站点目录,也就是/usr/local/httpd/htdocs,会存在目录或文件,我们需要给予对应的权限

1.设置此目录下所有文件的权限为644

[root@apache ~]# find /usr/local/httpd/htdocs -type f -exec chmod 644 {} ;
-type后面的f就是文件的意思,-exec 是要执行的命令,{} 是将find的结果 执行前面的chmod命令

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

2.设置此目录下所以目录的权限为755

先再htdocs目录下,创建一个目录,方便看效果
[root@apache ~]# mkdir /usr/local/httpd/htdocs/directory
[root@apache ~]# find /usr/local/httpd/htdocs -type d -exec chmod 755 {} ;
-d是目录的意思
[root@apache ~]# ll -d /usr/local/httpd/htdocs/directory/

#这个属组的s暂且不管,总之现在属组也有x执行权限,通过getfacl命令查看

[root@apache ~]# getfacl /usr/local/httpd/htdocs/directory/






#这行就是属组的权限

3.日志文件单独授权为root用户,提高安全


[root@apache ~]# chown -R root:root /usr/local/httpd/logs/
[root@apache ~]# ll -d /usr/local/httpd/logs/access_log

其他用户也仅有读取权限

4.重启服务,保证权限配置正确,用户依然可以正常访问

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.测试,可以看到目录结构
4.修改配置文件,取消此功能

[root@apache ~]# systemctl restart apache

5.测试

默认不进行日志切割,日志都是在一个文件中,很不方便查看如果不进行日志切割无法进行定期清理日志,造成资源浪费

1)使用apache系统自动切割工具rotatelogs
1.先修改主配值文件
 

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

2.更改正确日志位置
 

[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

4.测试rotatelogs工具效果

1.先测试错误日志
[root@apache ~]# ls /usr/local/httpd/logs/
可以看到,已经有错误日志,而且是当前的日期,另几个日志是没有开启日志分隔时的日志

[root@apache ~]# date

2.测试正确日志
这里是因为测试日志遍历,现在移动回来
[root@apache ~]# mv /opt/index.html /usr/local/httpd/htdocs/

客户访问机网页httpd://192.168.1.11时多次刷新

[root@apache ~]# ls /usr/local/httpd/logs/

2)使用cronolog进行日志切换

apache自带的切割工具容易造成数据丢失,因此我们一般使用第三方切割工具cronolog

1.上传cronolog工具并安装

链接:https://pan.baidu.com/s/1547EuH46lSQa-5sbf-IL-g
提取码:q6ij

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

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

3.这次使用虚拟主机做

[root@apache ~]# systemctl restart apache

2.添加一个I临时P(重启网卡会失效,做基于IP的虚拟主机
[root@apache ~]# ifconfig ens33:1 192.168.1.200
[root@apache ~]# ifconfig

 
 
 

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.测试效果

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

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

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

最新文章
重庆百度推广优化,赋能企业品牌飞跃与业绩
重庆百度推广优化服务,专注于提升企业品牌知名度和率。通过精准关键词、创意广告和数据分析,助力企业在线上拓展市场,增强竞争力。随着互联网的快速发展,越来越多的企业开始重视网络营销,百度作为最大的搜索引擎,拥有庞大的用户群体和
两个“无印良品”让人傻傻分不清!背后是拉锯多年的商标之争 | 消费探照灯
“没想到,买个纯棉被套也会闹乌龙。”近日,有消费者向羊城晚报记者反映,自己在网上下单“无印良品纯棉被套”,收货后发现不是日本“MUJI無印良品”的商品,而是北京棉田纺织品有限公司的“无印良品”。记者调查发现,令消费者感到品牌混
数据质量管理-规则引擎(数据校验,业务规则校验)
规则引擎 (Rule Engine)介绍    规则引擎起源于基于规则的专家系统,而基于规则的专家系统又是专家系统的其中一个分支。专家系统属于人工智能的范畴,它模仿人类的推理方式,使用试探性的方法进行推理,并使用
百度新站很难收录 新站上线,百度收录难题?揭秘快速被索引的秘密!
在当前的互联网生态中,搜索引擎优化(SEO)对于任何新建立的网站而言,都是通往成功之路上的关键一步然而,对于百度这一国内最大的搜索引擎而言,新站的收录问题往往成为众多网站主面临的第一个重大挑战本文将从多个维度深入剖析为何百度
招商银行闪电贷逾期可以协商分期还款吗?
招商银行闪电贷逾期可以协商分期还吗!小编导语随着互联网金融的迅猛发展,个人信用贷款已成为许多人解决资金周转问的重要途径。招商银行的闪电贷作为一种便捷的贷款产品,因其申请简单、放款迅速而受到广泛欢迎。随着借款人的还款压力增加
百八十个密码不用记,试试免费、跨平台的微软密码管理 App
  随着使用网站数量的增多,对于密码管理愈发的重要起来。抛开安全因素不讲,记住这些密码本身就是一个很考验记忆力的事情。面对如此越来越多的密码,不同的人有不同的解决方案。我的同事当中有人用小本子记录自己的密码,也有人用 Excel
英雄联盟技能提示怎么设置?
方法/步骤1/4进入游戏在电脑桌面打开LOL,进入到游戏界面。2/4进入游戏设置进入英雄联盟游戏大厅,点击右上角的进入游戏设置。3/4设置轨迹指示在设置界面选择热键,点击第一个选项,用带指示器的快捷施法替代快捷施法这个选项。4/4取快捷施
百度教育用AI黑科技为高考生家长送“清凉”
今日上午9时,一年一度的高考大戏正式上演。数据显示,今年全国有940万考生参考,北京地区共设92个考点,1791个考场,预计6万余人参加高考。与往年一样,除了直接参与“战斗”的高考考生,“望子成龙心切”的陪考大军也是每个考点周边必不
线上赏樱花5分钟教你用Python:画一棵漂亮的樱花树(附代码)
如果觉得不过瘾,先想自己亲自做樱花效果,那么赶紧来看了,各式各样的樱花效果树,领域IT界樱花盛景,下面就分享一下好看好玩的樱花效果树代码,这些大多都是运用python中的海龟画图来实现出来的效果
【整站源码+每天自动采集】羊毛部落赚客资讯类网站源码/无人值守采集/养站站群专用
【整站源码+每天自动采集】羊毛部落赚客资讯类网站源码/无人值守采集/养站站群专用源码介绍薅羊毛资讯博客自动采集站源码,wordpress后台前后端均为响应式布局方便管理,支持用户注册科投稿。1、内置大量文章,安装后即可运营省时省力;2、
相关文章
推荐文章
发表评论
0评