第7回 iptablesでできるDoS/DDoS対策
鶴長 鎮一
2010/7/14
iptablesを使わずにLinuxでできるDoS/DDoS対策
LinuxのカーネルパラメータにはDoS/DDoS対策に有効なものがあります。これを用い、iptablesを使わずにDoS/DDoS対策を行う方法を解説します。最近のディストリビューションならば標準で対策されているため、追加設定は不要です。
■SYNクッキーを有効にする(SYN攻撃対策)
以前テンプレート3で、パケットのステートフル性を確認する方法を紹介しました。ステートフル性を確認することで、3ウェイハンドシェイクを満たさないパケットを破棄できます。
しかし、SYN→SYN/ACK→ACKを完了していながらデータを送信してこない「コネクション完了型」のアタックに対して、この手法は役に立ちません。そこで、「SYN cookies(SYNクッキー)」を使用します。SYNクッキーを使用することで、ACKの中に含まれる確認応答番号を計算し、正しいセッションであることを確認できます。セッションの正当性を確認してから処理を行うことにより、無駄な処理でコネクションなどのリソースが費やされるのを防ぐことができます。
LinuxでSYNクッキーが有効になっているか否かは、/proc/sys/net/ipv4/tcp_syncookiesファイルの内容で確認できます。「1」と書き込まれていれば有効になっています。有効になっていない場合は、以下のコマンドで有効にすることができます。
# echo '1' > /proc/sys/net/ipv4/tcp_syncookies
または、
# sysctl -w net.ipv4.tcp_syncookies=1 |
|
| SYNクッキーを有効にする |
ただし、上記の方法ではマシンを再起動すると設定が消えてしまいます。再起動後もSYNクッキーを有効にするには、/etc/sysctl.confファイルに以下の行を追記します。
net.ipv4.tcp_syncookies=1 ←追加 |
|
| /etc/sysctl.confで再起動後も設定を有効にする |
SYNクッキーを有効にするとACKの中に含まれる確認応答番号を計算するため、パケット処理において多少オーバーヘッドが発生します。パケットの流量によっては、CPUの処理能力がネックになる可能性があることを覚えておきましょう。
■ブロードキャストpingに答えない(Smurf攻撃対策)
Smurf攻撃は、ターゲットにしたホストに対して、送信元アドレスを偽造したICMP pingエコーを大量に送り付ける攻撃方法です。pingエコーを特定のホストではなくブロードキャストアドレスに対して送信した場合、そのネットワーク上のすべてのコンピュータから応答パケットが投げ返されます。Smurf攻撃はこれを悪用するため、Linux側でブロードキャストpingに答えないようにします。
# echo '1' > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
または、
# sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 |
|
| ブロードキャストpingに応答しない |
マシン再起動後も設定を有効にするには、/etc/sysctl.confファイルに以下の行を追記します。
net.ipv4.icmp_echo_ignore_broadcasts=1 ←追加 |
|
| /etc/sysctl.confで再起動後も設定を有効にする |
次回予告
テンプレートを利用したiptablesの解説は今回が最後です。最終回ではitablesを快適に使うためのTipsを紹介します。
 |
3/3 |
|
| Index |
習うより慣れろ! iptablesテンプレート集 改訂版
第7回 iptablesでできるDoS/DDoS対策 |
|
| |
Page 1
はじめに
DoS/DDoS対策の難しさ
2通りプラス1の対策方法
テンプレート12 応答回数を制限する(limit編) |
| |
Page
2
テンプレート13 応答回数を制限する(hashlimit編) |
|
Page 3
iptablesを使わずにLinuxでできるDoS/DDoS対策
次回予告 |
|
| Linux Squareフォーラム セキュリティ関連記事 |
TechTargetジャパン
キャリアアップ

**先週の人気講座ランキング**
〜 Android編 〜