在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“New Connection:”
我很确定这种语法已经过时了。我来自IPF世界,所以我还没有完全掌握最新的iptables语法约定。
此规则生成我正在/ var / log / messages中查找的日志类型:
Jun 28 00:38:12 kermit kernel:[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中看到使用上述iptables规则未出现在/ var / log / messages中的SSH登录尝试:
Jun 28 09:31:42 kermit sshd [10097]:pam_unix(sshd:auth):check pass;用户未知
Jun 28 09:31:44 kermit sshd [10097]:无效用户管理员密码失败,来自116.10.191.187端口40312 ssh2
是否可以使用iptables创建以下内容:
答案 0 :(得分:-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