ip_conntrack监控异常案例记录
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count
322560
发现数值异常高,肯定有问题。
分析步骤:
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
180
链接保持3小时,可以,不用动。
cat /proc/net/ip_conntrack 发现滚屏飞快,有异常。按ctrl+c强制中断,看到如下可疑 重复的端口 记录:
tcp 6 119 SYN_SENT src=72.164.219.241 dst=65.255.35.150 sport=1234 dport=80 packets=1 bytes=40 [UNREPLIED] src=65.255.35.150 dst=72.164.219.241 sport=80 dport=1234 packets=0 bytes=0 mark=0 secmark=0 use=1
tcp 6 119 SYN_SENT src=119.65.59.231 dst=190.220.25.34 sport=1234 dport=80 packets=1 bytes=40 [UNREPLIED] src=190.220.25.34 dst=119.65.59.231 sport=80 dport=1234 packets=0 bytes=0 mark=0 secmark=0 use=1
tcp 6 118 SYN_SENT src=158.185.119.126 dst=198.38.94.156 sport=1234 dport=80 packets=1 bytes=40 [UNREPLIED] src=198.38.94.156 dst=158.185.119.126 sport=80 dport=1234 packets=0 bytes=0 mark=0 secmark=0 use=1
tcp 6 117 SYN_SENT src=22.219.187.8 dst=198.24.181.12 sport=1234 dport=80 packets=1 bytes=40 [UNREPLIED] src=198.24.181.12 dst=22.219.187.8 sport=80 dport=1234 packets=0 bytes=0 mark=0 secmark=0 use=1
tcp 6 117 SYN_SENT src=206.236.219.28 dst=198.38.94.156 sport=1234 dport=80 packets=1 bytes=40 [UNREPLIED] src=198.38.94.156 dst=206.236.219.28 sport=80 dport=1234 packets=0 bytes=0 mark=0 secmark=0 use=1
tcp 6 117 SYN_SENT src=41.127.29.153 dst=198.38.94.156 sport=1234 dport=80 packets=1 bytes=40 [UNREPLIED] src=198.38.94.156 dst=41.127.29.153 sport=80 dport=1234 packets=0 bytes=0 mark=0 secmark=0 use=1
初步判断这是某个VPS在利用sport=1234 对 dport=80进行cc攻击
再重复cat /proc/net/ip_conntrack步骤,多观察几次,确定上述可疑之处
发现只有端口sport=1234 dport=80是共同点,无法找到源ip,
开启iptables日志,把端口sport=1234的链接记录到日志:
iptables -I FORWARD -p tcp --sport 1234 -m state --state NEW -j LOG --log-prefix "cto_find_issue "
查看日志 tail -f /var/log/messages,滚屏异常快速,记录几秒钟就够了,不然硬盘会爆棚,赶紧取消日志
iptables -D FORWARD -p tcp --sport 1234 -m state --state NEW -j LOG --log-prefix "cto_find_issue "
然后分析日志:
PHYSOUT=peth0 SRC=152.35.118.114 DST=91.121.67.7 LEN=40 TOS=0x00 PREC=0x00 TTL=254 ID=62421 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
Jul 10 20:34:13 UBI01 kernel: cto_find_issue IN=eth0 OUT=eth0 PHYSIN=vifvm639.0 PHYSOUT=peth0 SRC=69.44.248.120 DST=91.121.67.7 LEN=40 TOS=0x00 PREC=0x00 TTL=254 ID=62422 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
Jul 10 20:34:13 UBI01 kernel: cto_find_issue IN=eth0 OUT=eth0 PHYSIN=vifvm639.0 PHYSOUT=peth0 SRC=126.249.126.0 DST=91.121.67.7 LEN=40 TOS=0x00 PREC=0x00 TTL=254 ID=62423 PROTO=TCP SPT=1234 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
很明显,PHYSIN=vifvm639.0 的家伙在做坏事,源头找到,关闭掉vm639,等几分钟在看 cat /proc/net/ip_conntrack 发现已经滚屏明显减慢,按ctrl+c强制中断已经看不到之前的1234的端口记录了,说明问题解决。cat /proc/net/ip_conntrack 正常情况是一段时间后(一般不超过1分钟)会自动停止。