ddos 공격을 방지하기 위해 IP 당 200 개 이상의 요청을 삭제하고 싶습니다. 이것은 ip 당 요청 수를 감지하는 데 사용한 명령입니다.
netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
이제 IP 테이블에 200 개 이상의 요청을 만든 모든 IP 주소를 DROP 입력 및 출력에 추가하고 싶습니다.
답변
iptables를 사용하여 들어오는 연결 속도를 제한 할 수도 있습니다. 예를 들어 소스에서 분당 200 개 이상의 연결을 원하지 않는 경우 :
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 200 -j DROP
답변
을 만들 수 있습니다 ipset
. 이렇게하면 iptables
규칙 세트 를 수정하지 않고도 필요한만큼 세트에 IP를 추가 할 수 있습니다 .
ipset -N myset iphash
ipset -A myset 1.1.1.1
ipset -A myset 2.2.2.2
또는 귀하의 경우 스크립트 출력을 사용하여 다음과 같이 읽으십시오.
while read a; do ipset -A myset "$a"; done < <(your script here)
그리고 iptables
규칙 에서 참조하십시오 .
iptables -A INPUT -m set --set myset src -j DROP
자세한 내용과 옵션 은 맨 페이지 를 참조하십시오.
직접 사용하여 DDOS 공격 을 완화 하는 다른 방법도 iptables
있습니다. 및 모듈 iptables
에 대한 맨 페이지 섹션을 읽으십시오 .connlimit
recent