如何设置巨魔突袭防御系统?

如何设置巨魔突袭防御系统?
  1. 我有一个网站,或者一个 IRC 服务器,或者其他什么。
  2. 服务器保存所有唯一访问者(IP 地址)的列表。
  3. 我有一个紧急按钮,当激活时,会拒绝所有不在列表中的访问者访问。

这是为了在不关闭常规用户的服务的情况下阻止大规模的恶意攻击。

在底层实现此功能的最佳方法是什么,以便它与所用服务器类型无关?比如一些 iptables 巫术之类的?

发行版是 Ubuntu。

答案1

您可以编写一个脚本,只允许它们,并删除其他所有内容,例如:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #to allow all established connections to continue, and to allow outgoing connections to get data back
iptables -A INPUT -i ethX -s {allowedIP#1} -j ACCEPT #allow first ip
iptables -A INPUT -i ethX -s {allowedIP#2} -j ACCEPT #..second
... #third and on
iptables -A INPUT -i ethX - -j DROP #drop everything else

当然,如果你的 IP 列表非常大,这就会占用大量资源。

答案2

#!/usr/bin/bash

/sbin/iptables -A INPUT   -m state --state NEW -i eth1  -p tcp --destination-port {YOURIRCPORT} -j DROP

将其命名为 panickfw.sh

要解锁,请创建另一个类似的脚本,其内容如下:

/sbin/iptables -D INPUT   -m state --state NEW -i eth1  -p tcp --destination-port {YOURIRCPORT} -j DROP

您可以对其进行调整,以便可以使用参数来执行任一规则。

相关内容