사이트 내 전체검색
검색목록
[ddos] 한 IP당 동시 접속량 제한과 자동차단
로빈아빠
https://cmd.kr/server/666 URL이 복사되었습니다.

본문

사이트 운영자 정찬호입니다. 

ddos를 관리하는 서버에서 당해 봤는데, 속수무책이더군요. 
아래 방법은 사실 기능상의 문법을 가르켜 주는 것 같습니다.. 

초당 50, 100 의 connection 을 막기 위해서는 커널 추적 log에 대한 사이즈, 허용량, 
메모리.. 기타 등 등을 고려하지 않을 수가 없습니다... 

현실적으로 단일 서버에서, 아주 미비한 특정 공격자에 대한 방어로서 사용되야 할 것 같습니다. 

---- 

출처 : 검색엔진 

많은 IP에서 비정상적인 다량의 접속을 시도하므로 한 IP에서의 접속량을 제한하고, 
이후에 접속량이 과다한 해당 IP를 자동차단하도록 할 수 있다. 


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 
exit 0; 


이렇게 3가지 규칙만 실행하면 되늗데, 단순히 3번째 규칙만 실행하면, 
한 IP에서의 동시접속이 30회만 허용되고 그 이상 접속을 하지 못하지만, 
앞의 두 가지 규칙과 함께 사용하면 동시접속이 30회 이상 초과하는 IP를 동적으로 300초(5분)동안 차단한다. 
동시접속수 제한이나 차단시간은 각자의 환경에 따라 적절히 설정하면 된다. 


이때 과다접속으로 차단된 IP에 대한 정보는 다음과 같이 실시간으로 확인할 수 있다. 

# cat /proc/net/ipt_recent/badguy 

src=100.123.65.15 ttl: 63 last_seen: 1174481 oldest_pkt: 2 last_pkts: 1174481, 1174481 

댓글목록

등록된 댓글이 없습니다.

47 (1/1P)

Search

Copyright © Cmd 명령어 3.147.86.143