在运维通讯监管平台发现大量访问卡在的SYN_RECV状态,看到的netstat -antp状态以下:centos
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 -
查了下资料。bash
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