有人不断攻击我的服务器,但不幸的是,我已将我的操作系统切换到 FreeBSD,因为我之前使用的是 Debian 5.0 Lenny,而我在 Debian 上使用的命令都无法netstat
在tcpdump
FreeBSD 上运行。
那么我如何检测攻击者的 IP 地址,以便在防火墙中阻止这个人?
答案1
攻击者也经常使用伪造的地址。你正在寻找的可能是 sockstat。
还有 accf 内核模块,它可能会根据您的应用程序为您提供帮助。
我还建议使用 pf。您可以按照以下方式构建:
table <bruteforce> persist
pass in proto tcp from any to any port ssh flags S/SA keep state \
(source-track rule, max-src-conn-rate 2/10, overload <bruteforce> flush global)
block drop in quick from <bruteforce> to any
block out quick from any to <bruteforce>
状态跟踪将成为你的朋友
答案2
根据定义/设计... DDoS 并非来自单个 IP 地址。DDoS = 分布式拒绝服务。简而言之... 大型僵尸网络通常用于攻击单个目标,由可能位于世界任何地方的单个攻击者控制。不幸的是,仅仅阻止攻击者的机器人 IP 并不能解决您的麻烦。在许多情况下,您的“较小”互联网连接根本无法跟上此类攻击产生的大量流量。即使丢弃传入的数据,您的带宽仍然被消耗。在这些情况下,当攻击者停止攻击时,您的麻烦就消失了。此类攻击必须由您的 ISP 处理才能采取任何措施。
答案3
虽然这不是您想要的答案,但我认为您尝试做的事情将是难以管理的。
如果您的系统暴露在互联网上,就会受到攻击。今天攻击可能来自 1.2.3.4,但如果您屏蔽该地址,第二天攻击您的可能是 2.3.4.5。您最终会得到一个庞大且难以管理的 IP 地址列表,这些地址很可能是动态分配的。
为什么不使用默认的拒绝所有规则,而将“坏”IP 地址列入黑名单,并将您确实想要公开到互联网上的好 IP 地址和服务列入白名单?