LINUX IPTABLE – Limit the number of incoming tcp connections

오늘 아시는 분이 Linux 에서 Syn Flood 공격 차단에 대해서 문의 해 왔습니다.

아래 정책인데, 보면 limit per second 를 이용해서 특정횟수이상 초단위 연결을 차단하는 룰셋인것 같습니다.

# Interface incoming syn-flood protection
-A INPUT -p tcp —syn -m limit —limit 1/s —limit-burst 3 -j RETURN
-N syn_flood
-A INPUT -p tcp —syn -j syn_flood
-A syn_flood -m limit —limit 1/s —limit-burst 3 -j RETURN
-A syn_flood -j DROP
#Limiting the incoming icmp ping request:
-A INPUT -p icmp -m limit —limit 1/s —limit-burst 1 -j ACCEPT

-A INPUT -p icmp -m limit —limit 1/s —limit-burst 1 -j LOG —log-prefix PING-DROP:
-A INPUT -p icmp -j DROP

-A OUTPUT -p icmp -j ACCEPT

 

그리고 이상한 TCP 플래그의 트래픽도 차단하는 룰셋도 함께 적용하면 좋을듯합니다.

##### TCP deny #####
-A INPUT -p tcp -m tcp —tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -p tcp —tcp-flags SYN,FIN SYN,FIN -j DROP
-A INPUT -p tcp —tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp —tcp-flags FIN,RST FIN,RST -j DROP
-A INPUT -p tcp —tcp-flags ACK,FIN FIN -j DROP

 

위 룰셋은 플래그가 일반적이지 않은 TCP 트래픽을 차단합니다.

 

 

Facebook Comments

Leave A Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.