利用 psad 进行主动响应式网络攻击防护
1. 网络攻击检测与响应基础
在网络环境中,检测已建立的 TCP 连接中的攻击,需要检测系统维护一个已建立连接的表格,并在这些连接中查找攻击。尽管可以伪造具有逼真序列号和确认号的 TCP 数据包,但这些数据包并非真正已建立连接的一部分,检测机制需要对此进行判断。
所有入侵检测系统都有产生误报的倾向,即误将正常活动识别为恶意活动。同时,漏报(即存在真正的恶意流量时未生成事件)也较为常见。psad 也不例外,在运行过程中会遇到为良性流量生成事件的情况。虽然可以通过仔细调整来减少误报,但误报始终有发生的可能性,因此自动响应被错误判断为恶意的流量不利于维护网络的整体连通性。不过,许多安全管理员认为,某些类型的事件,即使是由误识别的活动产生的,也可能具有足够的破坏性,值得采取严厉的响应措施,例如一些蠕虫爆发可能会对网络及其组成系统造成毁灭性影响,此时可以使用主动响应来减轻爆发的影响。
2. psad 的主动响应功能
psad 应对攻击的主要方法是动态重新配置本地过滤策略,以在可配置的时间内阻止来自攻击者源 IP 地址的所有访问。虽然 psad 也支持重新配置/etc/hosts.deny文件,让 tcpwrappers 拒绝来自攻击者源 IP 地址的访问,但这种机制不如使用 iptables,原因如下:
- tcpwrappers 只能阻止对配置为使用它的守护进程的访问,而 iptables 中的通用阻止规则意味着攻击者甚至无法通过目标系统的 IP 栈进行通信。
- tcpwrappers 仅对保护本地系统上运行的守护进程有效,而 psad 可能会在 FORWARD 链