CATVやADSLなどの常時接続時代を迎え,SOHOはもちろん個人ユーザーでもセキュリティを確保して不正アクセスなどに備える必要性が高まっている。セキュリティの確保というと,まず考えつくのがファイアウオールの導入である。一般的に「ファイアウオール」というと高価なイメージがあり,敷居が高いと感じるユーザーも多いだろう。しかし,安くても効果のあるファイアウオールも存在する。選択肢としては,(1)専用製品,(2)ルーター,(3)LinuxやFreeBSDのカーネルの利用---が考えられる。今回は,この3つの方法について解説する。

その1)安価な専用製品を購入する

 高価な製品ばかりではなく,2,3万円から10万円程度までの比較的安価なファイアウオール専用製品が市場に出ている。具体的な製品例としては,「NetScreen」「SonicWALL」「WatchGuard」「マイクロFireWall」などが挙げられる。

 製品には設定のためのGUIが用意されており,コマンド操作などのスキルがなくても,直観的な操作で管理が可能である。また,安価といえども専用製品なので最低限必要な機能は備えている。基本的な機能としては,(1)パケット・フィルタリング,(2)IPマスカレード,(3)RADIUSサーバーなどを使ったユーザー認証---などが挙げられる。製品によっては,(4)URLフィルタリングや(5)IPSec対応のVPN,(6)SNMP機能なども用意している。

 加えて,一部の製品を除けば専用OSを使用しているので,汎用OSを使用するソフトウエアと比較すれば,セキュリティ・ホールを突かれる可能性は低い。

 ただし,当然のことながら安いとはいえ製品であるからには導入コストがかかる。ユーザー数が増えると,数十万円から100万円台になる場合もある。「もっと安価にファイアウオールを導入したい」---。そんなユーザーには,既存の装置や設備を使用する方法がお勧めである。

その2)ルーターのフィルタリング機能を使う

 既にネットワークに接続していてルーターを使用している場合には,それを利用するのも有効である。ルーターにはパケット・フィルタリングやNAT(Network Address Translation)機能があるので,それらを“オン(enable)”にすれば,ルーターをファイアウオールとしても利用できる。

 また,ADSLなどの事業者によっては,ユーザー宅に設置するADSLルーターにパケット・フィルタリング機能とそのルールを設定するためのツールが搭載されているものもある。トラフィックの方向,プロトコルやポート番号を指定すれば,その条件に合致するパケットをフィルタリングしてくれる。

 ルーターのフィルタリング機能を使う利点は,新たにハードやソフトを購入する必要がないことである。そして,ルーターの設定だけでも,セキュリティ・レベルを十分に上げられる。

 ただし,過去のコラム(「やっておきたいルーターのセキュリティ 」)でも述べたように,ルーターとしての本来のパフォーマンスを落すことになるので,フィルタリングのルール(ポリシー)数が多い場合には向かない。また,ログを記録する(ロギング)機能がないことも弱点である。また,一般に設定操作はコマンドラインが中心となり,スキルを要するという面もある。

その3)LinuxやFreeBSDのカーネル機能を利用する

 LinuxあるいはFreeBSDが稼働するマシンをファイアウオールとして利用する方法もある。多少の知識を要するが,安価に導入できるのがメリットだ。

 この方法では,LinuxやFreeBSDのカーネル機能を使って,PCをパケット・フィルタリング,NAT,ロギング機能などを持つファイアウオールとして利用する。使われなくなった古いPCを再利用することも可能なので,コストをかけずに導入できる。

 ただし,ルーターと同じように,設定はコマンド・ラインから行う。LinuxやFreeBSDに関する一般的な知識と,導入するファイアウオール・モジュールに関する知識が必要である。

 Linuxの場合の具体的な手順を以下に示す。

(1)マシンを用意する
 アプリケーション型のファイアウオールではないので,マシン・パワーをそれほど必要としない。そのため通常のPCで十分である。PCにはNIC(Network Interface Card)を2枚挿す。

(2)OSをインストールする
 Linuxをインストールする。カーネルの機能を使ってファイアウオールを実現するので,インストールするディストリビューションはなんでも構わない。

 ファイアウオール機能を実現するのは以下のモジュールである。2.2.xの場合は機能ごとに導入するモジュールが異なっていたが,2.4.xではカーネルの機能がアップし,必要なモジュールが1つに統合されている。

パッケージ名実現できる機能カーネルのバージョン
ipchansパケット・フィルタリング2.2.x
ipmasqadmIPマスカレード2.2.x
ipnatadm一対一のスタティックNAT2.2.x
iptables上記の3機能すべて2.4.x

 これらの機能(パッケージ)は,通常はデフォルトで組み込まれている。もしも組み込まれていなかったり設定がオフになっている場合には,カーネルの再コンパイルや設定変更が必要である。また,1台のマシン(1つのネットワーク・デバイス)に複数のIPアドレスを割り当てる「バーチャルIP」を使いたい場合は,IPaliasの機能も組み込む必要がある。

 なお,FreeBSDの場合は,「IP Filter」または「IPFW(フィルタリング)」と「natd(NAT)」の組み合わせで,同様のことを実現できる。

(3)ルールを設定する
 基本的にデフォルトではすべての設定を禁止とする。そして,許可したい各ルールを対応するコマンドに置き換えて入力する。実際にはそれらのコマンド群をシェル・スクリプトで記述して,起動時に読み込ませる。

 LinuxやFreeBSDを利用する利点は,既に述べたように古いPCを再利用できるので,ハードウエアを新たに購入する必要がないことだ。また,パフォーマンスに優れているので,ユーザー数が多い大規模サイトでも対応可能である。加えて,ルーターよりも多くのルール(ポリシー)を設定できる。

 ただし,GUIなどは用意していないので設定が簡単ではない。OSやファイアウオール・モジュールの知識も必要だ。ベンダーによる運用支援もないので,問題が発生したら自分ですべて解決する必要がある。また,現時点ではプロキシなどのモジュールが整っていないため,パケット・フィルタリング型のファイアウオール機能しか実現できない(ただし,これとは別のプロキシ・サーバーなどを組み合わせれば機能拡張は可能)。

 以上,簡単に3つの方法を紹介したが,いずれも長所と短所がある。導入環境や管理者のスキル,かけられるコストなどに応じて選択してほしい。

 現在は接続料金の引き下げや回線の整備に伴って,常時接続をするSOHOや個人ユーザーが急増している。グローバル・アドレスを持つマシンを運用している場合はもちろん,プライベート・アドレスであっても同じプライベート・アドレス空間からはアクセス可能なので,セキュリティには十分な注意が必要だ。上記3種類いずれの方法でもよいので,回線接続を申し込む際には,ファイアウオールの導入も合わせて検討してほしい。


斎藤松彦(SAITO Matsuhiko)
株式会社ラック 不正アクセス対策事業本部
m_saitoh@lac.co.jp


 IT Proセキュリティ・サイトが提供する「今週のSecurity Check [一般編]」は,その週に起きたUNIX関連およびセキュリティ全般のニュースや動向をまとめた週刊コラムです。セキュリティ・ベンダーである「株式会社ラック」のスタッフの方を執筆陣に迎え,専門家の立場から解説していただきます。