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