背景。
我正在构建一个用于蜜罐部署的防火墙/NAT 设备。简单来说,它被配置为某种反向防火墙。当其中一个蜜罐被感染/受损时,防火墙将允许攻击者进行出站连接,但出站连接仅限于一组特定的端口,在一定的限制内,并且仅限于特定数量的连接。如果防火墙检测到超出这些限制的流量,它将在一段时间内开始丢弃数据包。任何源自蜜罐的流量都会被记录下来,因为它被认为是恶意的。
问题。
攻击者经常利用蜜罐发起 DDoS 攻击。平均而言,97% 的流量被防火墙阻止,防火墙也会记录所有这些流量。问题是它会生成 aropx。每秒 90000 个条目,这些攻击可以持续 10 分钟到几个小时。当所有这些都被记录时,它会生成一些相当大的日志文件。
当前的解决方法。
我尝试通过每 60 秒轮换一次防火墙日志来解决此问题,但这只会影响日志大小。当 logrotate 创建了最大数量的日志时,最终只会产生来自一次 DDoS 攻击的大量日志。我添加了一个专用硬盘来保存日志文件并增加了日志轮换。
问题。
恐怕这是一种“保留蛋糕/吃蛋糕”的情况。我想记录尽可能多的日志,同时告诉 iptables 在某个点之后停止记录流量。
有没有办法配置 iptables 将条目写入日志文件,但是,如果在最后一秒相同的条目已写入 N 次,则将停止记录其余条目?
日志功能是否有“速率限制”之类的东西?
还有其他方法可以解决这个问题吗?