Apache安装web应用防火墙mod_security

ModSecurity是Apache Web服务器的Web应用程序防火墙。 除了提供日志记录功能,ModSecurity可以实时监视HTTP流量,以便检测攻击。 ModSecurity还可作为Web入侵检测工具,允许您对Web系统中发生的可疑事件做出反应。

安装ModSecurity


Ubuntu / Debian

  1. sudo apt-get install libxml2 libxml2-dev libxml2-utils
  2. sudo apt-get install libaprutil1 libaprutil1-dev
  3. sudo apt-get install libapache-mod-security

CentOS / Fedora

1.通过逐个输入以下命令来安装GCC编译器和依赖关系:

  1. sudo yum install mod_security

2.通过输入以下命令重新启动Apache:

  1. sudo /etc/init.d/httpd restart

OWASP ModSecurity核心规则集



对于基本配置,我们将使用OWASP核心规则集。 安装说明在SpiderLabs GitHub项目中:
https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/master/INSTALL

配置ModSecurity



你可能需要用到modsecurity_10_crs_config,我们从示例中复制一份

  1. cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf

有五个规则目录:
activated_rules
base_rules
experimental_rules
optional_rules
slr_rules
有两种方式配置ModSecurity:使用基本规则集,或使用符号链接。 以下章节说明如何使用这两种方法。

使用基本规则集



如果您准备使用基本规则集,而不想使用符号链接配置文件,请执行以下步骤:
1.修改httpd.conf文件,如下所示:
/etc/apache2/httpd.conf (Debian / Ubuntu):

  1. <IfModule security2_module>
  2. Include modsecurity-crs/.conf Include modsecurity-crs/base_rules/.conf
  3. </IfModule>

/etc/httpd/conf/httpd.conf (CentOS / Fedora)

  1. <IfModule security2_module>
  2. Include modsecurity-crs/.conf Include modsecurity-crs/base_rules/.conf
  3. </IfModule>

2.在modsecurity crs_20_protocol_violations.conf文件中,将REQBODY_ERROR变量重命名为REQBODY_PROCESSOR_ERROR。
3.重新启动Apache以使更新生效:
Debian / Ubuntu:

  1. /etc/init.d/apache2 restart

CentOS / Fedora:

  1. /etc/init.d/httpd restart

使用符号链接



如果您希望以符号方式将这些配置文件链接到activated_rules目录,请执行以下步骤:
1.编辑Apache配置文件,使IfModule看起来像这样:
/etc/apache2/httpd.conf (Debian / Ubuntu):

  1. <IfModule security2_module>
  2. Include modsecurity-crs/modsecurity_crs_10_config.conf Include modsecurity-crs/activated_rules/*.conf </IfModule>

/etc/httpd/conf/httpd.conf (CentOS / Fedora):

  1. <IfModule security2_module>
  2. Include modsecurity-crs/modsecurity_crs_10_config.conf Include modsecurity-crs/activated_rules/*.conf </IfModule>

2.在重新启动Apache之前创建符号链接。 下面列出几个示例。
要将所有base_rules复制到activated_rules: > > for f in ls base_rules/ ; do ln -s /usr/local/apache/conf/crs/base_rules/$f activated_rules/$f ; done >
要将评论垃圾邮件规则从可选规则目录复制到activated_rules目录:>> for f in ls optional_rules/ | grep comment_spam ; do sudo ln -s /usr/local/apache/conf/crs/optional_rules/$f activated_rules/$f ; done >
3.重新启动Apache以使更新生效:
Debian / Ubuntu:

  1. /etc/init.d/apache2 restart

CentOS / Fedora:

  1. /etc/init.d/httpd restart
标签:Apache 发布于:2019-11-21 14:59:25