如何在amazonlinuxami中安装Apache安全模块

时间:2020-03-05 15:30:35  来源:igfitidea点击:

Apache mod_security是一个防火墙模块,用于防止SQL注入、跨站点脚本、坏的用户代理和许多其他攻击。

根据amazonlinuxami版本的不同,我们可能需要在试错的基础上发出以下命令之一。

sudo yum install mod24_security.x86_64

或者

sudo yum install mod_security --enablerepo=epel

一旦包管理器安装了必要的包,我们就需要为web应用程序配置mod security。
下面是mod security的基本conf文件,

/etc/httpd/conf.d/mod_security.conf

我们基本上要处理的参数是,

SecRuleEngine DetectionOnly
SecRequestBodyAccess On

"DetectionOnly"表示Apache不会阻止任何在应用程序上下文中可能有效的请求,而是将可疑请求记录到错误.log.

建议在"DetectionOnly"模式下运行应用程序几天左右,以避免出现假阴性。
例如,在drupal7中,当"SecRuleEngine"变为"ON"时,一些管理页面(面板编辑)和视图AJAX寻呼机停止工作。

一旦查看了错误日志并调整了参数以满足应用程序需要,就可以在上更改SecRuleEngine。

SecRuleEngine On

Mod security依赖于一组参数规则将请求伪装成真实的或者恶意的。
以下步骤我们制定规则,

cd /etc/httpd/modsecurity.d
sudo wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/v3.0/master.zip
sudo unzip master.zip
sudo mv owasp-modsecurity-crs-3.0-master modsecurity-crs
cd /etc/httpd/modsecurity.d/modsecurity-crs
sudo cp crs-setup.conf.example crs-setup.conf

将以下行添加到httpd.conf文件。
我们也可以将它们放在Httpd包含的任何配置文件中:

cd /etc/httpd/conf.d
sudo vim mod_security.conf

添加以下行,

IncludeOptional modsecurity.d/*.conf
IncludeOptional modsecurity.d/activated_rules/*.conf
IncludeOptional modsecurity.d/local_rules/*.conf

重新启动web服务器并确保它启动时没有错误。

sudo service httpd restart