7
Leopardのファイアウォールの理解と使用

Mac OS Xには長年、基本的なファイアウォールが搭載されてきましたが、Mac OS X 10.5(Leopardとも呼ばれます)のリリースにより、この基本的なセキュリティ技術は新たな革新的な方向へと進化しました。一般的なオペレーティングシステムの大きな変更点と同様に、この移行にはある程度の学習が必要ですが、Appleの最近のOS X 10.5.1アップデートのおかげで、Leopardのファイアウォールは非常に使いやすく、一般的なMacユーザーにおすすめです。

セキュリティ専門家として、Macユーザーからファイアウォールは必要かとよく聞かれます。これは意外と答えにくい質問です。ファイアウォールは、コンピュータやネットワークの開いているポートへの承認されていない接続をブロックしますが、一般的なMacは、そもそもデフォルトで多くのポートを開いていません。

Leopardは以前のバージョンのMac OS Xよりも通信量が多くなっていますが、(この記事の執筆時点では)これらのデフォルトサービスに対する既知の攻撃は確認されていません。これは、攻撃者が標的とできるオープンなサービスが多数搭載されているWindowsのほとんどのバージョンとは対照的です。

しかし、セキュリティに関する格言の一つに「決して仮定しない」というものがあります。今日正しいことが明日も正しいとは限りません。システムにプログラムをインストールして使用する際には、気づかないうちにポートを開いてしまうことがよくあり、常に新たな攻撃の可能性(確率)が存在します。Leopardファイアウォールは技術に詳しくないユーザーでも簡単に使用できるため、たとえ必要になることがないとしても、有効化することをお勧めします。

攻撃を引きつける

10月下旬にLeopardがリリースされた当時、ファイアウォールの動作は現在のバージョンとは異なっていました。「必須サービスのみを許可する」(後述のファイアウォール設定オプション)には、「すべての着信接続をブロックする」という別のラベルが付いていました。しかし、このオプションでは、ルートユーザーとして実行されているサービスを含む多くのポートが開いたままになり、ユーザーインターフェースには表示されませんでした。

アプリケーションファイアウォールはこれらのオープンサービスも許可していましたが、Skypeなど、実行時に内部コードを変更する一部のアプリケーションは動作しませんでした。ファイアウォールはアプリケーションにデジタル署名を施していましたが、アプリケーションのコードが少しでも変更されると、Mac OS Xはそれを承認されていない変更と見なし、実行を拒否しました。これらのアプリケーションはDock上で何度かバウンドして終了し、ユーザーを混乱させていました。

OS X 10.5.1 では、オプションに適切なラベルを付け、許可されている「必須サービス」を厳格に文書化し、変更されたアプリケーションを壊すのではなくアクティブ化するようにユーザーに再度促すことで、これらの欠陥を修正しました。

アプリケーションファイアウォールに不安のある方は、バックグラウンドで常時実行されるステートフルパケットインスペクションファイアウォール(ipfw)を手動で設定することも可能です。これは上級ユーザー向けで、設定手順と基本ルールセットをこちらに掲載しています。

ファイアウォールの設定

以前のバージョンのOS Xでは、ファイアウォールはシステム環境設定の「共有」パネルに隠れていました。Leopardでは変更され、ファイアウォールはシステム環境設定の「セキュリティ」パネルに表示されるようになりました。「セキュリティ」→「ファイアウォール」をクリックすると、3つのオプションが表示されます。最初の「すべての着信接続を受け入れる」は、今回変更するデフォルト設定です。

(以下の内容は OS X 10.5.1 以降にのみ適用されます。このアップデートにより、ファイアウォールの動作が元の Leopard リリースから変更されたためです。)

2つ目のオプション「必須​​サービスのみ許可」は、Bonjourなど、ネットワークをサポートする一部のデフォルトサービス以外をすべてブロックします。すべてをブロックしたい場合にのみこのオプションを使用してください。これにより、ファイル共有、リモートアクセス、Mac上の他の場所で有効化されているその他のサービスがブロックされます。私はホテルなどの危険なネットワークに接続していて、すべての共有を手動でオフにする手間を省きたい場合に、この設定をよく使います。

Leopard のファイアウォールを構成するための「特定のサービスとアプリケーションのアクセスを設定する」オプションは、ポートではなくターゲット アプリケーションに基づいてトラフィックをブロックします。画面の下半分には、着信接続の受け入れまたは拒否を許可したアプリケーションが表示されます。

3つ目のオプション「特定のサービスとアプリケーションへのアクセスを設定する」は、OS Xの新しい種類のアプリケーションファイアウォールです。以前のバージョンのMacオペレーティングシステムでは、ステートフル・パケット・インスペクションと呼ばれる技術が使用されていました。これは、特定のポートをブロックするという意味です。Leopardにもこの技術は搭載されていますが、すべてのトラフィックを許可するように設定されています。アプリケーションファイアウォールは1つ上のレベルで動作し、ポートではなく、対象アプリケーション(ソケット)に基づいてトラフィックをブロックします。ウィンドウの上部には、実行中のネットワークサービスが一覧表示されます。これらのサービスは、「共有」環境設定パネルでサービスを開始すると自動的に設定され、ファイアウォールから無効にすることはできません。

その下には、着信接続の許可または拒否を許可したアプリケーションが表示されます。ネットワークを使用するアプリケーションを初めて起動すると、Leopardは着信接続を許可するかブロックするかを尋ねます。その後、そのアプリケーションはリストに追加され、デジタル署名(まだ署名されていない場合)されます。これにより、Mac OS Xは改ざんの有無を検出できます。その後、アプリケーションごとに着信接続の許可または拒否を選択できます。

ファイアウォールは送信接続をブロックしません。これについては後ほど説明します。例えば、自宅でiTunesを共有している場合は、設定を変更して、パブリックネットワークに接続しているときに誰も接続できないように手動でブロックすることができます。

ファイアウォールを有効にしたら、「詳細設定」ボタンをクリックし、「ステルスモードを有効にする」をクリックしてください。これにより、特定の技術を使ってコンピュータを偵察する者から非公開のサービスを隠蔽し、セキュリティを少しだけ強化することができます。

未来

アプリケーションファイアウォールは従来のファイアウォールとは異なるレイヤーで動作するため、セキュリティコミュニティでは、特定の低レベル攻撃が依然として成功する可能性があるという懸念があります。これらの攻撃は現在では知られていませんが、過去には発生しており、Appleは今後のアップデートやipfw設定オプションの追加によってこの問題に対処する必要があるかもしれません。

アプリケーションファイアウォールは受信接続のみをブロックするため、攻撃者(または不注意なユーザー)が悪意のあるサービスに接続し、侵入される可能性があります。例えば、最近発見されたQuicktime rtspの脆弱性では、攻撃者がメールやウェブページにリンクを埋め込み、悪意のあるサイトに誘導することでコンピュータを攻撃する可能性があります。Appleが送信接続のブロック機能を備えていれば、Quicktimeのネットワーク接続をブロックしつつ、ローカル環境では安全にファイルを再生できたはずです。先週のQuickTime 7.3.1アップデートでこの問題は解決されました。

10.5.1アップデートにより、このファイアウォールはすべてのMacユーザーに推奨されます。Appleは、わずか数点の変更で、この既に便利なツールのセキュリティを大幅に向上させることができます。

[リッチ・モーグルは、Securosis.comでセキュリティ問題に関するブログを定期的に執筆している独立セキュリティコンサルタントです。また、TidBitsの寄稿編集者でもあります。 ]