[ddos] 한 IP당 동시 접속량 제한과 자동차단
로빈아빠
본문
사이트 운영자 정찬호입니다.
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
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
관련링크
댓글목록
등록된 댓글이 없습니다.