Loading

Apache安全加固

1.确保Web根目录的选项受到限制 禁止 Apache 列表显示文件
描述
Web根目录或文档根目录级别的Options指令应限于所需的最少选项。 强烈建议设置为“无”。 但是,在这个水平上如果支持多种语言,则可能出现问题。 如没有此类需要,需启动

检查提示
配置文件路径::/data/app/httpd/conf/httpd.conf

加固建议
1.使用 vim path (path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)
2.找到<Directory "apache网页存放路径">(默认网页存放路径/usr/local/apache2或/var/www/html,自定义路径请自行查找)
<Directory "apache存放网页路径"> Options Indexes FollowSymLinks </Directory>

将其设置为 Options None 如配置虚拟主机,请确保虚拟主机配置项中含有Options None 如没有,请增加 <Directory "apache存放网页路径"> Options None </Directory>

2.确保正确设置KeepAliveTimeout
描述
KeepAliveTimeout指令指定Apache等待等待的秒数在关闭保持活动的连接之前的后续请求。减少Apache HTTP服务器保留未使用资源的秒数分配的资源将增加服务其他请求的资源的可用性。 这个效率收益可能会提高服务器抵御DoS攻击的能力。

加固建议
1.使用vim编辑器对配置文件进行编辑 vim path(path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)
2.找到KeepAliveTimeout将其设置为 KeepAliveTimeout 15 如没有,请增加

3.确保MaxKeepAliveRequests设置为适当值
描述
MaxKeepAliveRequests指令限制每个连接允许的请求数打开KeepAlive时。 如果将其设置为0,则将允许无限制的请求。 推荐
将MaxKeepAliveRequests指令设置为100,以防患DoS攻击

检查提示
配置文件路径::/data/app/httpd/conf/httpd.conf

加固建议
1.使用vim编辑器对配置文件进行编辑 vim path (path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)
2.找到MaxKeepAliveRequests将其设置为 MaxKeepAliveRequests 100 如没有,请增加

4.确保超时设置正确
描述
DoS的一种常用技术,常见的是发起与服务器的连接。 通过减少
旧连接超时后,服务器可以更快,更多地释放资源反应灵敏。 通过提高服务器效率,它将对DoS攻击的抵御性更好

检查提示
配置文件路径::/data/app/httpd/conf/httpd.conf

加固建议
1.使用vim编辑器对配置文件进行编辑 vim path(path为apache配置文件路径例/usr/local/apache2/etc/httpd.conf或/etc/httpd/conf/httpd.conf或查找include文件或自定义安装请自行查找)
2.找到Timeout将其设置为Timeout 10 如没有,请增加

5.确保错误日志文件名和严重性级别配置正确
描述
服务器错误日志非常宝贵,因为它们可用于发现潜在问题
在他们变得认真之前。 最重要的是,它们可以用来监视异常
行为,例如许多“未找到”或“未经授权”的错误,可能表明
攻击即将发生或已经发生。

检查提示
配置文件路径::/data/app/httpd/conf/httpd.conf

加固建议
1.使用vim编辑器对配置文件进行编辑 vim path (path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)
2.找到LogLevel 将其设置为LogLevel notice
3.找到ErrorLog 建议设置为ErrorLog "logs/error_log"或自定义路径 如没有,请增加

6.确保默认情况下拒绝访问OS根目录
描述
当AllowOverride设置为None时,.htaccess文件不具有访问上下文权限。当此指令设置为All时,任何具有.htaccess .htaccess文件中允许使用上下文。开启时增加了更改或查看配置的风险
意外或恶意的.htaccess文件不当使用

检查提示
配置文件路径::/data/app/httpd/conf/httpd.conf

加固建议
找到配置文件路径。 通过vim path(path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)编辑配置文件 找到以<Directory />开头的配置项,按如下配置

<Directory />
  ...
  Require all denied
   ...
</Directory>

如没有,请增加

7.确保对OS根目录禁用覆盖
描述
通过禁止访问OS根目录,限制直接访问服务器内部文件的行为
使得运行web的服务器更加安全

检查提示
配置文件路径::/data/app/httpd/conf/httpd.conf

加固建议
找到配置文件路径。 通过vim path(path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径) 在配置文件中 找到以<Directory />开头的配置项,按如下配置

<Directory />
  ...
  AllowOverride None
   ...
</Directory>

8.配置专门用户账号和组用于运行 Apache
描述
为服务器应用程序创建一个唯一的,没有特权的用户和组.有效的减少了运行web服务时遭受攻击的可能性

加固建议
确保apache帐户是唯一的,并且Apache组在apache的配置文件中配置。 请确认User apache Group apache 出现一次,且没有被注释。(如果没有,请添加)

9.确保apache用户帐户具有无效的shell
描述
apache帐户不得用作常规登录帐户,因此应为其分配一个
无效或nologin Shell,以确保无法用于登录。如果可以使用服务帐户(例如apache帐户)进行登录外壳到系统将会产生安全隐患。

加固建议
为确保apache用户帐户具有无效的shell,使用命令chsh -s /sbin/nologin <apache_username>修改apache账户的shell(可以使用命令ps -ef | egrep "apache2|httpd"查看<apache_username>

10.隐藏 Apache 的版本号及其它敏感信息确保未启用服务器签名不存在或者off
描述
服务器签名在服务器充当代理时很有用,因为它们有助于
用户将错误与代理而非目标服务器区分开。 但是,在这个
在上下文中,显得很鸡肋,而且存在被识别的可能

加固建议
1.使用vim编辑器对配置文件进行编辑 vim pathpath为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)
2.找到ServerSignature将其设置为ServerSignature Off 如没有,请增加

11.确保禁用http跟踪方法
描述
TRACE方法不需要,并且很容易受到滥用,因此应该将其禁用。

加固建议
1.vim path(path为主配置文件的绝对路径,如果您的主配置文件中包含include <path>,则<path>为您的子配置文件路径)
2.找到选项TraceEnable将其值设置为off 如没有请增加

12.确保限制对apache目录和文件的其他写访问
描述
Apache目录上的权限应为rwxr-xr-x(755)和文件
权限应相似,除非适当,否则不可执行。 这适用于所有
已安装的Apache软件目录和文件

加固建议
执行以下操作删除$ APACHE_PREFIX($ APACHE_PREFIX是apache的安装目录默认例/usr/local/apache2或/var/www/html如自定义请自行查找)目录上的其他写访问权限:chmod -R o-w $ APACHE_PREFIX

posted @ 2021-12-21 09:57  日行一善g  阅读(87)  评论(0编辑  收藏  举报