apache 基线安全加固操作

本文档适用于Apache服务器。本规范明确了Apache服务器安全配置方面的基本要求。

  1. 账号管理、认证授权   ELK-Apache-01-01-01

编号

ELK-Apache-01-01-01

名称

以特定用户运行服务

实施目的

以特定用户运行服务,不要使用系统管理员账号启动APACHE

问题影响

越权使用造成非法攻击。

系统当前状态

# ps -aux | grep httpd | grep -v grep

# ls -al `which apachectl`

# apachectl –V | grep SERVER_CONFIG

Solaris用ps -ef代替ps -aux查看当前进程

实施步骤

一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。通过修改httpd.conf文件中的下列选项,以Nobody用户运行Apache 达到相对安全的目的。

备份httpd.conf文件

修改:

User nobody

Group# -1

重启APACHE

./apachectl restart

回退方案

恢复httpd.conf文件,重启APACHE

判断依据

判断是否漏洞。

实施风险

重要等级

★★★

 ELK-Apache-01-01-02

编号

ELK-Apache-01-01-02

名称

ServerRoot目录的权限

实施目的

非超级用户不能修改该目录中的内容

问题影响

非法修改

系统当前状态

# ls –al /usr/local/apache

实施步骤

为了确保所有的配置是适当的和安全的,需要严格控制Apache 主目录的访问权限,使非超级用户不能修改该目录中的内容。Apache 的主目录对应于Apache Server配置文件httpd.conf的Server Root控制项中,应为:

Server Root /usr/local/apache

回退方案

恢复目录权限

判断依据

尝试修改,看是否能修改。

实施风险

重要等级

★★

备注

 ELK-Apache-01-01-03

编号

ELK-Apache-01-01-03

名称

控制哪些主机能够访问服务器的一个区域

实施目的

防止恶意攻击

问题影响

非法访问

系统当前状态

Cat httpd.conf

实施步骤

如果你只想让某个网段或者某个IP接入,你可以在apache配置文件中强制实行。
如:你想限制你的intranet,只能被176.16.网段接入:
Order Deny,Allow
Deny from all
Allow from 176.16.0.0/16

Or by IP:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

备注:

详细请参考:

http://www.souzz.net/online/ApacheManual/mod/mod_access.html

回退方案

恢复原始状态。

判断依据

尝试非法访问。

实施风险

重要等级

★★

备注

​​​​​​​ ELK-Apache-01-01-04

编号

ELK-Apache-01-01-04

名称

禁止访问外部文件

实施目的

禁止Apache访问Web目录之外的任何文件。的IP地址等内容。

问题影响

非法访问,恶意攻击。

系统当前状态

Cat httpd.conf

实施步骤

1、参考配置操作

编辑httpd.conf配置文件,

<Directory />

Order Deny,Allow

Deny from all

</Directory>

2、补充操作说明

设置可访问目录,

<Directory /web>

Order Allow,Deny

Allow from all

</Directory>

其中/web为网站根目录。

回退方案

恢复原始状态。

判断依据

1、判定条件

无法访问Web目录之外的文件。

2、检测操作

访问服务器上不属于Web目录的一个文件,结果应无法显示。

实施风险

重要等级

★★★

备注

​​​​​​​ ELK-Apache-01-01-05

编号

ELK-Apache-01-01-05

名称

目录列表访问限制

实施目的

禁止Apache列表显示文件。

问题影响

恶意攻击。

系统当前状态

查看 httpd.conf文件,查看Options FollowSymLinks是否与原来相同。

实施步骤

1、参考配置操作

(1) 编辑httpd.conf配置文件,
<Directory "/web">

Options FollowSymLinks    

AllowOverride None    

Order allow,deny

Allow from all

</Directory>
将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止 Apache 显示该目录结构。Indexes 的作用就是当该目录下没有 index.html文件时,就显示目录结构。

 (2)设置Apache的默认页面,编辑%apache%\conf\httpd.conf配置文件,

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

其中index.html即为默认页面,可根据情况改为其它文件。

(3)重新启动Apache服务

回退方案

恢复原始状态。

判断依据

1、判定条件

当WEB目录中没有默认首页如index.html文件时,不会列出目录内容

2、检测操作

直接访问http://ip:8800/xxx(xxx为某一目录)

实施风险

重要等级

备注

日志配置 ELK-Apache-02-01-01

编号

ELK-Apache-02-01-01

名称

审核登陆

实施目的

对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的IP地址等内容。

问题影响

非法访问,恶意攻击。

系统当前状态

查看httpd.conf文件中的 ErrorLog 、LogFormat(cat httpd.conf | grep ErrorLog)

查看ErrorLog 指定的日志文件如 logs/error_log中的内容是否完整(cat logs/error_log)

实施步骤

1、参考配置操作

编辑httpd.conf配置文件,设置日志记录文件、记录内容、记录格式。

LogLevel notice

ErrorLog logs/error_log

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Accept}i\" \"%{Referer}i\" \"%{User-Agent}i\"" combined

CustomLog logs/access_log combined

ErrorLog指令设置错误日志文件名和位置。错误日志是最重要的日志文件,Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误。若要将错误日志送到Syslog,则设置:ErrorLog syslog。

CustomLog指令设置访问日志的文件名和位置。访问日志中会记录服务器所处理的所有请求。

LogFormat设置日志格式。LogLevel用于调整记录在错误日志中的信息的详细程度,建议设置为notice。

回退方案

恢复原始状态。

判断依据

查看logs目录中相关日志文件内容,记录完整。

实施风险

重要等级

★★

备注

通信协议 ELK-Apache-03-01-01

编号

ELK-Apache-03-01-01

名称

更改默认端口

实施目的

更改Apache服务器默认端口,防止非法访问。

问题影响

恶意攻击。

系统当前状态

查看 httpd.conf文件,查看端口是否与原来相同。

实施步骤

1、参考配置操作

(1)修改httpd.conf配置文件,更改默认端口到8080

 Listen x.x.x.x:8080

(2)重启Apache服务

回退方案

恢复原始状态。

判断依据

1、判定条件

使用8080端口登陆页面成功

2、检测操作

登陆http://ip:8080

实施风险

重要等级

备注

设备其他安全要求 ELK-Apache-04-01-01

编号

ELK-Apache-04-01-01

名称

补丁修复

实施目的

升级APACHE修复漏洞

问题影响

容易引起恶意攻击。

系统当前状态

查看版本

Linux : apachectl -V

实施步骤

到 www.apache.org 下载新版本的APACHE

回退方案

升级补丁的风险极高,必须在万无一失的条件下升级,如当前版本没有漏洞不建议升级

判断依据

判断是否漏洞。

实施风险

重要等级

★★★

备注

​​​​​​​ ELK-Apache-04-01-02

编号

ELK-Apache-04-01-02

名称

禁用Apache Server 中的执行功能

实施目的

避免用户直接执行Apache 服务器中的执行程序,而造成服务器系统的公开化。

问题影响

越权使用造成非法攻击。

系统当前状态

# ls -al `which apachectl`

# apachectl –V | grep SERVER_CONFIG

实施步骤

在配置文件access.conf 或httpd.conf中的Options指令处加入Includes NO EXEC选项,用以禁用Apache Server 中的执行功能。避免用户直接执行Apache 服务器中的执行程序,而造成服务器系统的公开化。

备份access.conf 或httpd.conf文件

修改:

Options Includes Noexec

回退方案

恢复access.conf  和 httpd.conf文件,重启APACHE

判断依据

看是否禁用了 Apache Server

实施风险

重要等级

​​​​​​​ ELK-Apache-04-01-03

编号

ELK-Apache-04-01-03

名称

隐藏Apache的版本号及其它敏感信息

实施目的

隐藏Apache的版本号及其它敏感信息

问题影响

越权使用造成非法攻击。

系统当前状态

# ls -al `which apachectl`

# apachectl –V | grep SERVER_CONFIG

实施步骤

默认情况下,很多Apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的Apache模块。这些信息可以为黑客所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。

  添加到你的httpd.conf文件中:

ServerSignature Off
ServerTokens Prod

补充说明:
ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:
Server:Apache

  也可以通过源代码和安全模块进行修改

回退方案

将备份的httpd.conf文件恢复,重新启动APACHE

判断依据

访问看是否给隐藏了。

实施风险

重要等级

​​​​​​​ELK-Apache-04-01-04

编号

ELK-Apache-04-01-04

名称

Apache 413错误页面跨站脚本漏洞修复

实施目的

修复Apache HTTP Server处理畸形用户请求时存在漏洞

问题影响

远程攻击者可能利用此漏洞获取脚本源

系统当前状态

Cat httpd.conf

实施步骤

Apache HTTP Server处理畸形用户请求时存在漏洞,远程攻击者可能利用此漏洞获取脚本源码。

向Apache配置文件httpd.conf添加ErrorDocument 413语句禁用默认的413错误页面。

回退方案

恢复原始状态。

判断依据

警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
请求:
GET / HTTP/1.1
Host: <BADCHARS>
Connection: close
Content-length: -1
[LF]
[LF]

实施风险

重要等级

★★★

备注

​​​​​​​ ELK-Apache-04-01-05

编号

ELK-Apache-04-01-05

名称

限制请求消息长度

实施目的

限制http请求的消息主体的大小。

问题影响

恶意攻击。

系统当前状态

Cat httpd.conf文件,看是否与原来相同。

实施步骤

1、参考配置操作

编辑httpd.conf配置文件,修改为102400Byte

LimitRequestBody 102400

回退方案

恢复原始状态。

判断依据

1、判定条件

检查配置文件设置。

2、检测操作

上传文件超过100K将报错。

实施风险

重要等级

备注

​​​​​​​ ELK-Apache-04-01-06

编号

ELK-Apache-04-01-06

名称

错误页面处理

实施目的

Apache错误页面重定向。

问题影响

恶意攻击。

系统当前状态

查看 httpd.conf文件,查看ErrorDocument文件是否与修改前相同。

实施步骤

1、参考配置操作

(1) 修改httpd.conf配置文件:
ErrorDocument 400 /custom400.html

ErrorDocument 401 /custom401.html

ErrorDocument 403 /custom403.html

ErrorDocument 404 /custom404.html

ErrorDocument 405 /custom405.html

ErrorDocument 500 /custom500.html

Customxxx.html为要设置的错误页面。

(2)重新启动Apache服务

回退方案

恢复原始状态。

判断依据

1、判定条件

指向指定错误页面

2、检测操作

URL地址栏中输入http://ip/xxxxxxx~~~(一个不存在的页面)

实施风险

重要等级

备注

​​​​​​​ELK-Apache-04-01-07

编号

ELK-Apache-04-01-07

名称

拒绝服务防范

实施目的

防止恶意攻击

问题影响

恶意攻击。

系统当前状态

查看 httpd.conf文件,查看Timeout等文件是否与原来相同。

实施步骤

1、参考配置操作

(1) 编辑httpd.conf配置文件,
Timeout 10 KeepAlive On

KeepAliveTimeout 15

AcceptFilter http data

AcceptFilter https data

 (2)重新启动Apache服务

回退方案

恢复原始状态。

判断依据

1、判定条件

2、检测操作

检查配置文件是否设置。

实施风险

重要等级

备注

​​​​​​​​​​​​​​ ELK-Apache-04-01-08

编号

ELK-Apache-04-01-08

名称

删除缺省安装的无用文件

实施目的

防止恶意攻击

问题影响

恶意攻击。

系统当前状态

查看缺省的的HTML文件是否与原来相同。

实施步骤

1、参考配置操作

删除缺省HTML文件:

# rm -rf /usr/local/apache2/htdocs/*

删除缺省的CGI脚本:

# rm –rf /usr/local/apache2/cgi-bin/*

删除Apache说明文件:

# rm –rf /usr/local/apache2/manual

删除源代码文件:

# rm -rf /path/to/httpd-2.2.4*

根据安装步骤不同和版本不同,某些目录或文件可能不存在或位置不同。

回退方案

恢复原始状态。

判断依据

1、判定条件

2、检测操作

检查对应目录。

实施风险

重要等级

备注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kotlin--1.基础语法

目录 一.概念 二.基本语法 1.入门案例 2.变量声明 3.数据类型 4.字符串 (1)访问字符串 (2)字符串长度 (3)字符串函数 (4)比较字符串 (5)在字符串中查找字符串 (6)字符串模板 5.if-else 6.when 7.数组 8.范围 三.函数 1.实例 2.多个参数 3.返回值 一.概念 Kot…

客服中心的客户关系管理核心功能

根据国外的调查&#xff0c;拥有客服中心的运营机构&#xff0c;可以保持85%左右的客户忠诚度&#xff0c;而接受过专业培训的客户中心可以将客户忠诚度提高到99%。客服中心作为客户关系管理的前沿&#xff0c;通过提供服务、实时沟通、搜集与分析客户信息、预测客户需求来提升…

数据结构与算法-生成树与最小生成树

生成树与最小生成树 &#x1f388;1.生成树与最小生成树&#x1f52d;1.1生成树与最小生成树的概念&#x1f52d;1.2最小生成树的生成准则&#x1f52d;1.3两种最小生成树算法&#x1f3c6;1.3.1Kruskal算法&#x1f3c6;1.3.2Prim算法 &#x1f388;2.有向无环图及其应用&…

【如何学习Python自动化测试】—— 时间等待

3 、 时间等待 在做自动化测试时&#xff0c;难免会碰到一些问题&#xff0c;比如你在脚本中操作某个对象时&#xff0c; 页面还没有加载出来&#xff0c;你的操作语句已经被执行&#xff0c;从而导致脚本执行失败&#xff0c;针对这样的问题 webdriver 提供了等待操作&#xf…

virtuoso 后仿 ADE L error

ADE后仿时出现error ERROR (SFE-23): "input.scs" 299: The instance _57_D32_noxref is referencing an undefined model or subcircuit, parasitic_nwd. Either include the file containing the definition of parasitic_nwd, or define parasitic_nwd before run…

Java MVC亚马逊网站的仿制JSP+JavaBean+Servlet+DB

系统总体要求 1. 网站中必须包含用户登录&#xff0c;查看产品列表&#xff0c;增加产品信息&#xff0c;修改产品信息&#xff0c;和查看产品详细信息的功能&#xff1b;对于列表页面&#xff0c;要求要实现分页功能&#xff0c;产品数目不少于20条&#xff0c;每页8条记录 2…

Redis学习笔记15:基于spring data redis及lua脚本发送到redis服务器多久过期

在Redis服务器中&#xff0c;通过SCRIPT LOAD命令加载的脚本会被缓存&#xff0c;并且会一直保存在缓存中&#xff0c;直到服务器重启或者使用SCRIPT FLUSH名利手动清空缓存。 一个对springboot redis框架进行重写&#xff0c;支持lettuce、jedis、连接池、同时连接多个集群、多…

Frida 安装使用

Frida 使用 1&#xff1a;安装 查看安装版本 frida --version 16.0.2&#xff08;这是我自己安装的版本&#xff0c;目前最新是16.1.17&#xff09; 安装 pip install frida pip install frida-tools2&#xff1a;frida-server https://github.com/frida/frida/releases 下…

iTerm2+oh-my-zsh搭个Mac电脑上好用好看终端

根据苹果网站上介绍&#xff0c;bash是 macOS Mojave 及更早版本中的默认Shell&#xff0c;从 macOS Catalina 开始&#xff0c;zsh(Z shell) 是所有新建用户帐户的默认Shell。 1. 安装Oh my zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzs…

Java学习笔记43——函数式接口

函数式接口 函数式接口函数式接口概述函数式接口作为方法的参数函数式接口作为方法的返回值 常用的函数式接口Supplier接口Comsumer接口Predicate接口Function接口 函数式接口 函数式接口概述 有且仅有一个抽象方法的接口 是lambda表达式的前提 需要注意的是 默认方法不是抽…

选择java商城开发商需要注意哪些方面?

Java商城开发是一项庞大而复杂的任务&#xff0c;选择一家合适的开发商至关重要。那么&#xff0c;我们在选择Java商城开发商时&#xff0c;需要注意哪些方面呢&#xff1f; 1、专业经验 选择具有丰富经验的开发商是至关重要的。开发商应该拥有多年的Java开发经验&#xff0c;…

代码随想录算法训练营第13天|● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结

239. 滑动窗口最大值 困难 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a;nums [1,…

【MATLAB源码-第82期】基于matlab的OFDM系统载波频移偏差(CFO)估计,对比三种不同的方法。

操作环境&#xff1a; MATLAB 2013b 1、算法描述 正交频分复用&#xff08;OFDM&#xff09;系统中的载波频率偏移&#xff08;CFO&#xff09;估计是一项关键技术&#xff0c;用于确保数据传输的准确性和效率。CFO通常由于振荡器频率不匹配和多普勒频移引起。不同的CFO估计…

DP1332E/DP1363F国产多协议NFC读写器芯片支持ISO15693/ISO18092

目录 ISO/IEC 15693与ISO/IEC 18092协议标准差异DP1363F与DP1332E对比共同点主要差异点 ISO/IEC 15693与ISO/IEC 18092协议标准差异 ISO/IEC 15693是用于近距离无线通信中的射频识别&#xff08;RFID&#xff09;技术的标准协议&#xff0c;它定义了与读写器之间的通信协议。这…

LeetCode热题100——图论

图论 1. 岛屿的数量2. 腐烂的橘子 1. 岛屿的数量 给你一个由 ‘1’&#xff08;陆地&#xff09;和 ‘0’&#xff08;水&#xff09;组成的的二维网格&#xff0c;请你计算网格中岛屿的数量。岛屿总是被水包围&#xff0c;并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆…

鸿蒙为什么使用typescript 作为开发语言 而不是 flutter 或者 kotlin

猜想如下 dev studio 是基于 idea 二次开发的 &#xff0c;使用kotlin 应该是更合理 变成 jetbrain 全家桶&#xff0c; 但是 现在android 开发也是kotlin 是不是为了做分割 &#xff0c;所以不使用kotlin flutter 是谷歌的 安卓也是谷歌的 所以不采用 typescript 是微软的…

力扣:168. Excel表列名称(Python3)

题目&#xff1a; 给你一个整数 columnNumber &#xff0c;返回它在 Excel 表中相对应的列名称。 例如&#xff1a; A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;力扣&…

达梦数据库如何查看索引和表的DDL

1&#xff09;查看索引DDL&#xff0c;先查看索引的objectID,再查询该objectid的DDL SQL> select * from dba_objects where object_nameIDX_INTERFACE_DATA_SYNC_FLAG; LINEID OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_T…

微信、支付宝、携程等多款app任意文件读取漏洞

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 一、漏洞描述 微信、支付宝、小米浏览器、携程应用等国内主流软件均存…

C编译环境和预处理(非常详细,建议收藏)

C编译环境和预处理&#xff08;非常详细&#xff0c;建议收藏&#xff09; 一、程序的翻译环境和执行环境二、 详解编译链接2.1 翻译环境2.2 编译本身的几个阶段符号汇总、符号表、合并段表、符号表的合并和重定位分别是什么&#xff1f; 2.2 运行环境 三、预处理详解3.1 预定义…