さぁ、実に1週間ぶりのテーマ「???」なワケだが。
いやー、のばしのばしにしちゃってスマナイね。
ココにきてようやくARPキャッシュポイズニングの対策を書くことになったワケだよ。
いや、っていうのもさぁ。
Vistaが予想だにしないタイミングで届いちゃってさぁ。
ちょっとテンション上がっちゃってたワケだよ。うん。
ホントはさ、スルーするぐらいの気持ちでいたんだよ?
みんながVistaで騒いでる間にあえてムシするぐらいのさぁ。
え、前置きはいいからとっととヤレ?
しっ、失礼致しましたーー!
んま、というワケで対策をばサクサクと。
前にも書いたとおり、このARPタンは「オレオレ詐欺」なんかにカンタンにひっかかっちゃうようなアホの子なんだけど。
でも実は、教えたことを決して忘れない記憶力の持ち主でもあるんだな。
んでまた、1度教えられたら絶対騙されない不屈の精神の持ち主でもあるんだよね。
(まぁ基本はアホの子なんだけど)
で、その教え方はっていうと、コマンドプロンプトで以下のコマンドを実行する。
arp -s <IPアドレス> <MACアドレス>
コレでIPアドレスとMACアドレスの対応情報を設定しておけば、ARPキャッシュポイズニングにやられる心配はなくなるってワケだ。
試しにarp -aを実行してみると、Typeがdynamic(動的)ではなくstatic(静的)になっている。
(クリックで元画像表示)
ただ、環境によっては大規模なネットワークだったり、少々PCの出入りが激しいところもあるだろう。
そこで今度は未然に防ぐのでなく、ネットワーク上のARPの異変を検出する方法を紹介しよう。
今回は無償で使えるLinuxの検出ツール、arpwatchについてご紹介。
arpwatch (Berkeley Lab)
ftp://ftp.ee.lbl.gov/arpwatch.tar.gz
このarpwatchのインストールにはlibpcapが必要なので先にインストールしておこう。
手順は、まずarpwatchのソースファイルをダウンロードして解凍する。
(ちなみにディストリビューションによってはyumとかapt-getでもインストールできるぜ)

(クリックで元画像表示)
解凍が終わったらそのディレクトリに移動し、「./configure」を実行してMakefileを作成する。
Makefileの作成が終わったらコンパイルを実行する。
(クリックで元画像表示)
と、ココでまさかの緊急事態発生!
(ただのコンパイルエラーだけど。笑)(クリックで元画像表示)
どうやらlibpcapのh(ヘッダ)ファイルの場所が悪かったらしい。
今回は面倒だったので/usr/include/pcap/のファイルを/usr/include/にコピーして対処。
(よいこのみんなはこんなズボラな人間になっちゃダメだぞっ)
コンパイルが終わったら、インストールを実行する。
(クリックで元画像表示)
これでインストール完了なワケだが、起動するにはもうひと準備必要なのだ。
まず/usr/local/arpwatch/ディレクトリを作成する。
次に/usr/local/arpwatch/ディレクトリにarp.datファイルを作成する。
準備完了したところで、さっそくarpwatchを実行してみよう。
(クリックで元画像表示)
ログを見てみると確かに動作を開始していることが分かる。
試しにARPキャッシュポイズニングを開始してみると、異変を察知してログを出力した。
(クリックで元画像表示)また、ARPキャッシュポイズニングを停止してみると、またも異変を察知してログを出力した。
(クリックで元画像表示)
ちなみにarpwatchではsendmailを利用してメールで通知することもできるようだ。
やってないけど。