如何通过Iptables Log模块详尽记录并审计非法连接尝试过程?

2026-04-30 14:360阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计869个文字,预计阅读时间需要4分钟。

如何通过Iptables Log模块详尽记录并审计非法连接尝试过程?

要使iptables的LOG模块正确记录非法连接尝试,关键不在于记录所有,而是要精确定位异常行为。确保日志不被遗漏、丢弃,并能快速检索。核心在于规则顺序、参数组合和日志后端协同。

一、LOG 规则必须放在 DROP/REJECT 之前

LOG 是非终止动作,它只写日志,不阻断包;而 DROP/REJECT 是终止动作,执行后包即消失,后续规则不再匹配。如果 LOG 写在 DROP 后面,永远不会触发。

  • ❌ 错误写法(LOG 失效):
    iptables -A INPUT -p tcp --dport 22 -j DROP
    iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-BLOCKED: "
  • ✅ 正确写法(先记再拦):
    iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j LOG \
    --log-prefix "SSH-SCAN: " --log-tcp-options --log-ip-options
    iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j DROP

二、只记录真正可疑的连接,避免日志爆炸

盲目记录所有 NEW 连接会迅速填满磁盘。应聚焦高风险行为:非常用端口访问、扫描特征包、高频失败连接等。

阅读全文

本文共计869个文字,预计阅读时间需要4分钟。

如何通过Iptables Log模块详尽记录并审计非法连接尝试过程?

要使iptables的LOG模块正确记录非法连接尝试,关键不在于记录所有,而是要精确定位异常行为。确保日志不被遗漏、丢弃,并能快速检索。核心在于规则顺序、参数组合和日志后端协同。

一、LOG 规则必须放在 DROP/REJECT 之前

LOG 是非终止动作,它只写日志,不阻断包;而 DROP/REJECT 是终止动作,执行后包即消失,后续规则不再匹配。如果 LOG 写在 DROP 后面,永远不会触发。

  • ❌ 错误写法(LOG 失效):
    iptables -A INPUT -p tcp --dport 22 -j DROP
    iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-BLOCKED: "
  • ✅ 正确写法(先记再拦):
    iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j LOG \
    --log-prefix "SSH-SCAN: " --log-tcp-options --log-ip-options
    iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j DROP

二、只记录真正可疑的连接,避免日志爆炸

盲目记录所有 NEW 连接会迅速填满磁盘。应聚焦高风险行为:非常用端口访问、扫描特征包、高频失败连接等。

阅读全文