ThinkPad X21 でネットワーク監視

ネットワーク監視といってもさまざまですが、何をしたいかというと

今使用しているブロードバンドルータでは、アクセス拒否したログしか表示されません。
そのため、アクセスが拒否されなかった通信(許可したパケット)は把握できません。

ということは、侵入されていても気付かないのでは?
それぞれのWindowsPCにはセキュリティソフトを導入しているので可能性はかなり低いのですが、LANに接続しているのはこれだけではありません。
また、脆弱性などを利用して一時的に侵入されていても、それをあとから調べることもできません。
直接的な被害はなくても、踏み台にされている可能性も考えられます。
不正侵入するときは、おそらくポートスキャンが実行されますが、その行為自体はルータでアクセス拒否できているように見えます。
ただ、すべてを拒否できているかというと上記理由で??な状態です。

ISDNはじめちゃんのころはPCにセキュリティソフトが必須であるという一般的常識はなかったためか、ルータ側には詳細なログを設定できる機種が多くありました。
Yamaha社製などは非常に使いやすかったです。

常時ルータでアクセス許可した通信のログを取得するとおそらくルータのスループットは低下しますので、せめてフィルターの設定を確認する際くらいは拒否した通信以外に許可した通信が確認できればいいなぁと思います。

そもそもルータでアクセス許可したログを表示する機能があれば良いのですが、ISPからのレンタル品やお手ごろな価格で販売されている市販品の家庭用のルータではありません。
ホームユース向けでそこまでできるものは限られています。
調べたところ、MICRO RESEARCH社のルータ(NetGenesis SuperOPT-GFive)ができそうですが、買い換えるのも勿体無いし、無線が使えなくなっては困るしどうしようか?となったわけです。

そこで考えたのは、LANセグメントのパケットを監視すれば・・・と思いました。
ルータをLinuxなどを導入したPCで代替するのも考えましたが、そのPC自体のセキュリティをどうするか、スループットは低下しないかなどいろいろ不安な点があってやめました。

LANセグメントを流れるパケットの監視には、浮遊PCのThinkPad X21を使います。
OSは・・・ネットワークといえばやっぱBSD系かなぁということでFreeBSDを選定しました。

パケットのキャプチャーは、標準で使用できるTCPDUMPでできます。
それをグラフィカルに解析表示するために、Wiresharkを使うことにしました。
※WireSharkはetherealの後継です。Wiresharkだけでもキャプチャはできますが、TCPDUMPが自由度が高いだろうと思います。

あとは、LAN内の全通信をキャプチャするためにリピータハブかポートミラーリング対応のスイッチングハブ(インテリジェントスイッチングハブ)が必要です。
インテリジェントスイッチングハブであれば監視機能が充実しているのでポートミラーリング機能対応していることのほうが多いのですが、ビジネス用途を想定しているので高額になります。
そこでねらい目なのがSOHO向けの製品です。これであればホームユース製品より少し高い程度です。

1.目的
不正アクセスの検知

2.方針
ルータを通過するLANセグメントのすべてのパケットをキャプチャ
①リピータハブもしくはインテリジェントスイッチングハブ(ポートミラーリング対応)
②ThinkPad X21にFreeBSDを導入(安全性の観点で不要なものはなるべく導入しない)
③tcpdumpコマンドでパケットをキャプチャ
④wiresharkでリアルタイムに表示

3.方法
肝心のポートミラーリング機能搭載のスイッチングハブが手元にないため、現状でできるのはPCの設定のみです。
(1)FreeBSDの導入

まず、ThinkPad X21にFreeBSD 7.2を導入しました。
OSのインストールはスムーズに終わりましたが、リブートすると起動できません。
どうもBIOSがバグのあるバージョンだったらしく、一旦HDDを取り外し、BIOSとエンベディットコントローラのバージョンを最新にしてなんとか起動できました。

(2)X11環境の導入
X.orgに関しては、OS導入時に済ませましたが、完全ではないため残りのものを導入しました。
※X.org自体をソースから導入するととんでもなく時間がかかります。

(3)portsの構成
WireSharkをportsから導入するため、portsの更新などに関する設定を済ませました。

(4)WireSharkの導入
portsから導入すると、芋ずる式にどんどん関連するプログラムがコンパイルされインストールされます。

(5)tcpdumpの設定
最初はすべてのパケットを対象にして、状況をみてルータのフィルター設定を変えたりしながら対象のパケットもチューニングしていけばよいかなぁ程度です。

(6)Wiresharkの設定
監視対象を何にするかで作業内容もかわりますし、検知したい対象を早期発見するための表示設定などもチューニングしていくことになりそうです。
不要な情報かどうかを判断して必要な情報だけを表示するよう設定を変更していく作業をしなければなりません。

あとはスイッチングハブを入手してから実際に作業していくことになります。
詳細はそのときに記載したいと思います。