「基礎から学ぶネットワーク構築」 (連載第3回)
3. セキュリティに関する基礎知識
3.1 ファイアウォールの役割
ファイアウォールは、防火壁という意味です。これは、外界からの脅威を火に例えた呼び方です。ファイアウォールは、システム全体の門番で、通過させてよい通信要求と通過させてはいけない通信要求のルールを明確にして、不審な通信要求を遮断したり、無視したりする役目をしています。ネットワーク上では、ファイアウォールは、外部インターネットと内部LANとの接点に位置し、信頼されない外部ネットワークから内部ネットワークを保護すると共に、内部から外部ネットワークへの情報流出を防ぎます。また同一ネットワーク内でもセキュリティポリシーの異なる組織間にも設置されるようになりました。
3.1.1
ファイアウォールの実現方式
ファイアウォールは大別するとパケットフィルタリング方式、トランスポート(サーキット)ゲートウエイ方式とアプリケーションゲートウエイ方式の3つに分類さますが、最近では組み合わせてひとつのファイアウォールを構成する場合が多くなってきました。
(1) パケットフィルタリング方式
パケットフィルタリング方式は、ファイアウォールを通過するパケットのヘッダ部分(送信元アドレス、ポート番号及び送信先アドレス、ポート番号)をあらかじめ作成されたフィルタリング・ルールと照合し、パケットの通過/破棄の判定を行う仕組みです。パケットフィルタリング方式のファイアウォールには、CheckPoint社のFireWall-1が有名です。
(2) トランスポート(サーキット)ゲートウエイ方式
アプリケーションのコネクションをトランスポート層で相互接続すると共に、プロキシによりデータ転送に関するアクセス制御を行います。
この方式の代表例はCyberGuardです。
(3) アプリケーション・ゲートウエイ方式
アプリケーションのコネクションをアプリケーション層まで上げて相互接続をし、各アプリケーション毎にProxyを設定するため、パケットフィルタリング方式と比較すると、ftpのputコマンドだけを禁止するといったアプリケーション毎のより細かな制御が可能となります。アプリケーションゲートウエイ方式のファイアウォールにはGauntletやRaptorFirewallなどがあります。
3.1.2
ファイアウォールの選択
ファイアウォールの選択は、セキュリティポリシーによって決まります。アプリケーションごとのきめこまかな設定が必要であればアプリケーションゲートウエイ方式となり、性能重視であればパケットフィルタリング方式になります。
最近では、セキュリティレベルを高めるために異なる方式のファイアウォールを直列に並べる企業も見うけられます。万が一にもひとつの方式が破られた場合にももう一方の方式がガードしてくれるのを期待してのことです。
3.1.3
ファイアウォールと公開サーバ
DNSサーバやWWWサーバといったインターネット上の公開サーバは、従来は外部ネットワークに置いて、公開サーバ自身でアクセス制限をかけていましたが、最近はファイアウォールにネットワークインタフェースカードを3枚さし、外部ネットワーク、内部ネットワークのほかに3つめのノードをDMZ(緩衝ネットワーク:非武装地帯)とし、ここに公開サーバを設置することによりファイアウォールの保護下に置くことが多くなってきました。
3.2 セキュリティホールに関する知識
ファイアウォールは、システム全体の門番の役目をします。通過させてよいもののルールを明確にして、不審なものを通過させない役目をしています。しかし、ファイアウォールがあるから、大丈夫といった安心感は禁物です。門番がいてもすべての不審者を排除できないように、ルールがルーズな場合は、不審者を見過ごすことが多くなります。また、最近のハッキングは巧妙で、ルールが完全であっても侵入してくるのです。これは、門番としてのファイアウォールの問題ではなく、それぞれのサーバーコンピュータの問題があることがわかってきたからです。例えていえば、ルール上通過させても良いゲストが、ゲストルームに入ったときに、トリックを使って、部外者禁止の部屋に入り込んでしまうようなケースが起きています。つまり、誰でもアクセスできるWebサービス、FTPサービス、DNSサービスに入るときに、それらのプログラムのウィークポイントを攻撃して、別のことをできるようにシステムに細工をするのです。このようなウィークポイントをセキュリティホールと呼びます。このケースでは、ファイアウォールでは防御しきれないのです。現在の悪質なアタックは、公開されているサービスやOSのセキュリティホールに対して行なわれており、ファイアウォールだけでは防ぎきれません。ですから、ファイアウォールが有効なのは、サーバーコンピュータ自身が最大限自己防衛した後のことだということをしっかり、認識しておく必要があります。
どのようなプログラムであっても、「セキュリティホールが無い」とは言いきれません。今まで無事なのは、セキュリティホールがなかったからではなく、発見されていなかったからなのかもしれないのです。そして、それらを見つけたがっているは、クラッカー達です。ですから、事前対策はできないのです。可能なことは、セキュリティポリシーを作り、強化していくことだけです。セキュリティポリシーの具体的な対策の中で、セキュリティの情報収集を頻繁に行い、できるだけ早く、セキュリティホールを塞ぎ、感染した場合には排除する、最悪の場合には再インストールするなどの対策を明文化するべきです。
このセキュリティホールについての対策は、セキュリティホールを防ぐためにプログラムにパッチを行なうことです。このパッチは、ソフトの開発会社(団体)から提供されます。ソフトの開発会社(団体)のWebページにアクセスしてみてください。また、公的な機関でもセキュリティホールに関する情報が提供されるようになってきました。(情報処理振興事業協会:http://www.ipa.go.jp/security/index.html、コンピュータ緊急対応センター:http://www.jpcert.or.jp)
3.3 暗号化技術
ファイアウォールとともに重要な技術は暗号化です。暗号化は、データの盗聴や改竄に対する重要な対抗策です。暗号技術は、WebにおけるSSLだけではなく、暗号メールや署名付メール、リモートメンテナンス用のツール(SSH)に対しても利用されています。また、暗号技術は、インターネット上に擬似的な閉鎖型ネットワーク(VPN: Virtual Private Network)を作り出す基礎技術としても利用されています。
|