分享好友 最新动态首页 最新动态分类 切换频道
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用户肯定没有写入权限,日志也就无法写入

最新文章
谷歌Google广告推广如何开户?Google广告开户和费用
谷歌Google广告作为全球领先的在线广告平台之一,为企业提供了巨大的市场潜力。然而,对于许多企业而言,如何有效利用这一平台来实现业务增长仍然是一大挑战。为了帮助企业顺利开启谷歌广告之旅,云衔科技提供了一整套专业的开户及代运营服
部编人教版七年级历史上册课堂笔记.doc
PAGEPAGE1部编人教版七年级历史上册课堂笔记(配2024年秋改版教材)第一单元史前时期:原始社会与中华文明的起源第1课远古时期的人类活动课时任务了解元谋人、郧县人、蓝田人、北京人等古人类活动,知道我国是人类起源的重要地区。初步认识
百度地图商户免费标注 提升店铺曝光的方法
在数字化时代,线上地图已成为人们日常出行、寻找服务的重要工具。其中,百度地图作为国内领先的在线地图服务平台,拥有庞大的用户基数和精准的定位功能,为各类商户提供了宝贵的曝光机会。做标注微:18872774752通过百度地图商户免费标注
给idea装上docker插件
当我们给idea 装上docker插件,并做好相应的配置后,打包镜像和上传变得如此丝滑,我们只要做通过maven做一下打包操作,这一切都被完成了。我们在本地打包 生成镜像 上传到远程的docker中,自然需要开放远程相应的端口,现在我们就来做这个
这里告诉你小红书推广搜索怎么做?
小红书搜索营销策略深度解析在小红书的营销布局中,搜索引擎扮演着至关重要的角色,它不仅能够为商家带来即时的转化效益,更能够助力商家构建长期的品牌影响力。通过精心策划的搜索推广策略,商家能够挖掘新的业务增长点,并持续强化用户对
获取 Android 10
要开始使用 Android 10,您需要运行 Android 10 的硬件设备或模拟器以进行测试和开发。您可以通过以下任一种方式获取 Android 10:获取 Google Pixel 设备的 OTA 更新或系统映像获取合作伙伴设备的 OTA 更新或系统映像获取符合 Treble 标准
淘宝开网店需要多少资金?需要花多少钱?
我们在淘宝上开店,是很多人想要做的事情,虽然开网店投资少,但还是需要资金的,那么我们来总结下我们在淘宝上面开网店的资金有哪些。看看我们具体在哪些方面需要花钱,请看介绍!第一种费用:保证金费用开网店我们首先是要缴纳保证金,淘
如何理解投资决策的基本原理?这种决策如何优化市场表现?
在金融市场,尤其是期货领域,理解投资决策的基本原理至关重要。投资决策并非是随机的行为,而是基于一系列因素的综合考量。首先,要对市场趋势有清晰的认识。市场如同大海,有潮起潮落,了解其周期性和波动性是决策的基础。通过分析历史数
黄历日历通最新版
黄历日历通app是一款非常方便的日历软件,用户可以通过该软件来进行黄历速查,来选择适合的日子,还可以进行星座的查询,轻松解读星座运势,非常的方便。有需要的朋友就来下载试一试吧!专业的日历app,这款工具非常的专业,让你不会忘记了
网络营销策划方案怎么做
网络营销策划方案的关键步骤包括:,,1. 确定目标与定位:明确营销目标,如提高品牌知名度、增加销售额等,并确定目标受众。,,2. 市场分析:研究行业趋势、竞争对手及目标受众需求,以便制定有效的策略。,,3. 制定策略:根据市场分析
相关文章
推荐文章
发表评论
0评