SYN 숫자 체크후 HOST_IP 차단쉘 / syn flooding

리눅스/Network|2015. 1. 26. 17:46
반응형

# SYN 숫자 체크후 HOST_IP 차단쉘

 

지금 이 쉘을 보면 웃음이 난다.

한참 SYN flooding 공격으로 고생하고 있을때 막을 수 있는 여러가지 고민을 하고 적용을 했지만

처리를 못했다. 서버는 계속 죽고 서비스는 해야겠고 일단 임시적으로 방법을 만들어 놓고 원인을 분석하고

원천적으로 막을 수 있는 방법을 생각할 수 밖에 없었다.

이 쉘을 만들 당시 공격으로 인해 스트레스도 많이 받고 힘들었지만 어느정도 이 쉘이 시간을 벌어 줬고

원인을 찾을 수 있었다.

필요에 따라 수정 해서 사용 할 수 있는 쉘이다.

 

 

#!/bin/sh 
# by ForSpeed | i@minsu.net


TODAY=$(date +%Y%m%d.%H:%M:%S) 
LOGDIR="/root/bin/syn_log" 
LIST="$LOGDIR/syn_list" 
netstat -an |grep SYN |awk '{print $5}' | awk -F : '{print $1}' | sort -n -u | grep -v 59.9.140.34 > $LOGDIR/syn_list

for i in `cat $LIST` 
do 
SYN_NUM=`netstat -an |grep SYN |grep $i|wc -l` 
if [ $SYN_NUM -gt 50 ]; then 
X=`/sbin/iptables -L -n |grep $i |awk '{print $4}' |sort -u ` 
if [ $X = $i ]; then 
echo "$i already insert iptalbes rule" 
else 
echo "$TODAY $i DROP" >> $LOGDIR/drop_list.log 
/sbin/iptables -I INPUT -s $i -j DROP 
fi 
fi 
done 

 

 

[출처] 항상 행복한 사람 | 심민수 (http://blog.minsu.net/130037696585)

반응형

댓글()