在Arch Linux上使用Makepkg
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
ModSecurity是设计用于IIS,Apache2和Nginx的Web应用程序层防火墙。它是根据Apache许可2.0发行的免费开源软件。ModSecurity通过监视和分析您的网站流量来帮助保护您的Web服务器。它使用正则表达式实时执行此操作,以检测并阻止来自大多数已知漏洞的攻击。ModSecurity仅靠自身提供有限的保护,并依靠规则集来最大化保护。
开放式Web应用程序安全项目(OWASP)核心规则集(CRS)是一组通用的攻击检测规则,它们为任何Web应用程序提供了基本的保护级别。该规则集是免费的,开源的,目前由Spider Labs赞助。
OWASP CRS提供:
本指南说明如何在运行Apache 2的CentOS 6上安装ModSecurity和OWASP规则集。
首先,您需要确保系统是最新的。
yum -y update
如果尚未安装Apache 2,请立即安装。
yum -y install httpd
现在,您需要安装一些依赖项才能使ModSecurity起作用。根据您的服务器配置,可能已经安装了部分或全部这些软件包。Yum将安装您没有的软件包,并通知您是否已安装任何软件包。
yum -y install httpd-devel git gcc make libxml2 pcre-devel libxml2-devel curl-devel
更改目录并从ModSecuity网站下载源代码。当前的稳定版本是2.8。
cd /opt/
wget https://www.modsecurity.org/tarball/2.8.0/modsecurity-2.8.0.tar.gz
解压缩软件包并转到其目录。
tar xzfv modsecurity-2.8.0.tar.gz
cd modsecurity-2.8.0
配置和编译源代码。
./configure
make
make install
将默认的ModSecurity配置和unicode映射文件复制到Apache目录。
cp modsecurity.conf-recommended /etc/httpd/conf.d/modsecurity.conf
cp unicode.mapping /etc/httpd/conf.d/
配置Apache以使用ModSecurity。您可以通过2种方法执行此操作。
echo LoadModule security2_module modules/mod_security2.so >> /etc/httpd/conf/httpd.conf
...或使用像nano这样的文本编辑器:
nano /etc/httpd/conf/httpd.conf
在该文件的底部,在单独的行上添加以下内容:
LoadModule security2_module modules/mod_security2.so
现在,您可以启动Apache并将其配置为在启动时启动。
service httpd start
chkconfig httpd on
如果在使用本指南之前已安装Apache,则只需重新启动它即可。
service httpd restart
现在,您可以下载OWASP核心规则集。
cd /etc/httpd
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
现在配置OWASP规则集。
cd modsecurity-crs
cp modsecurity_crs_10_setup.conf.example modsecurity_crs_10_config.conf
接下来,您需要将规则集添加到Apache配置中。同样,我们可以通过两种方式做到这一点。
echo Include modsecurity-crs/modsecurity_crs_10_config.conf >> /etc/httpd/conf/httpd.conf
echo Include modsecurity-crs/base_rules/*.conf >> /etc/httpd/conf/httpd.conf
...或使用文本编辑器:
nano /etc/httpd/conf/httpd.conf
在文件底部的单独行中添加以下内容:
Include modsecurity-crs/modsecurity_crs_10_config.conf
Include modsecurity-crs/base_rules/*.conf
现在重新启动Apache。
service httpd restart
最后,删除安装文件。
yum erase /opt/modsecurity-2.8.0
yum erase /opt/modsecurity-2.8.0.tar.gz
默认情况下,ModSecurity在仅检测模式下运行,这意味着它将记录所有规则中断,但不采取任何措施。建议在新安装中使用它,以便您可以观看Apache错误日志中生成的事件。查看日志后,您可以决定在移到保护模式之前是否应对规则集进行任何修改或禁用规则(请参见下文)。
要查看Apache错误日志:
cat /var/log/httpd/error_log
Apache错误日志中的ModSecurity行分为9个元素。每个元素都提供有关事件触发原因的信息。
请注意,根据服务器的配置,某些元素可能不存在。
要将ModSecurity更改为保护模式,请在文本编辑器中打开conf文件:
nano /etc/httpd/conf.d/modsecurity.conf
...并更改:
SecRuleEngine DetectionOnly
至:
SecRuleEngine On
如果在运行ModSecurity时遇到任何阻止,则需要在HTTP错误日志中标识规则。“ tail”命令允许您实时查看日志:
tail -f /var/log/httpd/error_log
在查看日志时,重复导致阻塞的操作。
修改规则集超出了本教程的范围。
要禁用特定规则,请在第三个元素中标识规则ID(例如[id = 200000]),然后在Apache配置文件中将其禁用:
nano /etc/httpd/conf/httpd.conf
...通过将以下内容添加到带有规则ID的文件底部:
<IfModule mod_security2.c>
SecRuleRemoveById 200000
</IfModule>
如果您发现ModSecurity阻止了您网站上的所有操作,则“核心规则集”可能处于“自包含”模式。您需要将其更改为“ Collaborative Detection”,它仅检测并阻止异常。同时,您可以查看“自包含”选项,并根据需要进行更改。
nano /etc/httpd/modsecurity-crs/modsecurity_crs_10_config.conf
将“检测”更改为“自包含”。
您还可以将ModSecurity配置为允许IP通过Web应用程序防火墙(WAF),而无需登录:
SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=Off
...或使用日志记录:
SecRule REMOTE_ADDR "@ipMatch xxx.xxx.xxx.xxx" phase:1,nolog,allow,ctl:ruleEngine=DetectionOnly
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息