|
1: 2009-10-19 (Mon) 23:24:49 maruo  |
| + | [[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ルールは線形検索です。上から探して行って、ヒットしたルールがあると、そこで基本的にルール探索は終わり。パケットを通過するか落とすか決めて処理が終わります。なので、設定したつもりのルールが、動いていないような錯覚に陥る場合は、この辺を勘違いしている場合がおおい。また、よくヒットするルールを前に置いておかないと、通信速度が極端に低下しますから、ルールの設定には気をつけてね!! |
Counter: 3161,
today: 1,
yesterday: 1