Linux防火墙 第5章端口扫描攻击检测程序psad简介
Linux 防火墙 第第 55 章端口扫描攻击检测程序章端口扫描攻击检测程序 psadpsad 简介简介
第第 55 章端口扫描攻击检测程序章端口扫描攻击检测程序 psadpsad 简介简介
本章将简要介绍端口扫描攻击检测程序 psad,主要涵盖 psad的安装、管理和配置,而 psad
的操作和自动回应等主要任务会在下两章里讲述。
5.1 5.1 发展历史发展历史
5.15.1 发展历史发展历史
最终成为 psad的软件项目一开始只是作为 Bastille Linux的一个组成部分。1999 年秋季,
Bastille开发团队决定为Bastille提供一个轻量级的网络入侵检测组件。正好那时候Peter
Watkins 在开发一个优秀的防火墙脚本 (该脚本现在仍然和Bastille捆绑在一起),所以
下一步工作任务自然就是开发一个基于防火墙日志所提供信息的 IDS 工具。此外,在那个时
候,PortSentry(见 http://sourceforge. net/projects/sentrytools)存在一些架构设
计问题,因而它不太适合与一个已被配置为默认丢弃的防火墙相结合使用 。
虽然我们也可以只开发一个 Snort(见 )的配置工具,但 Jay Beale、
Peter Watkins 和我最终还是决定开发一个全新的,并且与 Linux 内核中的防火墙代码紧密
结合的工具。其结果是诞生了被称为Bastille-NIDS的 Bastille 组件,它可以同时分析 2.2
系列内核中的 ipchains日志和 2.4、2.6系列内核中的 iptables 日志。
2001年,我决定将 Bastille-NIDS 项目作为一个独立的项目从 Bastille 中分离出来,这样
它可以独立运行而不需要先安装 Bastille,我将它命名为 psad(PortScan Attack Detector,
端口扫描攻击检测程序)。psad 的开发相当活跃,平均每三四个月就会发布一个新版本。
5.2 5.2 为何要分析防火墙日志为何要分析防火墙日志
5.25.2 为何要分析防火墙日志为何要分析防火墙日志
良好的网络安全首先要正确配置防火墙,它应该只允许绝对必需的基本网络连接和服务通
过。防火墙是一种线内设备,因此非常适合于针对网络流量应用过滤逻辑。在计算机网络的
术语中,线内设备指的是位于数据包必经之路上的硬件设备。如果线内设备中的硬件或软件
出现故障,并影响到它转发网络数据的能力,就会导致网络通信的中断。线内设备包括路由
器、交换机、网桥、防火墙和网络入侵防御系统 (IPS) 等。
随着防火墙的功能变得越来越齐备,结构变得越来越复杂,它们正在逐步开始提供传统上一
直属于入侵检测系统范畴的功能 (如应用层检查)。通过将这些功能与过滤数据包的能力结
合使用,防火墙可以提供有价值的入侵检测数据,利用这些数据可以形成有效的机制来保护
服务免遭入侵和侦察,并且限制蠕虫所带来的潜在破坏。像 iptables这样提供了丰富的日
志记录和过滤功能的防火墙可以提供宝贵的安全数据,这些数据是不应该被忽视的。
像 Snort 这样的专用入侵检测系统提供了大型的功能集和全面的规则语言来描述网络攻击,
而 iptables 则总是直接连到网络流量上并且提供了详细的数据包首部日志 (它可以和应用
层测试结合,正如将在第 9 章中讲述的那样)。深度防御的原则使得我们有必要去倾听
iptables所叙述的故事。
5.3 5.3 psadpsad 特性特性
5.35.3 psadpsad 特性特性
psad当前的版本可以检测到各种类型的可疑流量,如由Nmap(见
)、各种后门程序的探测器、分布式拒绝服务 (DDoS)工具等生
成的端口扫描和滥用网络协议的尝试。如果和 fwsnort(见第 9~11 章)结合使用,psad
可以检测并为 60%多的 Snort-2.3.3规则 (包括那些需要检查应用层数据的规则)生成警报。
psad最有趣的特性之一是它可以被动式识别扫描主机或其他恶意攻击来源主机操作系统指
纹。例如,如果有人从Windows机器发起 TCP connect()扫描,psad通常就能够告诉你这次
扫描是来自 Windows XP、2000 还是 NT 的机器。在某些情况下,它甚至可以检测到远程系统
的 Service Pack 版本。psad 的指纹识别功能是基于p0f 的(关于 p0f 和被动式操作系统指
纹识别的讨论见第 7章)。此外,psad还提供了详细的电子邮件和系统日志警报、基于危
险级