在Apache上启用mod_evasive

Mod_evasive是Apache的模块,当检测到HTTP DoS攻击或蛮力攻击时,它将自动采取措施。Mod_evasive能够记录和报告滥用情况并通过电子邮件通知问题。在遵循本指南之前,您应该已经安装了可以正常运行的LAMP服务器。

本指南是为CentOS及其变体(例如RHEL)和Debian及其变体(例如Ubuntu)编写的。

该模块创建一个IP地址和URL表。如果满足配置中设置的条件(如本文档稍后所述),滥用用户将收到403(禁止)错误。此外,还将记录IP地址,如果设置了该选项,则会将电子邮件发送到指定的电子邮件地址。

步骤1:安装 httpd-devel

httpd-devel软件包包含构建Apache动态共享对象所需的必需文件。我们需要此软件包来安装模块,因为我们将在以下步骤中自行对其进行编译。

在CentOS / RHEL上,执行:

yum install httpd-devel

在Debian / Ubuntu上,执行:

apt-get install apache2-utils

成功安装此软件包后,请继续下一步。如果安装未正确完成,则下一步(很可能)将失败。

步骤2:下载并安装 mod_evasive

方法1:编译

下载模块:

cd /usr/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

提取模块:

tar xzf mod_evasive*.tar.gz

导航到目录:

cd mod_evasive

接下来,我们将使用apxs2,该工具是为构建和安装扩展Apache功能的模块而创建的。Apxs2构建一个动态共享对象,这就是我们httpd-devel在步骤1中安装的原因。

执行:

apxs2 -cia mod_evasive20.c

方法2:使用yum(推荐)进行安装

当您安装了epel-release存储库后,mod_evasive可通过访问yum

添加存储库:

yum install epel-release

使用yum以下命令安装模块:

 yum install mod_evasive

步骤3:将模块添加到Apache

通常,Apache从中加载所有模块mods-enabled,因此,只要将模块添加到该文件夹​​中,就无需手动将其添加到Apache配置中。打开配置文件以检查是否存在这种情况。

在CentOS上,相关文件为: /etc/httpd/conf/httpd.conf

在Ubuntu上,相关文件为: /etc/apache2/apache2.conf

搜索Include。诸如此类的行Include mods-enabled/*.conf告诉Apache加载所有模块。如果不存在,则将该行添加到文件顶部,然后重新启动Apache。

对于Ubuntu,将以下内容添加到文件的底部:

LoadModule evasive20_module /usr/lib/httpd/modules/mod_evasive20.so

步骤4:配置和更改设置

将以下块添加到配置文件。路径与步骤3中的路径相同。

<IfModule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 60
    DOSEmailNotify <william@williamdavidedwards.com>
</IfModule>

这些参数的快速概述可以在中找到README。您可以按以下方式阅读自述文件:

cat /usr/src/cd mod_evasive/README

您很可能需要不时调整这些设置,以确保它们恰好适合您的服务器和网站。毕竟,某些服务器比其他服务器具有更多的活动和流量。

步骤5:重新启动Web服务器

重新启动Apache Web服务器,以使更改生效并加载模块:

service httpd restart

确保模块已加载到Apache中:

httpd -M | grep evasive

这应该返回evasive20_module (shared)。如果不是,则模块未正确加载,我们建议重新检查配置文件以及是否正确保存了它们。

请注意,此模块不能替代DDoS保护,因为在服务器容量用完时它无法运行。实际上,Vultr提供了DDoS保护,对于更好地保护服务器(以及使用此模块)非常有用。对于更简单的威胁,尤其是基于脚本的攻击,该模块可以正常工作,并且绝对有用。

现在,您已经mod_evasive在Apache中安装了该模块,从而使您的Web应用程序更加安全。

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息