オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

ルーター・ファイアーウォールのポリシーのチェックは大変

»

趣味ネタばかりでなく、たまにはITネタも書けということで。。

ルーターやファイアーウォールのフィルターなどのポリシーは、設定も大変ですがそれ以上にチェックが大変です。プロトコルや送信元IP・Portと宛先IP・Portの組み合わせによってフィルターを通すのか、NAPTするのか、など様々なポリシーを設定しますので、それをきちんとチェックしようとすると、できるだけ同じような環境を擬似的に準備して、1つずつチェックしていくしかありません。

まあ、個人的にはルーターやファイアーウォールのポリシー設定は苦手というか、性格的に向いていないと思いますので、本当はやりたくないのですが、なぜか自社のルーターや客先の設定まで、それなりにやらざるを得ないことも多く、とても嫌な仕事の1つでした。大抵は設定だけして、本稼働させて「まあ、大丈夫だろう」という感じで済ませていたと白状しておきましょう。

そんなあるとき、パートナーさんから「ルーターやファイアーウォールのポリシー設定チェックを自動でやりたい」と相談を受けました。ネットワークポートがたくさんあるアプライアンスで、ルーターやファイアーウォールと直結して、擬似的にいろいろな環境を作り出しながら自動で全てのテストを終わらせたい、とのことでした。ちょうど発売になったばかりの「ソースコードで体感するネットワークの仕組み」を書いていた頃でしたので、「そんなものはこのプログラムを使えば簡単!」と、すぐに実験して、製品化することになったのでした。実際は、できるかどうかを検討するのは簡単でしたが、その後、誰もが便利に使える状態にするのは大変な作業で、そこは私ではなく優秀なメンバー達が仕上げてくれたのでした。

すでに製品は「Firewall Tester」として発売になっているのですが、一度もブログで紹介していなかったので書いてみます。ちなみに、この製品を作りたいと声をかけてくれたパートナーさんの記事はこちら:「Fireallのテストってどうしてますか?

実はメンバー達に製品化を任せてから、私はほとんど触っておらず・・・使い方が良くわからないので、マニュアルを読みながらいじってみます。

0.jpg

ヤマハのルーターの下にあるのがFirewall Testerです。ちなみに、これは製品化前の筐体で、本物と少し印刷などの見た目が異なります。。

ルーターの各ポートにFirewall TesterからLANケーブルをつなぎます。白いLANケーブルはWEBでコントロールするためのもので、パソコンとつなぎます。

1.jpg

まずはFirewall Testerのインターフェースの設定を行います。1台でクライアント側・サーバ側など複数の機器の役割を果たしてくれます。

VLANやPPPoEにも対応していますが、今回はシンプルに使わずに行えるチェックで。。

2.jpg

テストポリシーを作成していきます。

3.jpg

WEBで1つずつ作成することも可能ですが、数多くのテストポリシーをこの画面でチマチマ作っていくのは大変ですので・・・

4.jpg

CSV形式でダウンロード・アップロードできますので、NumbersやExcelでコピペしたりしながら編集するのが簡単でしょう。

5.jpg

CSVファイルをアップロードするとこのように簡単にテストポリシーが準備できます。

6.jpg

個別にテストを実行することもできますが、今回は一括実行をしてみます。順番にテスト結果が表示されていきます。

7.jpg

すべてのテストが終わりました。結果をCSVファイルでダウンロードすることも可能です。

より詳しい様子を確認したい場合は、パケットキャプチャファイルを取得することも可能です。

8.jpg

テスト1つずつ、送信側・受信側に分けてキャプチャファイルが得られます。

9.jpg

よくわからない結果になった場合などにはパケットの様子を見ればすぐにわかることでしょう。

10.jpg

この図が理解できるかどうかが、Firewall Testerを使いこなせるかどうかの大きなポイントになります。なかなか頭が混乱するものですが、ネットワーク屋さんには簡単なことでしょう。。

ということで、「ソースコードで体感するネットワークの仕組み」でのサンプルプログラムも、実は役に立つケースもあると書いていたのは、この製品だったのでした。もちろん、他にも役に立つ場面は結構あるのですよ。例えばTCP/IPでOSに任せていてはつけられないオプションをつけてみたいとか、わざとプロトコル違反のパケットを送信してみたいなど・・・あまり普通の開発現場では必要ないかも知れませんが、私のところでは結構使いたいときは多いのです。うちのメンバー達なら自分でパケットを送ることくらい簡単ですが、TCP/IPのセッションをそれらしく確立させながら変なパケットを送るのは、さすがに少しは手間がかかりますので、この本のサンプルプログラムみたいなものがあればとても便利なのです!

Comment(0)