Image

지식 기반 → 연결 제한을 위한 iptables 설정

[가상 서버]
출판 날짜: 27.01.2023

운영 체제 수준에서 서버와 서비스의 폭주를 방지하려면 방화벽을 구성하고 동시 연결 수에 대한 제한을 설정해야 하며 일부 서비스에 대한 제한 사항을 살펴보겠습니다. 비유하자면 필요한 포트를 대체하여 서비스에 대한 규칙을 추가할 수 있습니다.

ICMP

ICMP 플러드로부터 자신을 보호하려면 초당 핑 수에 제한을 추가해야 합니다:

-A INPUT -p icmp -m hashlimit --hashlimit-upto 6/sec --hashlimit-burst 4 --hashlimit-name icmp -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j DROP

이 예에서는 초당 최대 6회, 최대 4회 ​​핑을 허용합니다.

HTTP и HTTPS

규칙은 동시 연결 수를 제한하며, 이 수는 트래픽에 맞게 조정될 수 있으며 값은 ddos ​​deflate 서비스 규칙보다 커야 한다는 점에 유의해야 합니다.

-A INPUT -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 500 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
-A INPUT -p tcp -m tcp --dport 443 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 500 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

SSH

기본 포트를 22에서 다른 포트(예: 3022 등)로 변경하는 것이 좋습니다. 비밀번호를 추측하려는 시도가 너무 많기 때문에 대부분의 연결은 SSH 서비스에 이루어집니다.

-A INPUT -p tcp -m tcp --dport 3022 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 5 --connlimit-mask 32 -j REJECT --reject-with tcp-reset

메일 등 다른 서비스가 있는 경우에도 비슷한 방식으로 규칙을 만듭니다.





No Comments Yet