메뉴 건너뛰기

XEDITION

MaraSong :: 정보와 기술 IT

iptables - 커넥션 갯수로 특정 아이피 차단하기 

 

이 방법은 임시로 사용해야 하며, 공격이 계속되는 경우 IDS / IPS 를 이용해서 방어해야 합니다.

 

공격이 빈번하게 들어오는 경우에는 cpu 가 높아져서 서비스에 영향을 주게 됩니다.

 

아래 예에서는 80포트를 감시합니다.

 

커넥션이 30개가 넘는 아이피는 iptables 를 통해서 5분동안 차단합니다.

 

즉, 해당 서버로 커넥션 시도까지는 가능하다는 이야기이니 그리 좋은 방법은 아닙니다.

 

네트워크 윗단에서 막아야 합니다. (만, 그래도 급하면 사용해야죠. 그리고 효과는 생각보다 좋습니다.)

 

 

# cat /etc/sysconfig/iptables

 

# Generated by iptables-save v1.4.18 on Tue Aug  7 06:27:53 2018
*filter
:INPUT ACCEPT [59:4346]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [53:5436]
-A INPUT -m recent --rcheck --seconds 300 --name badip --mask 255.255.255.255 --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 30 --connlimit-mask 32 --connlimit-saddr -m recent --set --name badip --mask 255.255.255.255 --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 30 --connlimit-mask 32 --connlimit-saddr -j DROP

 

# 추가로 비정상 패킷도 차단 
-I INPUT -d 192.168.123.123 -p tcp -m tcp --dport 80 -m state --state INVALID -j DROP
-I INPUT -d 192.168.123.123 -p tcp -m tcp --dport 80 -m state --state INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7--mss 1460
-t raw -I PREROUTING -d 192.168.123.123 -p tcp -m tcp --syn --dport 80 -j CT --notrack

 

COMMIT
# Completed on Tue Aug  7 06:27:53 2018

 

 

이 룰셋에 걸린 아이피는 badip 파일에 저장됩니다.

 

 /proc/net/xt_recent/badip

 

 

 

 

 





* 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.

위로