iptablesで鉄壁?の守りを実現する3つのTips

iptablesでサーバを守るときに知っておくと良いことを3つ紹介します

1. 接続回数を制限する(IPアドレスごと)

hash_limitを使います
これにより特定ホストからの大量アクセス、DoS攻撃を緩和することが可能です

2. 接続回数を制限する(サービスごと)

limitを使って制限します
これにより多数のホストからの攻撃、DDoS攻撃を緩和します
limitを使った制限は全ホストが等しく制限を受けるため、ssh等に設定すべきではありません。
(攻撃を受けている間は自分たちも制限されるため)
Webサーバが大量アクセスで落ちそうな場合は使えるんじゃないでしょうか?

3. 接続IPアドレスを限定する

IPアドレスの国別割り当てをAPNIC等から取得してコマンドを作ります
この手のルールは長くなるので、ユーザー定義チェインにしたほうが見やすくなります

あとはこんな感じのスクリプトを用意して
iptables.pl

rootでこんな感じのコマンドを打てばIP制限チェインの出来上がりです

# wget http://ftp.apnic.net/stats/apnic/delegated-apnic-latest \
-O - | ./iptables.pl ACCEPT_IP | bash

細かいパラメータや、IPアドレスについては各自調整してみて下さい

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

yamasita

東京電機大学工学部→3年間某SIerにて銀行システムの開発→bpsに入社→TechRacho外部ライター

yamasitaの書いた記事

インフラ
現場で使うansible

2014年12月25日

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ