在本教程中,我将向您展示Debian 8(Jessie)上的PSAD(端口扫描攻击检测)工具的安装和配置。 根据项目网站 :PSAD通过IPtables(Linux防火墙)提供入侵检测和日志分析。 PSAD工具用于将IDS(入侵检测)系统更改为IPS(入侵防御系统)。 它使用众所周知的开源IDS“SNORT”的规则来检测入侵事件。 虚拟机或服务器由工具持续监视任何主动攻击(如端口扫描),并可自动阻止Linux防火墙中的恶意IP地址。 另一个类似的项目是卫报 ,其功能非常有限。 PSAD将安装在Debian-8(Jessie)虚拟机上,扫描工具“Nmap”将用于检查VM上的打开端口。 最后,将在Web服务器(Apache)上启动DOS攻击,以查看PSAD工具的行为。
PSAD安装
Debian Jessie将使用网络安装程序(debian-8.3.0-i386-netinst.iso)安装在VMware VM上。
Debian安装过程在前一篇文章中有描述 。 PSAD机器的IP地址为192.168.1.102/24。
PSAD工具可以从源代码或从Debian软件包存储库安装。 我将从Debian存储库安装它。 首先,在sources.list文件中添加以下内容(或检查行是否已经存在),然后运行apt命令来更新存储库列表。
deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main deb http://httpredir.debian.org/debian jessie-updates main deb-src http://httpredir.debian.org/debian jessie-updates main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
apt-get update
运行以下命令在虚拟机中安装PSAD。
apt-get install psad
安装PSAD工具需要几个Perl软件包。 软件包依赖关系将由Debian软件包管理器自动解决。
Linux平台上的防火墙功能由IPtables软件包提供。 它是一个众所周知的Linux防火墙,已经安装在所有的Linux发行版中。
PSAD和防火墙配置
默认情况下,Debian平台上的IPtables链中不会有规则。 运行以下命令列出链规则。
iptables -L
启用对IPtables的输入和转发链的记录,以便PSAD守护程序可以检测任何异常活动。
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
“iptables -L”命令的输出将类似于下面所示。
Chain INPUT (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain FORWARD (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain OUTPUT (policy ACCEPT) target prot opt source destination
在Debian发行版中,PSAD工具将配置文件和规则存储在/ etc / psad目录中。
主要的PSAD配置文件是/etc/psad/psad.conf 。 在本教程中,IPS功能将用于检测Web服务器上的DOS攻击。
PSAD的基本设置如下。
EMAIL_ADDRESSES root@localhost;
HOSTNAME PSAD-box;
HOME_NET any;
EXTERNAL_NET any;
默认危险等级设置,PSAD检查间隔和SID的使用情况如下图所示。
默认情况下,PSAD守护程序会在/ var / log / messages文件中搜索日志。 因此,在PSAD配置中更改IPT_SYSLOG_FILE参数。
基于Debian的分发将syslog消息存储在/ var / log / syslog文件中。
ENABLE_SYSLOG_FILE Y;
IPT_WRITE_FWDATA Y;
IPT_SYSLOG_FILE /var/log/syslog;
缺省情况下,PSAD工作在IDS模式,配置文件中禁止IPS参数。 启用以下参数以启用IPS功能和危险等级。 启用配置文件中的参数后,PSAD守护进程将通过在IPtables链中添加IP地址来自动阻止攻击者。
ENABLE_AUTO_IDS Y;
AUTO_IDS_DANGER_LEVEL 1;
现在运行以下命令来更新用于检测攻击的签名数据库。
psad --sig-update
目前,Apache服务器正在监听端口80,如下所示。
使用以下命令启动PSAD并检查状态。
psad start
psad -S
在VM上使用LOIC(Low Orbit Ion Cannon)工具启动DOS攻击,以测试PSAD,如下所示。
Syslog显示使用LOIC工具生成的DOS流量。
模拟攻击者192.168.1.100的IP地址被PSAD守护进程阻塞,如下所示。 执行以下命令查看PSAD添加的动态规则。
psad --fw-list
以下屏幕截图显示,攻击者无法ping受害者的IP地址,所以他被PSAD成功阻止。
运行以下命令查看PSAD的详细输出。
psad -S
签名匹配和攻击者IP地址
2.特定端口的流量
3. IPtables链中的攻击者的IP地址。
4.攻击者与受害者之间的通信详情。
结论
PSAD是一种众所周知的开源工具,用于阻止Linux服务器上的端口扫描攻击。 它具有IDS和IPS功能,能够使用IPtables动态阻止恶意IP地址。