ユーザ認証付きパケットフィルタリングに基づいたファイヤウォールの設計、実装、および、評価を行なった。 開発基盤としてはBSD/OS2.0を選択し、カーネル空間のパケット転送部においてパケットのフィルタリングを行う機構を実装した。パケット制御表のパラメータとしては、始点・終点IPアドレス、始点・終点ポート、トランスポートプロトコル、ユーザ名を指定できるようにした。また、ユーザ空間からカーネル内のフィルタリングのためのパケット制御表を動的に変更する仕組を構築した。これは、カーネル空間とユーザ空間に新たな通信ドメインを実装することで達成した。そして、ある通信において最初のパケットからユーザを認証する機構の雛型としてIdentを採用し実装した。SYNフラグの立ったTCPプロトコルの最初のパケットは、カーネル空間からユーザ空間に送られ、これをユーザ認証プロセスが受け取る。そして、ユーザ認証プロセスは、Identを通じて始点ホストに問い合わせユーザ名を得ると同時に、最初のパケットをカーネル空間に戻して転送するよう実装した。このユーザ空間で動くユーザ認証プロセスは、ユーザ名が適切であると判断したとき、パケット制御表を動的に変更する機構を通じて、カーネル内のフィルタリングパラメータを制御可能である。 開発したファイヤウォールを実際に学内ネットワークに接続してテストを行なった。適切であるユーザが内部から外部へ直接通信できるかを実験し、確かに条件を満たすユーザのみが通信できることを確認した。これによって、このファイヤウォールの利便性とユーザ認証システムが適切に動いていることを検証できた。内部から外部への直接の通信実験は、既存のアプリケーションで通信を試みたため、同時に汎用性を達成したことも確認できた。
|