深入解析:将Snort规则转换为iptables规则
深度防御
入侵检测系统(IDS)本身可能成为攻击目标,攻击手段多样,包括通过制造误报来破坏IDS的警报机制,以及利用IDS的漏洞实现代码执行。例如,攻击者可通过Tor网络发送真实或伪造的攻击,使攻击看似来自与自身网络无关的IP地址。此外,入侵检测系统偶尔也会出现远程可利用的漏洞,如Snort DCE/RPC预处理器漏洞。
深度防御原则不仅适用于传统计算机系统(如服务器和桌面设备),也适用于防火墙和入侵检测系统等安全基础设施系统。因此,有必要用额外机制补充现有的入侵检测/预防系统。
基于目标的入侵检测与网络层碎片重组
在IDS中构建能结合终端主机特征增强检测操作的功能,称为基于目标的入侵检测。以Snort IDS为例,它通过frag3预处理器提供网络层碎片重组功能,可对碎片化网络流量应用多种数据包碎片重组算法,包括Linux、BSD、Windows和Solaris IP栈中的算法。这很有用,因为Snort能使用目标主机相同的碎片重组算法。若针对Windows系统的碎片化攻击,而Snort用Linux IP栈算法重组,可能会漏报或误报攻击。
不过,frag3预处理器不会自动为主机映射碎片重组算法,需手动告知Snort为每个受监控的主机或网络运行哪种算法,这就可能出现配置错误。例如,公司IT部门在通常为Windows主机保留的IP地址范围内搭建新的Linux服务器,若该范围内所有IP地址的Snort frag3预处理器都配置为使用Windows算法重组所有流量,且IT部门未告知安全部门有新的Linux服务器,那么frag3配置与实际部署的操作系统就会不匹配,Snort会用Windows I