应急加固(apache中间件)

Apache中间件安全加固实验

【实验目的】

通过本实验,使学生掌握对Apache中间件进行安全加固的方法。

【知识点】

  • 知识点:Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,是最流行的Web服务器端软件之一。它不仅快速可靠,而且可以通过简单的API扩展将Perl/Python等解释器编译到服务器中。

【实验原理】

通过对Apache进行安全加固,减少Apache系统自身的脆弱性,提高抵御攻击的能力。

【软件工具】

  • 操作系统:CentOS 7 x64
  • 中间件:Apache/2.4.6

【实验目标】

对Apache进行安全加固。

【实验步骤】

登录操作系统,用户名/口令:root/123456。

1.防信息泄漏

(1)隐藏Apache版本信息

加固要求:当前客户端访问Apache时可以看到Apache的版本信息,要求禁止显示Apache软件的版本信息。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //编辑配置文件

在文件末尾加入ServerSignature Off、ServerTokens Prod。

保存退出。

复制代码
systemctl restart httpd  //重启服务

隐藏Apache版本信息

(2)禁止显示目录列表

加固要求:Apache当前启用了目录浏览功能,允许用户查看服务器上Web目录中的文件列表,要求禁止该功能。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //编辑配置文件

找到Options Indexes FollowSymLinks,删除Indexes。

保存退出。

复制代码
systemctl restart httpd  //重启服务

无法访问Web应用的某个确定存在的目录

(3)自定义错误页面

加固要求:Apache默认的错误页面中暴露了服务器的相关信息,要求在发生403、404、500错误时,向浏览器返回自定义的错误消息。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //编辑配置文件

注释掉现有的ErrorDocument行,并加入下面的行:

ErrorDocument 403 "/error.html"

ErrorDocument 404 "/error.html"

ErrorDocument 500 "/error.html"

保存退出。

复制代码
cd /var/www/html

echo "Error Finding Resources." > error.html  //创建文件

systemctl restart httpd  //重启服务

访问不存在的页面

2.减小受攻击面

(1)删除无用的文件

加固要求:删除Apache自带的手册和cgi程序。

加固方法:

复制代码
rm -rf /usr/share/httpd/manual

rm -rf /var/www/cgi-bin/*

确认资源是否存在

(2)禁用TRACE方法

加固要求:禁用TRACE方法。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //编辑配置文件

在文件末尾加入TraceEnable Off。

保存退出。

复制代码
systemctl restart httpd  //重启服务

查看允许的HTTP 方法

(3)修改监听端口

加固要求:将Apache默认监听的80端口修改为38926。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //修改配置文件

将Listen 80改为Listen 38926。

保存退出。

复制代码
systemctl restart httpd  //重启服务

查看httpd进程监听的端口

(4)限制客户端源地址

加固要求:对访问Apache Web服务的客户端地址进行限制,只允许192.168.1.0/24网段访问。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //编辑配置文件

加入加粗部分

复制代码
<Directory "/var/www/html">


AllowOverride None

Order Deny,Allow

Deny From all

Allow From 192.168.1.0/255.255.255.0


</Directory>

保存退出。

注意:Order Deny,Allow指令在这里必须是先拒绝后允许。

3.启用安全功能

(1)启用访问日志和错误日志

加固要求:Apache服务当前未启用访问日志和错误日志功能,要求启用这两个日志功能。

加固方法:

复制代码
vi /etc/httpd/conf/httpd.conf  //编辑配置文件

取消下面两行的注释:

复制代码
CustomLog "logs/access_log" combined

ErrorLog "logs/error_log"

保存退出。

查看是否存在访问日志文件和错误日志文件

(2)为配置文件和日志文件设置严格的权限

加固要求:严格限制Apache主配置文件和日志文件的权限,禁止这些文件的属主、属组之外的用户访问。

加固方法:

复制代码
chmod o-rwx /etc/httpd/conf/httpd.conf

chmod o-rwx /var/log/httpd/*
相关推荐
青山木1 小时前
RocketMQ 入门到原理(三):消息存储原理
java·后端·中间件·架构·rocketmq
青山木1 天前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq
StevenSurpass2 天前
打印业务彻底解耦:FastPrintAgent 统一 JSON 模型 + FastReport 引擎的设计与落地
mqtt·http·中间件·打印·fastreport
avi91112 天前
无厘头 -- 基于vue 公用状态机,已用于放置类篮球卡牌Game
中间件·vue·公用状态·文件间通信
2401_868534783 天前
网络安全法规
安全·中间件
JIngles1234 天前
用 Dart 通过 S3 API 操作 MinIO:文件上传与下载 Demo
中间件·minio·存储
爱和冰阔落5 天前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
weixin199701080165 天前
《跨境二手ERP的3种对接模式:自研API / SaaS中间件 / 平台认证服务商,怎么选?》(附Python源码)
开发语言·python·中间件
网络豆6 天前
Apache Maven 鸿蒙 PC 适配全记录:把 JVM 构建工具交付到 HiShell
maven·apache·harmonyos
网络豆6 天前
Apache Hive 鸿蒙 PC 适配全记录:以 Qt 客户端打通 HiveQL、监控与元数据访问
hive·apache·harmonyos