Apache防止攻击 【优化】

       关于linux下apache优化,自己在网上查了点资料,并实践了一下,感觉很好,特整理一下,供各位参考
 
为了防止恶意用户对 Apache 进行攻击,我们需要安装 mod_security 这个安全模块
mod_security 1.9.x 模块的下载与安装
下载地址: http://www.modsecurity.org/download/index.html
建议使用 1.9.x ,因为 2.x 的配置指令与 1.x 完全不同,解压后进入解压目录,执行:
/home/apache/bin/apxs -cia mod_security.c
编译完成后, /home/apache/modules 下会生成一个 mod_security.so 文件
然后 kate /home/apache/conf/httpd.conf
加入以下选项(如果没有的话)
# 启用 mod_security 这个安全模块
LoadModule security_module modules/mod_security.so (
这一句通常会被自动加入 )
# 打开过滤引擎开关。如果是 Off ,那么下面这些都不起作用了。
SecFilterEngine On
#
把设置传递给字目录
SecFilterInheritance Off
#
检查 url 编码
SecFilterCheckURLEncoding On
#
检测内容长度以避免堆溢出攻击
#SecFilterForceByteRange 32 126
#
日志的文件和位置。一定要先建立好目录,否则 apache 重新启动的时候会报错。
SecAuditLog logs/audit_log
# debug
的设置
#SecFilterDebugLog logs/modsec_debug_log
#SecFilterDebugLevel 1
#
当匹配 chmod,wget 等命令的时候 , 重新定向到一个特殊的页面 , 让攻击者知难而退
SecFilter chmod redirect:http://www.sina.com
SecFilter wget redirect:http://www.sina.com
#
检测 POST 数据,注意,请甚用这个开关,可能会导致一些 post 页面无法访问。详细的信息,请察看 www.modsecurity.org的文档,其中有详细的post编码要求。
#SecFilterScanPOST Off
#
缺省的动作
SecFilterDefaultAction “deny,log,status:406″
#
重新定向用户
#SecFilter xxx redirect:http://www.sina.com
#
防止操作系统关键词攻击
SecFilter /etc/*passwd
SecFilter /bin/*sh
#
防止 double dot 攻击
SecFilter “\.\./”
#
防止跨站脚本 (CSS) 攻击
SecFilter “<( |\n)*script”
# Prevent XSS atacks (HTML/Javascript injection)
SecFilter “<(.|\n)+>”
#
防止 sql 注入式攻击
SecFilter “delete[[:space:]]+from”
SecFilter “insert[[:space:]]+into”
SecFilter “select.+from”
#
重定向 exe asp 请求
SecFilterSelective REQUEST_URI “\.exe” “redirect:http://www.google.com”
SecFilterSelective REQUEST_URI “\.asp” “redirect:http://www.google.com”
#
下面是限制了 upload.php 文件只能用来上传 jpeg.bmp gif 的图片
#
#SecFilterInheritance On
#SecFilterSelective POST_PAYLOAD “!image/(jpeg|bmp|gif)”
#
#
伪装服务器标识
SecServerSignature “Microsoft-IIS/6.0″
保存后重启 apache 即可!
 
 
 
为了防止 Web 服务器被 DDoS 攻击,我们需要安装 mod_evasive 这个防 DDoS 的模块
mod_evasive 1.10.x
DDoS 模块的下载与安装
下载地址: http://www.zdziarski.com/projects/mod_evasive/
解压后进入解压目录,执行
/home/apache/bin/apxs -cia mod_evasive20.c
编译完成后, /home/apache/modules 下会生成一个 mod_evasive20.so 文件
然后 kate /home/apache/conf/httpd.conf
加入以下选项(如果没有的话)
# 启用 mod_evasive for Apache 2.x DDoS 模块
LoadModule evasive20_module modules/mod_evasive20.so (
这一句通常会被自动加入 )
# 记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
DOSHashTableSize 3097
#
同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在 DosPageInterval 参数中设置。
DOSPageCount 3
#
同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在 DOSSiteInterval 中设置。
DOSSiteCount 40
#
设置 DOSPageCount 中时间长度标准,默认值为 1
DOSPageInterval 2
#DOSSiteInterval 2
设置 DOSSiteCount 中时间长度标准,默认值为 1
DOSSiteInterval 2
#
被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
DOSBlockingPeriod 10
#
设置受到攻击时接收攻击信息提示的邮箱地址。
#DOSEmailNotify [email protected]
#
受到攻击时 Apache 运行用户执行的系统命令
#DOSSystemCommand “su - someuser -c ‘/sbin/… %s …’”
#
攻击日志存放目录, BSD 上默认是 /tmp
#DOSLogDir “/var/lock/mod_evasive”
 

你可能感兴趣的:(职场,休闲)