CentOSシステムを構成して同時接続数を制限し、サービス拒否攻撃を防ぐ方法
サービス拒否攻撃を防止する接続数の制限されたCentOSシステムを設定するには、次の手順を実行します。
- iptablesファイアウォールを設置する:
iptablesファイヤーウォールをインストールするには、以下のコマンドを使用します。
sudo yum install iptables
- iptablesルールを設定する:
iptables-rulesなどの新しいiptablesルールファイルを作成し、次のルールを追加します。
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
-A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
COMMIT
これらのルールは、ループバックインターフェースと確立された関連接続以外のすべての入力と転送トラフィックを拒否し、SSH接続の同時接続を1分あたり4回に制限します。
- iptablesルールをシステムに適用します:
以下のコマンドを使用して、iptables ルールをシステムに適用します。
sudo iptables-restore < iptables-rules
- iptables ルールを保存する:
iptablesルールを保存し、システムの再起動後にロードされるようにするには、次のコマンドを使用します。
sudo iptables-save > /etc/sysconfig/iptables
- sysctlパラメータを設定します。
同時接続を制限するには、/etc/sysctl.conf ファイルを編集し、以下のパラメーターを追加します。
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
- sysctlパラメータの再読み込み。
次のコマンドを使って sysctl 設定を再読み込みする。
sudo sysctl -p
- fail2ban を配置する:
ブルートフォース攻撃やDoS攻撃の予防には、fail2banをインストール&設定します。具体的な設定手順は、fail2banのオフィシャルドキュメントを参照してください。
すべての手順を完了すると、CentOSシステムが同時接続を制限し、サービス拒否攻撃を防ぐよう構成されます。