Linuxでのiptablesのターゲット仕様

フィルタテーブルでは、ファイアウォールのルールは、最も使用されるターゲットDROPとACCEPTされます。場合ルールは、フィルタリングの仕様と一致し、DROPターゲットは、パケットを単に破棄されます。パケットがDROPターゲットを持つルールに一致するには、Linuxカーネルは、ファイアウォール内の他のルールを相談することなく、パケットをドロップします。場合は、ターゲットはACCEPT、クリックされているパケットを他のファイアウォールルールの一層の協議なしに受け付けています。
DROPに代替は、パケットをドロップしますが、送信REJECTターゲットでは、パケットの送信元IPアドレスにICMPパケット。デフォルトでは、REJECTターゲットでは、ICMP'ポートは、送信者に'到達不能メッセージが送信されますが、それは、" -を拒否する"スイッチを使用して上書きすることができます。
iptablesのルールのターゲットも、ユーザ定義チェインにパケットを渡すために使用することができます。たとえば、私たち"iptablesの-ムのSSH"のような新しいチェーンを作成し、我々は、このように、ポート22上のすべての着信TCP接続のため、このチェーンを探すためにカーネルに指示する必要があります:

  

iptablesの-入力で- p tcp - dportと22論文のSSH

もう1つの有用なターゲットのログは、パケットをカーネルログには、dmesgまたはsyslogdを読むことができるフィルタリング仕様では、一致するログに使用することができます。ターゲットオプションは、ログ:

 

  • -ログレベルのレベル:名前または番号を指定できますロギングのレベルです。有効な名前、、、、、警告crit ERRを警告、情報、通知、デバッグされ、7から0に対応する番号をemergの。
  • を- log -プレフィックス:ログ接頭辞、最大29文字の文字列では、ログメッセージの先頭に配置さ続いています。
  • を- log - tcpのシーケンス:TCPシーケンス番号を記録します。
  • を- log - tcpのオプション:TCPパケットヘッダのオプションフィールドを記録します。
  • を- log - IPベースのオプション:IPパケットのヘッダのオプションフィールドを記録します。
  • -ログのuid:ユーザのログは、そのパケットを生成したプロセスのIDです。

 

LOGターゲットはACCEPT、DROPなどの終端のターゲット、およびREJECTされていません。これは、もしパケットには、LOGターゲットを持つルールに一致することを意味し、カーネルでも、このパケットに一致する次のルールを探します。ログターゲットを持つルールの制限に一致するログファイルの洪水を防ぐために良いだろう。

例として、以前の私とは、SSHチェーンの作成渡されたパケット内のポート上で22/TCP来る。さて、例えば、192.168.0.0/27と10.10.15.0/24からの着信SSH接続を受け付けるようにしたいと他のすべての試みのログが、私たち5へのログインを制限する/秒、SYN flood攻撃の場合のために上ポート22/TCP、ログはすぐにいっぱいになる。

まず、我々は、SSHのチェーンは、信頼できるホストからの接続を許可するルールを追加します:

iptablesの-のSSH - 192.168.0.0/27 -論文同意秒
iptablesの-のSSH - 10.10.15.0/24 -論文同意秒

次に、我々はログルールを追加します:

iptablesの-のSSH -メートルの制限-制限5 /秒- jログ

そして、他のすべての接続をドロップ:

iptablesの-のSSH -論文ドロップ

我々は、設定を確認する必要があり、我々 iptables - Lは、は、nを使用します。我々は、INPUTチェインに表示されます:


ルータ@ルート:〜/ lucix#iptables - Lは-ム

我々は、SSHのチェーンが表示されます:

チェーンのSSH(1参照)
ターゲットprotの送信元から宛先オプトイン
同意すべて- 192.168.0.0/27 0.0.0.0 / 0
同意すべて- 10.10.15.0/24 0.0.0.0 / 0
0の制限:5ログのフラグは0、レベル4 5/secバーストAVGのすべて- 0.0.0.0 / 0 0.0.0.0 /ログイン
ドロップすべて- 0.0.0.0 / 0 0.0.0.0 / 0

私たちは不正なホストからのポート22にtelnet接続をしようとは、SSHのチェーンをテストする。 iptablesを使用し、通常L - Ñ - vを、我々は、そのパケットは、LOGとDROPのルールマッチが表示されます:


チェーンのSSH(1参照)
pktsバイトprotのソース先のオプトアウトのターゲット
0 0 0同意すべて- * 192.168.0.0/27 0.0.0.0 / 0
0 0 0同意すべて- * 10.10.15.0/24 0.0.0.0 / 0
1〜48ログのすべて- * * 0.0.0.0 / 0 0.0.0.0 / 0
制限:5ログのフラグは0、レベル4 5/secバースト平均
1〜48をすべて削除します- * * 0.0.0.0 / 0 0.0.0.0 / 0

さて、もしあなたのログをdmesgコマンドを使用して見て、あなたが表示されます:

= eth0の切れ=のMAC = 00:d0を:B7の:A7で:ビル6F:74:00:04:23:継続前誌:14:E6を:08:00 鉄骨= 192.168.168.168 のDST = 192.168.0.1 LENは= 48 TOSの=は0x00 precの=は0x00 TTLを= 109番号= 54250 DF原=のTCP sptを= 27276 DPTの= 22 ウィンドウ= 16384解像度=は0x00のSYN URGP = 0

これは、192.168.168.168のポートは22日、TCP接続しようと教えてくれる。

記事は、フィリップクレア提出


免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。
重要: この記事は、"Linuxでのiptablesのターゲット仕様"の自動ソフトウェアによって翻訳された。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。


Online: 327 users browsing the articles directory