「iptables ログを出力する」の版間の差分
提供: セキュリティ
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
− | |||
− | |||
− | |||
[[iptables]] は、通信ログをロギングすることができます。 | [[iptables]] は、通信ログをロギングすることができます。 | ||
行7: | 行4: | ||
== 概要 == | == 概要 == | ||
+ | [[iptables]] は、LOG ターゲットを使用し、ルールにマッチしたパケットの情報を [[syslog]] に出力できます。 | ||
+ | 標準では、ファシリティは kern 、プライオリティは warn で、 /var/log/messages のログファイルに出力されます。 | ||
+ | ログのオプションは、LOG ターゲットのあとに指定します。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | iptables COMMAND chain rule-specification -j LOG log_option | ||
+ | </syntaxhighlight> | ||
− | == | + | == ログオプション == |
+ | ;--log-level level: [[syslog]] のプライオリティを level に指定します。 | ||
+ | ;--log-prefix prefix: ログに出力メッセージのプレフィックス(prefix)を指定します。 | ||
+ | == 使い方 == | ||
=== ログを出力する === | === ログを出力する === | ||
− | |||
以下は、[[TCP]] の入力をすべてログをとる例です。 | 以下は、[[TCP]] の入力をすべてログをとる例です。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行27: | 行32: | ||
/var/log/messages には、次のような行がたくさん出力されます。 | /var/log/messages には、次のような行がたくさん出力されます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | Aug 11 23:33:31 u1 kernel: IN=eth1 OUT= MAC=マックアドレス SRC=アクセス元IPアドレス DST=ターゲットのIPアドレス LEN=44 TOS=0x00 PREC=0x00 TTL=38 ID=53412 PROTO=TCP SPT=64558 DPT=8007 WINDOW=1024 RES=0x00 SYN URGP=0 | + | Aug 11 23:33:31 u1 kernel: IN=eth1 OUT= MAC=マックアドレス |
+ | SRC=アクセス元IPアドレス DST=ターゲットのIPアドレス | ||
+ | LEN=44 TOS=0x00 PREC=0x00 TTL=38 | ||
+ | ID=53412 PROTO=TCP SPT=64558 DPT=8007 | ||
+ | WINDOW=1024 RES=0x00 SYN URGP=0 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | 1行が長いので、折り返しを入れてあります。 | ||
− | == | + | === 不正なパケットをロギングしてブロックする === |
− | * [[ | + | 入力された不正パケットをロギングして、ブロックします。 |
+ | <syntaxhighlight lang="bash"> | ||
+ | iptables -A INPUT -m state --state INVALID -j LOG | ||
+ | iptables -A INPUT -m state --state INVALID -j DROP | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 出力された不正パケットをロギングして、ブロックします。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | iptables -A OUTPUT -m state --state INVALID -j LOG | ||
+ | iptables -A OUTPUT -m state --state INVALID -j DROP | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == 関連項目 == | ||
+ | {{iptables}} | ||
+ | * [[syslog]] | ||
+ | <!-- vim: filetype=mediawiki --> |
2014年2月20日 (木) 18:27時点における最新版
iptables は、通信ログをロギングすることができます。
概要
iptables は、LOG ターゲットを使用し、ルールにマッチしたパケットの情報を syslog に出力できます。 標準では、ファシリティは kern 、プライオリティは warn で、 /var/log/messages のログファイルに出力されます。
ログのオプションは、LOG ターゲットのあとに指定します。
iptables COMMAND chain rule-specification -j LOG log_option
ログオプション
- --log-level level
- syslog のプライオリティを level に指定します。
- --log-prefix prefix
- ログに出力メッセージのプレフィックス(prefix)を指定します。
使い方
ログを出力する
以下は、TCP の入力をすべてログをとる例です。
sudo iptables -A INPUT -p tcp -j LOG
デフォルトでは、ログは、/var/log/messages に出力されます。
ほかのホストからアクセスをしてみます。
nmap -sS IPアドレス 22
/var/log/messages には、次のような行がたくさん出力されます。
Aug 11 23:33:31 u1 kernel: IN=eth1 OUT= MAC=マックアドレス SRC=アクセス元IPアドレス DST=ターゲットのIPアドレス LEN=44 TOS=0x00 PREC=0x00 TTL=38 ID=53412 PROTO=TCP SPT=64558 DPT=8007 WINDOW=1024 RES=0x00 SYN URGP=0
1行が長いので、折り返しを入れてあります。
不正なパケットをロギングしてブロックする
入力された不正パケットをロギングして、ブロックします。
iptables -A INPUT -m state --state INVALID -j LOG iptables -A INPUT -m state --state INVALID -j DROP
出力された不正パケットをロギングして、ブロックします。
iptables -A OUTPUT -m state --state INVALID -j LOG iptables -A OUTPUT -m state --state INVALID -j DROP
関連項目
- iptables
- iptables のインストール
- iptables のテーブル
- iptables のサービスのコントロール
- iptables のコマンドラインオプション
- iptables のルールを確認する
- iptables の設定ファイル
- iptables の設定の変更
- iptables のターゲット
- iptables ログを出力する
- iptables アクセス回数を制限する
- iptables 接続状態
- iptables ステートフルパケットインスペクション
- iptables が動かない場合
- iptables ICMPのタイプ
- iptables icmp echo requestを許可する
- iptables DNSを許可する
- iptables HTTPとHTTPSを許可する
- iptables sshを許可する
- iptables の設定例
- ufw (Uncomplicated FireWall)、iptablesのフロントエンド
- ファイアーウォール
- syslog