Back to page

− Links

 Print 

Linuxまわり :: Nest Of Hawk

xpwiki:Linuxまわり

Gentoo Linuxな生活​/システム管理関連[1]

Table of contents
  • iptablesで保護
    • インストール
    • 設定例
  • 設定の保存

iptablesで保護 anchor.png[2]

アクセスコントロールをかけて、保護をしてやるとです。もっとも…うちでどんなんかけてるかは公開は出来ませんけどね。こういう機能を利用してますよ、ということで。

Page Top

インストール anchor.png[3]

# emerge iptables
# etc-update add iptables default

iptablesのコマンドをインストールして、起動時にiptablesが有効になるようにしてやるとですね。

Page Top

設定例 anchor.png[4]

iptablesにはいろんな機能がありますが、私は、ステートフルパケットフィルタってのを使用しています。SYNFloodとかを防止できるわけね。

例で、$trusthostっていうホストからのsshは透過して、それ以外のパケットアクセスがあったら、ログに出力してパケット落とした事を分かるようにします。

#新規接続におけるTCP SYN以外のパケットは落とす
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#新規接続、接続済みのSSHで、$trusthostからのパケットは通す
iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -s $trusthost --dport 22 -j ACCEPT
#新規接続、接続済みのSSHで、$trusthostへのパケットは通す
iptables -A OUTPUT -p tcp -s $myhost --sport 22 -d $trusthost -j ACCEPT

#LOGGINGグループを新規定義
iptables -N LOGGING
#limitに達した回数パケットがヒットした場合は、DROP:ってプレフィックスつけてログ出力の上でパケットをドロップ
iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
iptables -A LOGGING -j DROP
#INPUTルールに引っかからなかったらLOGGINGへ
iptables -A INPUT -j LOGGING
#OUTPUTルールに引っかからなかったらLOGGINGへ
iptables -A OUTPUT -j LOGGING

どうでしょう。分かりました?他にもいろいろ組み合わせられますよ。DoS攻撃を封じるとか、QoSを設定してみるとか、いろいろできます。なお、iptablesルールは線形検索です。上から探して行って、ヒットしたルールがあると、そこで基本的にルール探索は終わり。パケットを通過するか落とすか決めて処理が終わります。なので、設定したつもりのルールが、動いていないような錯覚に陥る場合は、この辺を勘違いしている場合がおおい。また、よくヒットするルールを前に置いておかないと、通信速度が極端に低下しますから、ルールの設定には気をつけてね!!

Page Top

設定の保存 anchor.png[5]

# /etc/init.d/iptables stop

で、設定は通常保存されて、iptablesは停止します。ただし、iptables動かしたまま、設定だけ一時保存したい場合もありますよね。そういう場合は、

# /etc/init.d/iptables save

と打つと、保存されますよ。ご利用あれ


Last-modified: 2009-10-19 (Mon) 23:27:31 (JST) (4062d) by maruo