FreeBSD为Apache HTTPD服务器安装mod_security

时间:2020-01-09 10:38:33  来源:igfitidea点击:

问题描述:mod_security向Apache HTTP Server提供了一系列请求过滤和其他安全功能。
如何在FreeBSD操作系统下安装mod_security?

解决方法:ModSecurity是作为Apache模块运行的开源Web应用程序防火墙,而2.0版提供了许多新功能和改进。

它提供了针对Web应用程序的一系列攻击的保护,并允许HTTP流量监视和实时分析,而无需更改现有基础结构。
一些功能包括:

  • 并行文本匹配
  • 地理IP分辨率
  • 信用卡号检测
  • 支持内容注入
  • 自动规则更新
  • 脚本以及许多其他功能。

FreeBSD安装mod_security

执行以下命令以更新端口树:

# portsnap fetch update

在FreeBSD 7下,可以通过执行以下命令来安装mod_security:

# cd /usr/ports/www/mod_security
# make install clean

配置mod_security

modsecurity 2核心规则已安装在

/usr/local/etc/apache22/Includes/mod_security2/

默认情况下,它以DetectionOnly模式运行,以免干扰正在运行的网站和Apache的运行。
首先将目录更改为/usr/local/etc/apache22/Includes/mod_security2 /:

# cd /usr/local/etc/apache22/Includes/mod_security2/

现在,打开ModSecuirty核心规则集文件modsecurity_crs_10_config.conf,执行:

# vi modsecurity_crs_10_config.conf

该文件有据可查,因此请根据您的要求对其进行自定义。
打开位于/usr/local/etc/apache22的httpd.conf文件,并确保存在以下行:

LoadFile /usr/local/lib/libxml2.so
LoadModule security2_module libexec/apache22/mod_security2.so

最后,重新启动apache:

# /usr/local/etc/rc.d/apache22 restart

监视mod_security日志文件

默认情况下,日志写入以下两个文件:

  • /var/log/httpd-modsec2_audit.log
  • /var/log/httpd-modsec2_debug.log
  • /var/log/httpd-error.log或虚拟域error.log文件

您可以使用grep或tail查看这两个文件来检测攻击:

tail -f /var/log/httpd-modsec2_audit.log
grep cmd.exe /var/log/httpd-modsec2_audit.log
tail -f /home/httpd/example.com/logs/error.log

一旦一切正常运行,请打开modsecurity_crs_10_config.conf文件并将SecRuleEngine设置为On:

SecRuleEngine On

重新启动Apache:

# /usr/local/etc/rc.d/apache22 restart