【问题标题】:Logging all connections using iptables to closed ports使用 iptables 将所有连接记录到关闭的端口
【发布时间】:2014-06-28 09:39:53
【问题描述】:

在 FreeBSD 中,有一个可通过 sysctl (net.inet.tcp.log_in_vain) 调整的内核参数,它为您提供尝试连接到未运行服务的端口(即关闭的端口)的日志。这些消息以以下格式记录到 /var/log/messages(有点):

2014-06-26 13:18:58|218.77.79.43|58848|192.168.192.28|443|tcp_input:连接尝试关闭端口

在没有将所有连接从路由器转发到我的 FreeBSD 机器的情况下,我会定期收到这些消息。如果我没有明确创建端口转发规则集将流量重定向到路由器上的此框,会发生这种情况?

我希望使用 iptables 设置类似的东西,尽可能减少噪音,例如仅将来自我网络外部的连接视为 src 并忽略任何传出。

我试图使用类似以下的方法来做到这一点:

iptables -I INPUT -m state --state NEW -j LOG --log-prefix "新连接:"

我很确定这种语法已经过时了。我来自 IPF 世界,所以我不太了解最新的 iptables 语法约定。

此规则正在生成我在 /var/log/messages 中查找的日志类型:

6 月 28 日 00:38:12 kermit 内核:[6331.339928] 新连接:IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:a8:86:dd:8a:c9:26: 08:00:45:00:00:48:e8:3f:00:00:40:11:8f:ec │ SRC=192.168.192.40 DST=192.168.192.255 LEN=72 TOS=0x00 PREC=0x00 TTL=64 ID=59455 PROTO=UDP SPT=57621 DPT=57621 LEN=52

到目前为止,我还没有看到任何来自我自己网络之外的连接。此外,我可以在 /var/log/auth.log 中看到没有出现在 /var/log/messages 中的 SSH 登录尝试,使用上述 iptables 规则:

Jun 28 09:31:42 kermit sshd[10097]: pam_unix(sshd:auth): 校验通过;用户未知

Jun 28 09:31:44 kermit sshd[10097]:来自 116.10.191.187 端口 40312 ssh2 的无效用户 admin 的密码失败

是否可以使用 iptables 创建以下内容:

  1. 一个规则/规则集,它将所有传入我的盒子的连接记录到 /var/log/messages
  2. 不要记录来自我自己网络的任何连接
  3. 不记录任何传出连接
  4. 我是否需要将路由器上的所有连接转发到我的机器上才能获得与在 FreeBSD 中类似的日志消息? (即端口转发所有端口)

【问题讨论】:

    标签: linux networking logging iptables connection


    【解决方案1】:

    我发现以下(基本)rulset 符合我的要求:

    # Generated by iptables-save v1.4.14 on Sat Jun 28 14:02:33 2014
    *filter
    :INPUT ACCEPT [586:43405]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [367:72794]
    :LOGNDROP - [0:0]
    -A INPUT ! -s 192.168.192.0/24 -p tcp -m state --state NEW -j LOG --log-prefix "[New Connection]: "
    COMMIT
    # Completed on Sat Jun 28 14:02:33 2014
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      相关资源
      最近更新 更多