85
Macのセキュリティ:ファイアウォール
ファイアウォールの図

ファイアウォールは、コンピュータやネットワークに出入りするデータを監視・制御します。正当なネットワークトラフィックは許可しながら、犯罪者の侵入を防ぐことができます。Mac OS Xには、1つではなく2つのファイアウォールが搭載されています。しかし、それだけでは十分ではありません。

脅威

数年前、あるバグ(すでに修正済み)により、攻撃者がMacにいわゆる「ping of death」と呼ばれる攻撃を仕掛けることができました。これは、システムをクラッシュさせる可能性のある、特別に設計されたネットワークトラフィックです。現在、Macには(私たちの知る限り)そのようなネットワーク脆弱性は存在しませんが、Appleのセキュリティアップデートの多くは、ネットワーク脆弱性に特に対処しています。明らかに、Macは本質的に攻撃から逃れられないわけではありません。

世界中に何百万台ものコンピュータが存在することを考えれば、あなたのMacが標的にされる確率は極めて低いように思えるかもしれません。しかし、ネットに接続されたマシンの脆弱性を一日中探り続けるコンピュータも存在します。あなたのMacが脆弱性を発見される可能性は十分にあります。また、ネットワークに接続しているときはいつでも(例えばカフェのWi-Fiシステムなど)、そのネットワーク上の他の誰かに晒されていることを忘れないでください。

プライベートデータの損失や Mac の計算能力の乗っ取りなどのリスクは十分に大きく、予防コストは十分に低いため、Mac とローカル ネットワークに適切なファイアウォールを実装することは当然のことです。

OS Xのファイアウォール

OS X 10.4 (Tiger) までのすべてのバージョンには、ipfw と呼ばれる Unix ベースのファイアウォールが搭載されています。セキュリティ用語では、ipfw はパケットフィルタリングファイアウォールです。Mac のネットワークインターフェースを通過するすべてのパケットを一連のルールに照らし合わせ、通過を許可するかブロックするかを決定します。

ipfwのようなパケットフィルタリングファイアウォールは、ネットワークトラフィックを2つの方法で分類します。1つはポート番号を用いた種類別、もう1つはIPアドレスを用いた送信元と送信先別です。例えば、パケットフィルタリングファイアウォールは、社内ネットワークのIPアドレスからのファイル共有接続は許可する一方で、インターネット上の他のアドレスからの接続は許可しないといったことが可能です。

Leopardでは、ipfwに加えて、新しいソケットフィルタファイアウォール(アプリケーションファイアウォールとも呼ばれます)が追加されました。ネットワークポートとIPアドレスに基づいてパケットの許可を判断するのではなく、ネットワークリクエストを送信したアプリケーションに基づいて判断します。プログラムがネットワークトラフィックの受け入れを要求すると、ソケットフィルタは許可されているプログラムのリストを確認します。プログラムがリストに含まれている場合、ファイアウォールは接続を許可します。プログラムがリストに含まれていない場合(新規またはアップグレードされたソフトウェアの場合など)、OS Xはプログラムが着信トラフィックを受け入れるかどうかを確認します。

セキュリティ設定パネル
「セキュリティ」環境設定パネルでは、アプリケーションごとにネットワーク トラフィックをフィルタリングする、OS X に組み込まれたソケット フィルタ ファイアウォールを設定できます。

Leopardのソケットファイアウォールを有効にするには、「セキュリティ」環境設定の「ファイアウォール」タブで「特定のサービスとアプリケーションへのアクセスを設定」を選択します。このオプションを選択すると、許可されているプログラムとブロックされているプログラムのリストが表示されます。不要なトラフィックをすべてブロックしたい場合は、「必須サービスのみ許可」を選択できますが、一部のアプリケーションが動作しなくなるため注意が必要です。Webの閲覧やメールの使用は引き続き可能ですが、その他の受信接続はブロックされます。

ソケットフィルタは、ipfwのようなパケットフィルタほど柔軟性がありません。ネットワーク接続の受け入れを許可されたアプリケーションは、インターネット上のどこからでも接続を受け入れてしまいます。信頼できるネットワークアドレスと信頼できないネットワークアドレスを区別するように指示することはできません。また、Leopardファイアウォールは受信接続のみをブロックし、プログラムによる送信接続を阻止することはできません。これはWindowsの世界では大きな問題となっています。スパイウェアプログラムはハードドライブに潜伏し、機密性の高い個人情報を盗み出すのです。

OS X 10.5 には ipfw がまだ含まれていますが、デフォルトでは事実上無効になっています。ただし、コマンドラインから、または Hanynet の無料 WaterRoof 2.0 (  ) や NoobProof 1.1 (  ) などのサードパーティ製アプリケーションから有効化および設定できます。また、ipfw は Leopard のソケットフィルタと互換性があるため、この 2 つを組み合わせることで、信頼できないアプリケーションによる接続をブロックすると同時に、ポートと IP アドレスによる受信トラフィックと送信トラフィックを制限することができます。

サードパーティ製ファイアウォール

では、OS X のファイアウォールが十分に機能しているのに、なぜサードパーティ製のファイアウォールを購入してインストールする必要があるのでしょうか?主な理由は、より柔軟で優れた保護機能を備えているからです。

例えば、Integoの50ドルのNetBarrier X5( )では、接続元に基づいてルールを設定できます。WaterRoofなどの無料ツールでも同様のファイアウォール制御が可能ですが、これらのツールには追加のプライバシー機能は提供されていません。

Leopard に内蔵されているソケットフィルタのもう一つの制限は、場所が変わってもルールを変更できないことです。例えば、自宅ではノートパソコンの iTunes 共有をオンにしておき、外出先でノートパソコンを使うときはオフにしたい、といった状況が考えられます。Open Door Networks の 80 ドルの DoorStop X Security Suite (  ) を使えば、場所を指定して、その場所に適したルールをファイアウォールに簡単に設定できます。NetBarrier では、ローカルネットワークアドレスとインターネット上のアドレスにそれぞれ異なるルールを設定することもできます。これは非常にシンプルで便利な機能です。

きめ細かなアプリケーション制御 (インターネットとの間で情報を送受信できるアプリケーションだけでなく、接続できるネット アドレスも定義) が必要な場合は、Objective Development の 30 ドルの Little Snitch(  ) を使用できます。これは、スパイウェア対策として特に効果的です。

サードパーティ製ファイアウォール

製品 ベンダー 価格 評価
DoorStop X セキュリティスイート 2.2 オープンドアネットワーク 79ドル 4.5匹のマウス
IPNetSentryX 2.2 持続可能なソフトワークス 60ドル 3.5匹のマウス
リトルスニッチ 2.0.3 客観的な開発 25 ドル(マルチユーザーおよびアップグレード ライセンスも利用可能) 4.5匹のマウス
ネットバリアX5 インテゴ 50ドル 3.0マウス
初心者向けプルーフ 1.1 ハニネット 無料(有料) 4.0マウス
ノートン パーソナル ファイアウォール 3.0.3 シマンテック 50ドル 4.0マウス

私たちのアドバイス

ほとんどのユーザーにとって、OS Xに組み込まれているファイアウォールで十分です。OS Xのセキュリティ設定パネルから、OS Xの基本的なソケットフィルタファイアウォールを有効にしてください(「特定のサービスとアプリケーションへのアクセスを設定する」を選択することをお勧めします)。OS Xのipfwファイアウォールによる追加の保護が必要な場合は、優れた無料のNoobProofを使って設定してください。

[リッチ・モーグルはTidBitsのセキュリティ編集者であり、セキュリティコンサルティング会社Securosis LLCを経営しています。システム管理者のクリス・ペッパーはTidBitsの寄稿者です。 ]