tcpdumpを使用するとプロミスキャスモード(promiscuous mode)になる。
プロミスキャスモードになると、パケットフィルタが解除され、
全てのパケットを受け取ることになる模様。
この事象について解説する。
■ tcpdumpとは
ネットワークを流れるパケットを記録し、結果を出力するキャプチャツール。
■ プロミスキャスモード(promiscuous mode)とは
ネットワークカードの動作モードの一つで、ネットワークを流れるすべてのパケットを受信して読み込むモード。
promiscuousとは無差別という意味。
tcpdumpを使用すると一時的にプロミスキャスモードに切り替わる↓。
kernel: eth0: Promiscuous mode enabled.
kernel: device eth0 entered promiscuous mode
監視ツールで、不正アクセスを検知した際に、
上記のログが出ていれば、tcpdumpが原因ということになる。
■ 対策 : プロミスキャスモードにしない
プロミスキャスモードにしなければ、不明なパケットを受けることはないはず。
プロミスキャスモードにしないためには、-pオプションを使用する。
tcpdump -p port 80
■ 備考 : iptablesとの関連
iptablesはLinuxにおけるパケットフィルタリングコマンド。
Linuxではパケットフィルタの処理は、NetFilterと呼ばれる機能が担う。
iptablesはnetfilterの呼び出しなど、管理を行うコマンドという位置づけになる。
/etc/iptables/iptables.rulesに下記のような記述がある場合、接続済みのコネクションは、
許可されることになるので、監視ツールで、不正アクセスを検知されなくなる。
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT