[[Gentoo Linuxな生活/システム管理関連]] *iptablesで保護 [#xdcb7c01] アクセスコントロールをかけて、保護をしてやるとです。もっとも…うちでどんなんかけてるかは公開は出来ませんけどね。こういう機能を利用してますよ、ということで。 **インストール [#a85e21d4] # emerge iptables # etc-update add iptables default iptablesのコマンドをインストールして、起動時にiptablesが有効になるようにしてやるとですね。 **設定例 [#x3bd5f67] 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ルールは線形検索です。上から探して行って、ヒットしたルールがあると、そこで基本的にルール探索は終わり。パケットを通過するか落とすか決めて処理が終わります。なので、設定したつもりのルールが、動いていないような錯覚に陥る場合は、この辺を勘違いしている場合がおおい。また、よくヒットするルールを前に置いておかないと、通信速度が極端に低下しますから、ルールの設定には気をつけてね!! *設定の保存 [#u8188deb] # /etc/init.d/iptables stop で、設定は通常保存されて、iptablesは停止します。ただし、iptables動かしたまま、設定だけ一時保存したい場合もありますよね。そういう場合は、 # /etc/init.d/iptables save と打つと、保存されますよ。ご利用あれ~