SmoothWall Expressでネットワークを保護する

 ファイアウォールによる保護が必要なのは企業も個人ユーザも同じだ。ファイアウォールの選択肢は非常に多く、なかには特殊なハードウェアでしか動作しない高価な製品もある。その一方で、今回紹介する SmoothWall Express のように、商用のソリューションと同じテクノロジが利用されているのに無償でダウンロードできるものもあり、機能によってはこちらのほうが優れている場合さえある。

 2007年8月にGNU GPL(General Public License:一般公衆利用許諾書)の下でリリースされたSmoothWall Express 3.0は、オープンソースのファイアウォール・ディストリビューションだ。最新のシステムにありそうな機能はすべて揃っているほか、意外な機能もいくつか備えている。最近の業界では、ステートフル検査、動的/静的NAT、送信制御、DMZ(De-Militarized Zone:非武装地帯)セグメント、DHCP(Dynamic Host Configuration Protocol:動的ホスト構成プロトコル)サーバといった要素が当たり前になっている。だが、このパッケージには、それ以外にWebプロキシサーバ(商用エディションではコンテンツフィルタリングが可能)、POP3メール、SIP(Session Initiation Protocol)、DNS(Domain Name System)、インスタントメッセージングといった機能まで用意されている。

 プロキシを設定すれば、ウイルスのスキャンやフォレンジックログの記録によってネットワークの保護を強化できるほか、不審なイベントのログを残せるように、侵入検知ソフトウェアSnortも組み込まれている。ただし、電子メールまたはSMSテキストメッセージによるリアルタイムのアラート送信は、無償のExpressエディションでは利用できない。また、SmoothWallは、企業だけでなく家庭でも役立つ簡単なQoS(Quality Of Service)管理の機能も備えている。

 無料のアカウント登録を行うと、my.SmoothWallにアクセスできる。これは、ファイアウォールのスペック、チップセットなどに関するデータを収集するホステッドサービスだ。収集されたデータが世界地図の上にプロットされ、世界中で使われているハードウェアのリストを匿名で参照できる。「Firewall Management」というタイトルの付いたこのmy.SmoothWallのWebサイトはまだベータ段階だが、最終版でこうした管理機能がどこまで拡大されるかは不明だ。SonicWALLプラットフォームを利用したサービスプロバイダが複数の顧客の管理に使っているようなツール全般を揃えたものになるかもしれないし、単にアップデートの通知や導入に関するデータの提供を行うだけの場にとどまるかもしれない。どちらにしても、ベンダーによるこうしたWebサイトとの連携は、オープンソースのファイアウォールでは非常に珍しい。

 その一方で、SmoothWall Expressでは商用エディションにあるVPN機能が制限されており、ピアツーピアのIPsecエンドポイント向けのサポートしかない。また、一般的なディレクトリやデータベース(LDAP[Lightweight Directory Access Protocol]、AD[Active Directory]、NDS[Novell Directory Services]など)に対する認証は、付加価値機能として利用できる。こうした設計上の判断は、製品ラインナップを調整してユーザのメリットにつなげるためのものだ。開発元であるSmoothWall Limitedは、大企業向けのテクノロジで収益を確保しつつ、ブランチVPNや中小企業、個人ユーザ向けに質の高いフリーソフトウェアを提供している。

インストール

smoothwall1_thumb.jpg
SmoothWall Express 3.0のブート画面

 SmoothWall Express 3.0は、インストール可能なアプリケーションではなく、れっきとしたオペレーティングシステムであり、セキュリティアプライアンス・ディストリビューションになっている。簡易ファイアウォールとして機能させるには、Pentium以降のCPUと64MB以上のRAMが必要になる。テストは、Pentium IIIのCPUと512MBのRAMを積んだマシンで、すべてのサービスを起動した状態で行った。

 SmoothWallのインストールは名前のとおり速やかに進んでいく。非常に小さなイメージ(32ビット版で69MB、64ビット版で71MB)をダウンロードし、CDに焼けば、インストールはほんの数分で完了する。何か問題が起きた場合には、インストール用ドキュメントをダウンロードして参照すればよい。

 インストールCDの実行もあっけなかった。ドライバのサポートに問題はなさそうで、一般的なネットワークカードはインストーラによって問題なく検出された。以前BSDベースのあるファイアウォールで問題を起こした(Tulipベースの)珍しいチップセットも検出された。唯一、LILOブートローダと旧式のAMD Athlon用マザーボードの相性に起因する問題が生じた。「02 error」でLILOがハングしてしまったのだが、これはBIOSでIDEインタフェースのPIOおよびUltra DMA転送のモード値を下げることで解決した。ただし、私がテストしたほかのシステムではこの問題は出なかった。

 設定を開始する前に、インストールの途中で、基本的な送信フィルタの設定をオープン(open)、クローズド(closed)、ハーフオープン(half-open)の3つから選択しておく必要がある。オープンは、その名前のとおり、基本的にすべての送出トラフィックを許可(Allow All)する設定である。反対に、クローズドは送出トラフィックをすべて拒否(Deny All)する。ハーフオープンは、HTTP/HTTPS、SMTP、POP3、FTP、SSHといった一般的なプロトコルによる送出トラフィックは許可するが、ネットワークから出て行くそれ以外のトラフィックをすべて拒否する。この設定は有効な折衷案であり、境界デバイスの安全な動作につながる。

 インストーラではさらにネットワークインタフェースの割り当てと設定が求められ、管理者パスワードの設定後にリブートを行うことになる。

設定

 インストールが完了したら、以降の設定はすべてWebブラウザ上で行う。SmoothWallシステム内にあるネットワークカードの表示は、色分けされている。緑は内部セグメント、赤はインターネットへの接続、紫およびオレンジは無線アクセスポイントやインターネットに直結したその他のサーバ向けのDMZを表す。ユーザインタフェースは明快かつレイアウトも適切で、Mozilla Firefox、Google Chrome、Microsoft Internet Explorerで問題なく使える。

 システムは赤いインタフェースでインターネットにつながっているため、最初にホームページにアクセスすると「システムのアップデートが入手できます。詳細については“Updates”セクションを参照してください」とのメッセージが表示された。この「Updates」セクションは「Maintenance」タブの下にあり、「Check for Updates」をクリックすると、いくつかの変化が起こったが、アップデート画面自体ではブラウザのステータスバー以外には反応が見られなかった。それに、アップデートのインストール後にリブートが必要かどうかの情報も表示されなかった。念のためにリブートすると、LILOメニューにオプションが追加されていて、確かにアップデートが行われたのだとわかった。ここは、リブートを促すメッセージなどを出したほうが親切だろう。ただし、システムのフルリブートにかかった時間は、性能が不十分なハードウェアでも1分未満だった。

 SmoothWallはデフォルトのままでも動作するが、その機能の本来の力を引き出すにはカスタマイズが必要だ。「Services」タブでは、日付と時刻、リモートアクセス、侵入検知、動的DNS更新、プロキシサービスなど、詳細な機能を確認できる。いずれも問題なく動作するが、不自然な点が2つあって不整合を感じた。1つは、SSH(Secure Shell)アクセスをはじめとするサービスがデフォルトでは起動されていないのに、ping(ICMP)が外部および内部の双方に応答するように設定されていること。もう1つは、SmoothWallではほとんどの動的DNSサービスがサポートされているのに、なぜかDNS-O-Maticが見当たらないことだ。DNS-O-Maticを利用してOpenDNSのWebフィルタリング機能を併用できれば、大きな効果が得られたはずなのに残念だ。とはいえ、多くのファイアウォールとは違って、複数の動的DNSサービスが同時に使える点はすばらしい。

 「Networking」タブには、インタフェースの設定、IPアドレスのブロック、アクセスの時間制限、トラフィック規則といった項目が用意されている。受信および送信の規則は、作成と管理が簡単にできる。ただし、最初は戸惑ってしまいそうな不可解な挙動をする部分が1つある。送信規則を編集すると、その規則は規則のリストから除かれ、ほかのページに移る前に追加し直さないと消えてしまうのだ。そのため、管理者がある規則を選択して詳細を確認しただけで、知らないうちに一部のアプリケーションの機能に支障が出るおそれがある。

 QoS設定のセクションは内容がすっきりしていて、コンボボックスを使って上り/下りの接続速度や有効にするサービスを選択できる。SmoothWallのQoSエンジンは、各種トラフィックの優先順位付けによって接続の体感速度を上げられるようになっている。この設定はコンボボックスで行うため、専門知識のあまりないユーザにも使いやすい。デフォルトでは、インスタントメッセージングのトラフィックの優先度が「低」、VPNトラフィックが「標準」、ゲーム用のトラフィックが「高」に設定されている。

 「Tools」タブには、pingやtracerouteのほか、コマンドラインから簡単にリモートアクセスが可能なJavaベースのSSHインタフェースといった便利なユーティリティがいくつか集められている。これにより、SmoothWallの機能はWebインタフェースでは対応できない部分にまで拡大されている。

smoothwall2_thumb.jpg
JavaベースのSSHインタフェース

 Webインタフェースには、主要なタブがほかにも4つある。VPN設定のタブは、ExpressエディションではSmoothWallファミリのほかのファイアウォール製品に比べて機能が制限されている。前述の「Maintenance」タブには、アップデート、パスワード、リブートに関するリンクが含まれている。「About」タブには、システムの状態や帯域幅の利用状況が表示されるほか、主要なすべてのサービスに関するトラフィック監視のグラフが表形式のデータと共に表示される。「Logs」タブでは、イベントの詳しい分析が可能であり、システム、Webプロキシ、ファイアウォール、侵入検知システム(IDS)、インスタントメッセージ(IM)、電子メールの各ログの詳細が確認できる。

 大半のログはテキスト情報の羅列として表示されるが、もう少し高度な機能もある。Webプロキシのログは、フィルタリングによって特定の文字列を無視した結果を表示できる。ファイアウォールのログについては、データのリストが表示されるだけでなく、送信元/宛先アドレスをログビューアから直接検索する機能も用意されている。また、好ましくないアドレスがあれば、ボタンをクリックするだけでブロック対象のIPアドレスのリストに追加できる。チャットのログを取るIMプロキシは、Google Talkを除く主要サービスのほとんどで利用できる。IMログのビューアには、サービス名(MSNやICQ)やユーザ名、日付によってチャットの記録を整理できる機能がある。また、IMログの表示は定期的に更新されるため、ほぼリアルタイムでやりとりを監視することができる。

smoothwall3_thumb.jpg
侵入検知(IDS)のログ

 IDSログに関する機能はあまりないが、SmoothWallによるほとんどのログはWebインタフェースを使ってCSV形式にエクスポートできる。エクスポートした結果をほかのツールで利用すれば、イベントのフォレンジック分析も可能だ。

 ファイアウォール機能をテストするために、BackTrackライブCDにあったツールを外部(赤色)インタフェースに対して利用してみたが、SmoothWallの効果は十分だった。AutoScan Networkによって結局SmoothWallファイアウォールは検出されたものの、システムの痕跡は完全に未知になっていた。同時にSmoothWallのインタフェースでも、そのときのスキャンがIDSログによって異常な外部トラフィックとして検出されていた。Metasploit AutoPwnによる攻撃も排除し、これもやはりポートスキャンのログに記録されていた。また、内部ネットワーク(緑色)インタフェースに関しては、ファイアウォールでICMPをオフにした場合、Nessusはネットワーク上のホストの存在を検出できなかった。

まとめ

 その堅牢な機能とユーザビリティにより、SmoothWallは競争の激しいファイアウォールの分野で有力な選択肢の1つとなっている。複雑な設定もわかりやすく、ほとんどのファイアウォールでは高度な設定と見なされているフィルタリング設定までデフォルトで用意されている。

 一方で、このディストリビューションには問題点や配慮の足りない点もいくつかある。ユーザインタフェース操作のフィードバックは改善できるはずだし、アップデートの適用完了やリブートの必要性は確実に通知すべきだろう。また、管理者がファイアウォール規則の詳細を確認しただけで誤って規則を消してしまう危険をなくすと共に、各種ログの相関分析エンジンも使いやすくしてほしい。時間帯を指定してログを抽出できるようにするだけでも、情報の把握が容易になり、攻撃の疑いがあるイベントの分析が効率化されるだろう。

 もちろん、ファイアウォール単体で完全なものや機能的に十分なものは存在しない。貴重なデータやリソースを保護できる方策として期待が持てるのは、多層防御だけである。とはいえ、SmoothWall Express 3.0が企業や自宅のネットワーク保護において重要な役割を果たし得る存在であることは確かだ。

Joseph Baxterは情報セキュリティ、法令順守、監査の専門家として15年のキャリアを誇る。issurvivor.comのBob Lewis氏による週刊ポッドキャスト“Keep the Joint Running Podcast”のホスト役としても知られ、CISSP、CISA、CISM、MCSE+S、MCDBAの各資格を保有。

Linux.com 原文(2008年12月09日)