FreeBSD中为Apache服务器安装mod_security

时间:2019-11-20 08:54:00  来源:igfitidea点击:

mod_security是Apache中的一个模块,用于对请求进行过滤和提供一些其他安全功能。

如何在FreeBSD操作系统下给apache安装mod_security?

在FreeBSD中为apache安装mod_security

执行以下命令以更新ports树:

# portsnap fetch update

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

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

配置mod_security

mod_security2的规则已安装在:

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

默认情况下,它以DetectionOnly模式运行,以免干扰正在运行的网站和Apache的运行。

首先将目录更改为/usr/local/etc/apache22/Includes/mod_security2 /:

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

修改规则集文件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

您可以使用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