Apache 安全加固
Apache 简单介绍
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
1、主要特点
开放源代码、跨平台应用
支持多种网页编程语言
模块化设计 、运行稳定、良好的安全性
2、主要目录和文件
服务目录:/etc/httpd/
主配置文件:/etc/httpd/conf/httpd.conf
网页目录:/var/www/html/
服务脚本:/etc/init.d/httpd
执行程序:/usr/sbin/httpd
记录apache的所有的日志:/etc/httpd/log
访问日志:/var/log/httpd/access_log
错误日志:/var/log/httpd/error_log
3、常用的全局配置参数
ServerRoot:服务目录
ServerAdmin:管理员邮箱
User:运行服务的用户身份
Group:运行服务的组身份
ServerName:网站服务器的域名
DocumentRoot:网页文档的根目录
Listen:监听的IP地址、端口号
PidFile:保存httpd进程PID号的文件
DirectoryIndex:默认的索引页文件
ErrorLog:错误日志文件的位置
CustomLog:访问日志文件的位置
LogLevel:记录日志的级别,默认为warn
Timeout:网络连接超时,默认为300秒
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多请求文件数
KeepAliveTimeout:保持连接状态时的超时时间
Include:需要包含进来的其他配置文件
Apache 的安全设置与加固
1、账号设置
Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它将给系统的安全构成很大的威胁
2、授权设置
严格控制Apache主目录的访问权限,非超级用户不能修改该目录中的内容。
3、日志设置
设备应配置日志功能,对运行错误、用户访问等进行记录,记录内容包括时间,用户使用的IP 地址等内容。
4、隐藏Apache 版本信息
默认的服务器HTTP响应头会包含apache 版本号。详细的版本号容易遭到黑客的攻击。
5、修改Apache默认首页
访问Apache服务器时,默认是直接访问htdocs目录下的index.html,根据实际情况修改默认文件
6、禁止目录浏览
目录浏览会导致信息泄露或者文件下载,因此可以根据实际情况进行安全配置。
7、限制目录执行权限
禁止 网站uploads 文件夹下的php ,asp 脚本的运行
8、禁止访问外部文件
禁止apache 访问 web 目录之外的任何文件
9、删除缺省安装的无用文件
10、自定义错误页面
设置Apache 错误页面重定向功能防止敏感信息的泄露。
11、更改默认端口
根据实际需要,可更改默认端口,减少攻击
12、 关闭 TRACE 功能
13、禁用 CGI
如果服务器不需要运行CGI 程序,建议禁用CGI。
14、限制IP访问
15、限制请求消息长度
16、CC攻击 的防御
根据实际需要,合理设置session 时间,防止拒绝服务攻击
17、DDos攻击 的防御
在现实中,不可能完全阻止网站免受DdoS的攻击。 因此可以通过一些安全配置进行防御和强化。
TimeOut:指令用于设置在特定事件失效之前,服务器等待事件完成的时间长度。其默认值是300秒。对于容易遭受DDoS攻击的网站,把这个值降低很有好处。这个值的大小取决于网站上的请求种类。注意,对于某些CGI脚本,这个设置可能会产生问题。
MaxClients:此指令允许用户设置服务器可同时服务的连接限制。每一个新连接都要根据这个限制进行排队。它适用丁Prefork和Worker.其默认值为256.
KeepAliveTimeout:在关闭连接之前,服务器随后的等待时间长度,默认值부5秒。
LimitRequestFields:这个设置可以帮助我们限制可以接受的HTTP请求的头部字段数量。从默认值为100。有时,由于http的请求头部过多而导致发生DDoS攻击,用户不妨降低这个值。
LimitRequestFieldSize:帮助我们设置HTTP请求头部的大小。
18、禁用非法HTTP 方法
根据实际情况,如果没有用到put delete 等危险http方法,可配置文件来禁用它。
Order Allow,Deny Deny from all
19、使用mod_security和mod_evasive 来保障Apache的安全
mod_security 和 mod_evasive 是Apache在安全方面非常流行的两个模块。mod_security作为防火墙而运行,它允许我们适时地监视通信,还可以有助于我们保护网站或Web服务器免受暴力破解攻击。借助默认的包安装程序,我们可以轻松地把mod_security安装在服务器上。
另一个模块mod_evasive的工作效率很高,它只采用一个请求就可以很好地工作,可以防止DDoS攻击造成巨大危害。mod_evasive可以应对http暴力破解攻击和DoS(或DDoS)攻击。 该模块可以在三种情况下检测攻击:
20、使用ssl 证书保障apache 的安全
使用SSL证书用加密的方式保障信息传输的安全。
最后更新于
这有帮助吗?