nigelhorne/sniff2ban

GitHub: nigelhorne/sniff2ban

一款基于实时流量嗅探与 ClamAV 集成的自动防火墙封禁工具,用于检测并屏蔽发送恶意软件的网络连接。

Stars: 4 | Forks: 9

Sniff2ban 通过执行对网络的实时扫描,扫描给定接口上的流量以查堵恶意流量。 网站可以被加入白名单。 用法: sniff2ban [-d] [-k] [-s] [-t seconds] [-v] [-S program1] [-S program2...] [-w IPv4address1[/mask]] [-w IPv4address2[/mask]...] [-p pidfile] [-V] [-W] [ socket ] [ interface ] -d: 屏蔽(iptables DROP)向我们发送恶意软件的网站 -k: 终止发送/接收恶意软件的程序(需要支持 -W 的 netstat) -m: 当指定 --enable-dovecot-scanning 或 --enable-ssh-scanning 时,这是允许的最大密码错误尝试次数。默认值为 3。 -p: 为 monit(1) 或 puppet(1) 写入 pidfile -S: 不要终止此程序 -s: 不要屏蔽自身(即把 "interface" 加入白名单) -t: 指定经过此秒数的不活跃状态后,将连接视为已关闭(默认 60)。如果你在控制台上看到大量“already exists”错误,你可能需要考虑减小此值,但不要减小得太多,否则可能会导致漏报。 -T: 临时目录 -v: 详细模式,-vv 可获取更详细的信息 -V: 打印 sniff2ban 的版本 -w: 不要屏蔽(白名单)此 IP 地址 -W: 不扫描白名单中的 IP 地址 socket: 与 clamd 通信的方式:/full/path/name 或 hostname:port,如果未指定,将从 clamd.conf 确定(如果该文件存在) interface: 监听的接口(例如 eth0),如果未指定,我们将尝试猜测 如果未指定 "socket" 和/或 "interface",程序会进行猜测,但可能会猜错,因此最好明确指定。需要 LIBPCAP 才能猜测接口。 强烈建议您将此产品保持为最新版本。最好的方法是每天一次从 GIT 仓库中检出最新版本: git clone https://github.com/nigelhorne/sniff2ban.git 在非 Linux 系统上,您必须使用 libpcap。在 Linux 上,虽然鼓励使用它,但并非强制要求。要在 Debian Linux 上使用 LIBPCAP,您必须首先安装 libpcap-dev 包;在 Fedora 上,您必须首先安装 libpcap-devel 包。 如果不安装它,您将需要提供 interface 参数。 在 Debian 上,netstat 由 net-tools 包提供。 已在 Linux2.6、FreeBSD7.0、Solaris10、OpenBSD4.2 和 NetBSD4.0 上经过测试。 在 Linux 上,我使用过 tinycc 和 gcc。 使用 tinycc 构建: CFLAGS="-Wall -g -bt 20" CPPFLAGS= CXXFLAGS= CC=tcc ./configure automake --add-missing make sudo make install 在 Solaris10 上,我使用过 cc 和 gcc。你可以从 http://www.sunfreeware.com/ 获取 libpcap 和 lsof。 白名单中的 IP 将被追踪并报告。 我将以下内容放入了 /etc/rc.local(212.159.0.0 是我的 ISP,它托管了备用 MX,因此我不想将其列入黑名单): sniff2ban -d -s -vv -w 212.159.0.0/19 -W /var/run/clamav/clamd.sock& 如果你使用 TCP 连接到 clamd,你需要提供 hostname:port 对,例如 localhost:3310。 与 Sanesecurity 特征码配合使用可以很好地阻止垃圾邮件发送者,参见 http://www.sanesecurity.co.uk/。很多时候,在发送了一封垃圾邮件之后,同一客户端会发送同一封邮件的副本,sniff2ban 将使用你的防火墙来阻止这种情况。 由于该软件会修改系统文件,因此您必须以 root 身份运行。 要在 Debian 上启用 HTTP 扫描: ./configure --enable-http-scanning=/etc/apache2/sites-enabled 要在 Debian 上启用 Dovecot 扫描: ./configure --enable-dovecot-scanning=/var/log/syslog 还有一个 --enable-ssh-scanning 选项,不过我建议你现在不要启用它,因为代码尚未经过强化或优化。 ./configure --enable-ssh-scanning=/var/log/auth.log 要启用 SMTP 暴力破解检测(目前尚未实现) ./config --enable-smtp-scannint=/var/log/mail.log 如果你看到大量发送错误,很可能是因为 clamd 超时。在这种情况下,请将 clamd.conf 中的 ReadTimeout 和 CommandReadTimeout 增加到 86400(1 天),然后重启 clamd 和 sniff2ban。 如果由于 autoconf 问题导致 configure && make 无法正常运行,请在重新运行 configure 之前尝试以下命令: autoscan aclocal autoheader autoconf automake ln -s /usr/share/automake-1.16/compile .
标签:ClamAV, IP 地址批量处理, Web 安全测试, 入侵防御, 客户端加密, 网络信息收集, 网络安全, 网络流量分析, 自定义DNS解析器, 防火墙, 隐私保护