iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP

- 1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다.
   이는 정상적인 요청이 아닌 공격으로 간주한다.


iptables -m connlimit -h

# iptables -A FORWARD -m recent --name badguy --rcheck --seconds 300 -j DROP
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -m recent
--name badguy --set -j DROP
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
위의 3 줄을 실행하면 가능한데,단순히3번째 룰인
# iptables -A FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 30 -j DROP
만 실행하게 되면,한 IP에서의 동시접속이 30회만 접속을 허용할 뿐 그 이상 접속을 하지
못하지만, 위의 두 룰을 함께 사용하게 되면 동시접속이 30회 이상 초과하는 IP를 dynamic
하게 300초(5분)동안 자동 차단하게 된다. 동시접속수(30) 제한이나 차단시간(5분)은 각자
의 환경에 따라 적절히 설정하면 된다.
이때 과다접속으로 차단된 IP에 대한 정보는 다음과 같이 실시간으로 확인할 수 있다.
# cat /proc/net/ipt_recent/badguy

블로그 이미지

유효하지않음

,