我目前正在遭受SSH攻击。
这种攻击本质上是非常奇怪的,攻击者正在使用一台僵尸networking的计算机并将其作为单独的login尝试(请参阅日志片段):
Dec 11 08:30:51 rhea sshd [16267]:来自78.43.82.153的无效用户maureen
Dec 11 08:35:24 rhea sshd [20012]:无效用户maurizio从201.244.188.202
12月11日08:44:46 rhea sshd [27711]:无效的用户最多从211.140.12.46
Dec 11 08:49:10 rhea sshd [31383]:无效的用户最多从190.144.47.82
12月11日08:58:19 rhea sshd [6659]:69.250.227.138的用户最大数量无效
12月11日09:07:28 rhea sshd [14249]:无效的用户格言从93.63.231.55
Dec 11 09:12:03 rhea sshd [18127]:来自79.188.240.210的用户信号无效
我愿意过滤所有访问端口22(即只允许我指定的IP连接),以及我几天前做的(是阻止所有连接到端口22,但从我自己)。 我想要做的就是logging所有没有接受规则的连接,并logging下来 – 这样我就可以跟踪机器人中的所有计算机,而不是让他们有机会尝试login。
我有什么是这样的:
-A INPUT -s my.addr(s)-j ACCEPT
-A INPUT -p tcp -m tcp –dport 22 -j DROP
更新
我已经添加到我的iptables:
[0:0] -A INPUT -m limit –limit 5 / min -p tcp -m tcp –dport 22 -j LOG – 日志级别4 – 日志前缀“** DoS **”
并使用
http://www.cyberciti.biz/tips/force-iptables-to-log-messages-to-a-different-log-file.html
但是,要设置一个单独的文件,我只能在dmesg中看到logging的数据。
但是,要设置一个单独的文件,我只能在dmesg中看到logging的数据。
来自netfilter子系统的消息通过kenerl日志logging机制进行logging。 这显示在dmesg输出中,并且通常通过klogd的服务结束在您的系统日志中。
如果你正在运行rsyslog或者syslog-ng ,它们通常会本地读取内核日志数据。
这些消息使用'kern'工具在syslog中显示,因此在传统的syslog.conf文件中,您可以执行如下操作:
kern.* /var/log/kernel-messages
(但是请注意,会得到所有内核消息,而不仅仅是netfilter)。
rsyslog和syslog-ng都提供模式匹配function,使您能够更细致地控制日志消息的去向。
编辑:
您只需要接受和放下规则之间的日志规则 ,请参阅以下示例将它们发送到系统日志。 http://www.cyberciti.biz/tips/force-iptables-to-log-messages-to-a-different-log-file.html 。
这是有效的,因为日志不同于它是一个“非终止目标”,即规则遍历在下一个规则处继续。 – 从man iptables '。 因此,与其他规则不同的是,对照规则的检查不会在达到匹配时短路。
此外,请参阅此链接了解如何指定日志文件(但请注意后续文章)。
从之前(误读问题):
你可能想要fail2ban ,自动为你做这个…这个职位的其他一些选项: 数百失败的SSHlogin 。
你想要的是Ulogd ,它使你能够将匹配的iptables数据包logging到用户指定的文件中。
一旦安装了ulogd ,编辑/etc/ulogd.conf文件并取消注释: plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"
在[LOGEMU]部分中,您将看到file="/var/log/ulogd.pktlog"
这是你的iptables日志将去的地方。 我build议你也添加这个文件logrotate如果你已经安装了,因为日志可以变得很快,即使有限制。
一旦ulogd完成设置,你将会replace这个规则:
-A INPUT -m limit --limit 5/min -p tcp -m tcp --dport 22 -j LOG --log-level 4 --log-prefix "** DoS **"
有了这个规则:
-A INPUT -m limit --limit 5/min -p tcp -m tcp --dport 22 -j ULOG --ulog-prefix "** DoS **"
还值得注意的是,ulogd使您能够将数据包logging到数据库,如MySQL,PostgreSQL和SQLite。