应急加固(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/*
相关推荐
Embedded-Xin15 小时前
中间件学习-Iceoryx2零基础入门
学习·中间件
Embedded-Xin15 小时前
中间件—zenoh零基础入门
linux·中间件·rust·机器人·自动驾驶·嵌入式
行业研究员2 天前
腾讯位置服务核心功能与应用场景解析
apache·lbs·腾讯位置服务
SeaTunnel4 天前
Apache SeaTunnel 提交一个任务都经过了什么?
java·大数据·服务器·apache·etl·seatunnel
ThsPool6 天前
【ENVI二次开发学习整理 02】IDL语言基础与程序设计
学习·中间件
程序员良辰6 天前
【TongWeb7】启动接近两分钟问题排查
java·开发语言·中间件
SelectDB6 天前
基于 Apache Doris 搭建 RAG 系统:从基础 RAG 到知识图谱增强的完整实现与选型指南
apache
SelectDB6 天前
SelectDB Enterprise 4.0.5:企业级实时分析与 AI 数据底座怎么选?安全合规配置指南
apache
隔窗听雨眠7 天前
80TB电商数据迁移实录:从PostgreSQL分析困境到Apache Doris架构突围
postgresql·架构·apache
lsh曙光7 天前
Apache服务
apache