77
ポートを閉じる

OS X に組み込まれているソフトウェア ファイアウォールに関しては、2 つの考え方があります。

ある学派は、ファイアウォールは不要だと主張しています。ファイアウォールは、承認されていない接続がコンピュータのネットワークインターフェース上のポートを開くのを防ぎます。(ポートとは、ソフトウェアサービスがネットワークと通信する方法です。ポートは壁の窓のようなもので、一部のポートはデータの送受信を許可するために意図的に開いたままになっています。)しかし、デフォルトでは、OS Xは多くのポートを開いたままにしていません。対照的に、Windowsのほとんどのバージョンは多数のポートを開いた状態で出荷されており、これがこのオペレーティングシステムが悪意のあるハッカーにとって格好の標的となっている理由の一つです。Leopardは以前のバージョンのMac OS Xよりも多くのポートを開いたままにしていますが、これまでのところ、これらのデフォルトサービスに対する攻撃は確認されていません。

もう一つの学派(私も属しています)は、セキュリティ対策の最良の方法は「決して思い込まないこと」だと言います。システムにプログラムをインストールして使用する際には、気づかないうちにポートを開いてしまうことがよくあります。そして、OS Xの防御に少しでも隙間があれば、新たな脆弱性が次々と出現する可能性は常に存在します。だからこそ、私はすべてのMacユーザーにOS X内蔵のファイアウォールをオンにすることを推奨しています。

問題は、OS Xには長年基本的なファイアウォールソフトウェアが付属していたものの、Leopardで大幅な変更が加えられたことで、多くのLeopardユーザーがMacのセキュリティ確保に戸惑っていることです。Mac OS X 10.5のファイアウォールインターフェースは以前のバージョンとは大きく異なりますが、特に10.5.1アップデートのリリース以降は、比較的使いやすいものとなっています。

新着情報

以前のバージョンのOS Xでは、ファイアウォールの設定は「共有」環境設定パネルで行っていました。Leopardでは、「セキュリティ」パネルで設定します。

変更点はそれだけではありません。以前のバージョンにあった「開始/停止」ボタンの代わりに、Leopardの初期リリースのファイアウォールには、「すべての着信接続を許可」、「すべての着信接続をブロック」、「特定のサービスとアプリケーションへのアクセスを設定する」という3つのオプションが用意されました。

これらのオプションは多くのユーザーを混乱させました。まず、用語が曖昧だったこと、そして「すべての着信接続をブロック」オプションは実際にはルートユーザーとして実行されているサービスを含む複数のポートを開いたままにしていたにもかかわらず、これらの開いたサービスはユーザーインターフェースに表示されませんでした。

ファイアウォールは、Skypeなど、実行時に内部コードを変更する一部のプログラムにも影響を及ぼしました。これは、ファイアウォールがネットワークインターフェースを介して通信を試みるプログラムごとにデジタル署名を作成するためです。この署名により、OS Xはプログラムのコードが改変されているかどうかを判断できます。改変されている場合、OS Xはそのプログラムの起動を拒否します。改変されたプログラムはDock上で数回バウンドした後、シャットダウンします。

OS X 10.5.1 では、2 番目のオプションを [必須サービスのみ許可] に変更し、許可する必須サービスを厳格に文書化し、変更されるプログラム (Skype など) を単に壊すのではなく、再度アクティブ化するようにユーザーに促すことで、これらの欠陥を修正しました。

ファイアウォール オプションの設定: 「特定のサービスとアプリケーションへのアクセスを設定する」オプションを選択すると、着信ネットワーク トラフィックを制御できます。

ファイアウォールの設定

Leopardの「すべての着信接続を許可」オプションは、以前の「停止」ボタンと同等の機能を持ち、ファイアウォールをオフにします。この設定は誰にもお勧めしません。

「必須サービスのみ許可」オプションを選択すると、Bonjourなどの一部のデフォルトネットワークサービスを除くすべてのサービスがブロックされます。ファイル共有、リモートアクセス、その他のオプションサービスはブロックされます。このオプションは、本当にすべてをブロックしたい場合にのみ使用してください。私は、ホテルや公共のホットスポットなど、潜在的に危険なネットワークに接続していて、共有サービスをすべて手動でオフにしたくない場合にこのオプションを使用しています(「外出先でのファイアウォール」を参照)。

3つ目のオプション「特定のサービスとアプリケーションへのアクセスを設定する」は、日常的に使うのにおすすめです。これはOS Xの新しい種類のファイアウォールで、いわゆるアプリケーションファイアウォールです。以前のバージョンのOS Xでは、ステートフル・パケット・インスペクションと呼ばれる技術が使用されていました。これは、承認されたアプリケーションが使用できるように開かれていないポートをファイアウォールがブロックする、という言い回しです。Leopardのようなアプリケーションファイアウォールは、特定のポートではなく、特定のアプリケーションをターゲットとしたトラフィックをブロックします。

(Leopard には ipfw と呼ばれるステートフル パケット インスペクション ファイアウォールがまだ含まれていますが、デフォルトではすべてのトラフィックを通過させるように設定されています。このファイアウォールはより安全に構成できますが、これを行うのは上級ユーザーのみを対象としています。まだその方法がわからない場合は、現時点では試みるべきではありません。)

ファイアウォール設定タブの3つのオプションの下に、現在着信接続の受け入れまたは拒否を許可されているネットワークサービスのリストが表示されます。共有設定パネルで有効にしたサービスがあれば、ここに表示されます。ファイアウォールから無効にすることはできません。

「特定のサービスとアプリケーションへのアクセスを設定する」オプションを選択すると、ネットワークを使用するプログラムを起動するたびに、Leopard はそれへの外部接続を許可するかブロックするかを尋ねます。「許可」を選択すると、そのプログラムはこのリストに追加され、デジタル署名(まだ署名されていない場合)されます。これにより、Mac OS X は改ざんの有無を検出できます。このリストからアプリケーションを選択し、ドロップダウンメニューから外部接続を許可または拒否できます。

Leopardのファイアウォールは、プログラムによる外部への接続をブロックしません。そのため、例えば自宅ではiTunesでノートパソコンの音楽を共有するように設定しても問題ないかもしれません。しかし、その後パブリックネットワークに移動した場合、iTunesライブラリへのアクセスをブロックするには、iTunesの環境設定で共有をオフにする(またはファイアウォールを「必須サービスのみ許可」に設定する)しかありません。

「必須サービスのみ許可」または「特定のサービスとアプリケーションへのアクセスを設定する」を選択した場合でも、「詳細設定」をクリックし、「ステルスモードを有効にする」を選択してください。これにより、閉鎖されたサービスがコンピュータを覗き見する人から隠され、セキュリティが少し強化されます。ドアに鍵をかけるのではなく、レンガで塞ぐようなものです。

ステルス モード: ステルス モードをオンにすると、コンピュータを調査する人から Mac が隠されます。

ファイアウォールの未来

OS Xのファイアウォールがアプリケーションベースになったため、セキュリティコミュニティでは、Macが低レベル攻撃に対して脆弱になるのではないかと懸念されています。Appleは、今後のセキュリティアップデートでこの問題に対処するか、ipfwを設定できるグラフィカルインターフェースツールを追加する必要があるかもしれません。

アプリケーションファイアウォールを設定して、発信接続をブロックする手段があればなお良いでしょう。QuickTimeのRTSP脆弱性については既に知られています。この脆弱性を突くと、攻撃者は理論上、電子メールやWebページにQuickTimeリンクを埋め込み、悪意のあるサイトに誘導することで、ユーザーのコンピュータを攻撃することが可能になります。AppleはQuickTime 7.3.1アップデートでこの脆弱性を解消しました。しかし、Appleはあらゆるアプリケーションで発信接続をブロックする何らかのツールを提供する必要があると思います。

道路上のファイアウォール

自宅では OS X ファイアウォールを実行して Mac をルーターの背後に安全に保管しておくのが便利ですが、Mac を持ち出すときはファイアウォールを有効にすることが絶対に必須になります。

AirPort Extremeのような最も基本的な家庭用またはオフィス用ルーターでさえ、ネットワークアドレス変換(NAT)を使用して、インターネット経由でコンピュータへの直接アクセスを遮断します。NATを使用すると、1台のルーターで数百台のコンピュータを1つのパブリックアドレスでインターネットに接続できます。NATルーターの副次的な利点は、基本的な機能でありながら効果的なハードウェアファイアウォールとして機能することです。

しかし、Macを旅行中に置き忘れてしまった場合、特にMacのファイアウォールの設定が緩い場合は、保護されません。例えば、最近の出張中、ホテルのネットワークに接続したところ、Finderのサイドバーに3台の共有Macが表示され、iTunesでは2つの共有ライブラリが表示されました。すべて所有者名で表示されていました。法を順守しない人物がこれらのシステムに接続し、攻撃ツールを実行したり、脆弱なパスワードを破ろうとしたりした可能性があります。

そのため、旅行中はLeopardのファイアウォールを「必須サービスのみ許可」に設定し、ステルスモードを有効にすることをお勧めします。これは攻撃にさらされるリスクを回避する簡単な方法です。帰宅後は「特定のサービスとアプリケーションへのアクセスを設定する」に設定し直すだけで、ファイアウォールは元の設定に戻ります。

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