サーバーとサービスをオペレーティングシステムレベルでフラッド攻撃から保護するために、ファイアウォールを設定し、同時接続の数に制限を設ける必要があります。ここでは、いくつかのサービスに対する制限について説明します。必要なポートを設定することで、自分のサービスに対しても同様のルールを追加できます。
ICMP
ICMPフラッドから保護するためには、1秒あたりのPING数に制限を設ける必要があります:
-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
この例では、最大で4回のPINGを許可し、1秒あたりの最大数を6に設定しています。
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
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