【Apache web服务器安全加固】

前言 

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将python等解释器编译到服务器中,对于apache服务的安全加固往往非常重要,以下简单的探讨apache常见的安全加固思路。

加固方法

一、账号设置

创建专用的apache服务的用户账号和组来运行apache及其服务组件。

如:groupadd apache      创建apache组

       useradd apache  -g apache 创建apache用户并将该用户加入到apache组中

       之后将 User apache  和Group apache 加入到apache的配置文件:httpd.conf中,并且检查httpd,conf配置文件是否使用非专用用户运行apache,默认一般符合要求,Linux下默认apache或者nobody用户,Unix默认为daemon用户。

二、授权设置

严格控制Apache主目录的访问权限,非超级用户不能修改该目录中的内容 ,Apache 的服务主目录对应于  配置文件 httpd.conf中的配置的服务主目录,并且我们应该修改httpd.conf中的配置文件使得只有root用户才能够修改apache服务主目录中,如:“Server Root /usr/local/apache”  。

一般主目录为/etc/httpd目录,默认情况下属主为root:root,其它用户不能修改文件,默认一般符合要求 严格设置配置文件和日志文件的权限,防止未授权访问。 方法:chmod 600 /etc/httpd/conf/httpd.conf”设置配置文件为属主可读写,其他用户无权限。 Ø 使用命令”chmod 644 /var/log/httpd/*.log”设置日志文件为属主可读写,其他用户只读权限。 Ø /etc/httpd/conf/httpd.conf默认权限是644,可根据需要修改权限为600。 Ø /var/log/httpd/*.log默认权限为644,默认一般符合要求。

三、日志设置

设备应配置日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的 IP 地址等内 容。编辑 httpd.conf 配置文件,设置日志记录文件、记录内容、记录 格式。 其中,错误日志配置可参考:

【Apache web服务器安全加固】_第1张图片

说明:ErrorLog 指令设置错误日志文件名和位置;错误日志是最重要的 日志文件,  Apache httpd 将在这个文件中存放诊断信息和处理请求中出现的错误。 若要将错误日志送到 Syslog,则设置: ErrorLog syslog。 CustomLog 指令指定了保存日志文件的具体位置以及日志的格式。访问日志中会记录服务器所处理的所有请求。 LogFormat 设置日志格式,建议设置为 combined 格式。  LogLevel 用于调整记录在错误日志中的信息的详细程度,建议设置为notice。 日志的级别,默认是warn,notice级别比较详细,在实际中由于日志会占用大量硬盘空间,一般没有设置 。

四、禁止访问外部文件

禁止apache访问web目录以外的文件,可配置:

【Apache web服务器安全加固】_第2张图片

 五、禁止目录列出

如果目录列出,极可能会导致信息泄露和下载,禁止apache列出目录配置httpd.conf文件:

【Apache web服务器安全加固】_第3张图片

将Options Indexes FollowSymLinks 中的 Indexes 去掉,就可以禁 止 Apache 显示该目录结构。 Indexes 的作用 就是当该目录下没 有 index.html 文件时,就显示目录结构。 重新启动 Apache 服务 ,可以设置 /etc/httpd/httpd.conf 段中删除Options的Indexes设置。

六、设置错误页面重定向

Apache 错误页面重定向功能防止敏感信息泄露 修改 httpd.conf 配置文件:

【Apache web服务器安全加固】_第4张图片

 七、拒绝服务防范

根据业务需要,合理设置 session 时间,能够防止拒绝服务攻击 Ø,编辑 httpd.conf 配置文件:

【Apache web服务器安全加固】_第5张图片

 默认Timeout 120 KeepAlive Off,KeepAliveTimeout 15,该项设置涉及服务器性能调整。

八、隐藏服务器的版本信息

一般情况下服务器在和浏览器简历连接后,进行网页数据交互时会携带服务器的版本信息,者极大的增加了服务器被攻击的风险,修改httpd.conf问价你可以避免服务器本版信息泄露:

【Apache web服务器安全加固】_第6张图片

 九、关闭服务器不常见的http请求方法

禁用PUT、DELETE等危险的http请求方法,编辑httpd.conf文件,设置白名单:

【Apache web服务器安全加固】_第7张图片

 十、其他

rm -rf /usr/local/apache2/htdocs/* 删除缺省安装的无用文件;

rm -rf /usr/local/apache2/cgi-bin/* 删除缺省的CGI脚本;

rm -rf /usr/local/apache2/manual 删除apache说明书;

rm -rf /path/to/httpd-2.2.4*  删除源码文件

你可能感兴趣的:(网络安全,安全,apache)