在运维通信监管平台发现大量访问卡在的SYN_RECV状态,看到的netstat -antp状态如下:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:875                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      -                   
tcp        0      0 192.168.10.81:8080          103.100.61.18:65178         SYN_RECV    -                   
tcp        0      0 192.168.10.81:8080          103.100.61.18:29562         SYN_RECV    -                   
tcp        0      0 192.168.10.81:8080          103.100.61.18:50751         SYN_RECV    -                   
tcp        0      0 192.168.10.81:8080          103.100.61.18:11666         SYN_RECV    -

查了下资料。

https://baike.baidu.com/item/SYN%E6%94%BB%E5%87%BB/14762413?fr=aladdin

不想修改现有的服务器参数,防火墙 六壬网安福建本土 很难用设备,图形页面IP一个一个拉黑太累太慢,想了下在服务器上用iptables过滤,分享脚本

#!/bin/bash
#使用crontab 调用每3分钟一次,超过6分钟可以判断为SYN***

#抓出处于SYN_RECV状态的IP地址 记录日志用于分析
netstat -antp|grep "SYN_RECV"|awk -F '[ :]' '{print$27}'|sort|uniq >> $0_ip.log

#分析日志找到大于2次被扫描到的IP地址,加入防火墙
for ip in `cat $0_ip.log |sort|uniq -c|awk '{if($1>2) print$2}'`
do
	rule=`grep "$ip" /etc/sysconfig/iptables|wc -l`
	#判断规则是否存在
	if [ "$rule" -ne 0 ];then
		echo "Firewall rule already exists"
	else
		#添加到防火墙 
		iptables -A INPUT -s $ip -j DROP
		#日志移除IP地址
		sed -i "s|\<$ip\>||" $0_ip.log
		#记录添加日志
		echo "$(date "+%Y-%m-%d %H:%M:%S") $ip Add to firewall" >> $0.log
	fi
done
#centos7中没有service iptables save指令来保存防火墙规则
iptables-save > /etc/sysconfig/iptables