Apache十四项安全加固标准配置

最近检查服务器安全性,根据阿里云标准-Apache安全基线检查,整理了一份Apache安全配置规范,分享给各位。

一、确保对OS根目录禁用覆盖 | 访问控制
描述

通过禁止访问OS根目录,限制直接访问服务器内部文件的行为使得运行web的服务器更加安全

检查提示

配置文件路径 /etc/httpd/conf/httpd.conf

加固建议

找到配置文件路径。 通过vim path(path为主配置文件的绝对路径) 在配置文件中 找到以<Directory />开头的配置项,按如下配置

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

操作时建议做好记录或备份

二、确保默认情况下拒绝访问OS根目录 | 访问控制
描述

当AllowOverride设置为None时,.htaccess文件不具有访问上下文权限。当此指令设置为All时,任何具有.htaccess .htaccess文件中允许使用上下文。开启时增加了更改或查看配置的风险意外或恶意的.htaccess文件不当使用

检查提示

配置文件路径::/etc/httpd/conf/httpd.conf

加固建议

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

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

如没有,请增加。操作时建议做好记录或备份

三、确保错误日志文件名和严重性级别配置正确 | 配置日志
描述

服务器错误日志非常宝贵,因为它们可用于发现潜在问题在他们变得认真之前。 最重要的是,它们可以用来监视异常行为,例如许多“未找到”或“未经授权”的错误,可能表明攻击即将发生或已经发生。

检查提示

配置文件路径::/etc/httpd/conf/httpd.conf

加固建议

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

操作时建议做好记录或备份

四、确保超时设置正确 | 入侵防范
描述

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

检查提示

配置文件路径/etc/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 如没有,请增加

操作时建议做好记录或备份

五、确保限制对apache目录和文件的其他写访问 | 文件权限
描述

Apache目录上的权限应为rwxr-xr-x(755)和文件权限应相似,除非适当,否则不可执行。 这适用于所有已安装的Apache软件目录和文件

加固建议

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

操作时建议做好记录或备份

六、确保禁用http跟踪方法 | 服务配置
描述

TRACE方法不需要,并且很容易受到滥用,因此应该将其禁用。

加固建议

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

操作时建议做好记录或备份

七、隐藏 Apache 的版本号及其它敏感信息确保未启用服务器签名不存在或者off | 个人信息保护
描述

服务器签名在服务器充当代理时很有用,因为它们有助于用户将错误与代理而非目标服务器区分开。 但是,在这个在上下文中,显得很鸡肋,而且存在被识别的可能

加固建议

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

操作时建议做好记录或备份

八、确保Web根目录的选项受到限制 禁止 Apache 列表显示文件 | 数据保密性
描述

Web根目录或文档根目录级别的Options指令应限于所需的最少选项。 强烈建议设置为“无”。 但是,在这个水平上如果支持多种语言,则可能出现问题。 如没有此类需要,需启动

加固建议

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>

操作时建议做好记录或备份

九、确保apache用户帐户具有无效的shell | 身份鉴别
描述

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

加固建议

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

操作时建议做好记录或备份

十、确保已锁定apache用户帐户 | 身份鉴别
描述

Apache运行下的用户帐户不应该有一个有效的密码,而应该被锁住。作为深度防御措施,应该锁定Apache用户帐户以防止登录并防止用户使用该密码诉诸于Apache。 一般而言,su不能当作apache账户,在必要时应使用sudo。这样将不需要apache的帐户密码。

加固建议

使用如下passwd命令锁定apache帐户: passwd -l <apache_username>或者usermod -L <apache_username> <apache_username>为apache的启动账户(可以使用命令ps -ef | egrep "apache2|httpd"查看<apache_username>)

操作时建议做好记录或备份

十一、配置专门用户账号和组用于运行 Apache | 身份鉴别
描述

为服务器应用程序创建一个唯一的,没有特权的用户和组.有效的减少了运行web服务时遭受攻击的可能性

加固建议

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

操作时建议做好记录或备份

十二、确保keepAlive已启用 | 服务配置
描述

允许每个客户端重用TCP套接字,减少了系统和网络的数量
服务请求所需的资源。 这种效率提高可以提高服务器对DoS攻击的抵御性

加固建议

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

操作时建议做好记录或备份

十三、确保MaxKeepAliveRequests设置为适当值 | 入侵防范
描述

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

加固建议

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

操作时建议做好记录或备份

十四、确保正确设置KeepAliveTimeout | 入侵防范
描述

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

加固建议

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

操作时建议做好记录或备份

原文链接:https://blog.csdn.net/chaishen10000/article/details/106103647

分享到:更多 ()

抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址