質問: めちゃくちゃ素人な質問だと思いますがよろしくお願いします。 ファイアウォールというネットワーク機器がありますが、自分はファイアウォールとはOS側で設定したりするものだと思っていました。どのポートをあけるとか。しかし、OS側でちゃんとファイアウォールの設定をする以外に、機器としても存在するのはなぜですか? また、機器の方でファイアウォールを使っていればOS側は仮にファイアウォールを無効にしていても大丈夫なのでしょうか。あるいは、両方伴うことでよりセキュリティを厳重にする意味があるのでしょうか(例えばOS側の設定ミスなどを考慮して)。 追記 : お礼を書く場所がわからずこちらから追記させていただきます。ご回答くださった皆様ありがとうございます。やはりどちらかというとミス防止やファイアウォールの一元管理的な意味合いが強いんですね。Linuxサーバなどをいじってると当然ファイアウォールは明確に意識せざるを得なくて、最近ふとネットワークの勉強も始めたときに気になりました。
回答: 無効にしないと動作しないと言った特別な理由があり、別途セキュリティを確保できる状態である、といったことが限り、コンピューターのファイアウォール、いわゆるパーソナルファイアウォール(OSまたはサードパーティーが提供するそのコンピューター上のファイアウォール)は無効にすべきではありません。いいえ、もっとはっきり言います。セキュリティに関する専門家レベルの十分な知識と理解を持っていなければ、**パーソナルファイアウォールを無効にしてはいけません。** また、一定以上の組織であれば、特にネットワーク管理者がイントラネット内の全てのコンピューター(この場合はネットワークプリンター等も含む)を一元管理できると行ったことがなければ、パーソナルファイアウォールだけに頼るのは非常に危険です。そのためにも、ネットワークの入り口に機器としてのファイアウォール、いわゆる**ネットワークファイアウォールを導入すべきです。**(機器の設置にはそれなりのコストがかかりますので、ここら辺はコストとリスクから総合的な判断になります。) 例えを交えたような表現で、歴史的な経緯から説明します。(逆にわかりにくかったらすいません) 大昔、コンピューターとはぽつんと立っている一軒家でした。やがて複数の家(コンピューター)が建てられて、家同士を繋ぐ道(ネットワーク)を作り、村になりました。これが初期のイントラネット(LAN)です。やがて複数の村ができると、村同士を道で繋ぎ、村人が行き来できるようにしました。この村同士を繋ぐ道がインターネット(WAN)です。 このころの村は政府、大学、研究所といった知り合い同士です。村人もその道の専門の人達だけで、誰もが知り合いでした。悪意を持った人はおらず、道(ネットワーク)は誰でも自由に歩けて、各家(コンピューター)に勝手に上がり込んでいました。まぁ、みんな知り合いなので、問題なかったのです。 やがて、村は町になり、繋ぐ村・町も増えていきました。町同士のまとまりは国になり、別の国とも繋ぐようになりました。そうすると、悪意ある人が済んでいる町とも繋がるようになりました。別の町の家に勝手に入り込んで、物を盗もうとする奴が現れたのです。自分の町じゃないからバレないとかそういう心理もありました。そこで、各町は周りに城壁をたて門で人の出入りを厳しく見張るようにました。これが**ネットワークファイアウォール**(ネットワーク全体の入り口に置かれる専用の機器)です。町の中の人達は知り合い同士なので問題ありませんが、どこか知らない町がやってきた人は悪い人かも知れません。ブラックリストに載っている悪人じゃないかチェックしたり、町の中でアクセスできる場所を絞ったりします。また、町の中の人が余計なところへ行かないように、外に出るのを監視する役割もあります。 やがて町は都市となり、組織内の専門ではない人もコンピューターを使うようになっていきました。そうなると、都市の中にも泥棒のような悪い人が現れたのです。銀行でお金を盗んだり、郵便局に侵入してメールを勝手に見たりする内部犯が問題ないなったきました。銀行なども正門に門番をたてる(アプリケーションやOSレベルでのアクセス制限、ファイアウォールとはまた別の機能)等の対応を行いますが、彼らは窓や勝手口などからも入ってくるのでした。使っていない窓や勝手口を閉める(使っていないサービスを停止し、開けるポートを限定する)と言った対応もしていきますが、そのころには建物(OS)自体が高度に複雑化し、専門家(インフラ系SE)でも全ての窓や扉を把握することが困難になりつつありました。そこで考えたのが、建物を外壁を囲むと言うことです。これが、**パーソナルファイアウォール**です。外壁がしっかりして、特定の門しか設置しなければ、いくら窓が開いていても、その窓から侵入されることはないという理屈です。ここでの銀行や郵便局などの共通の施設はサーバーのことです。サーバーにあるみんなの資産を守るために、サーバー単独でファイアウォールの機能を持たせることが当たり前になってきました。 それからしばらくすると、ある事件が起きました。多くの個人宅(PC、パーソナルコンピューター)で泥棒に入られると言うことが起きたのです。多くの家はだいたい同じ建物(同じOS)でした。Windows 98とかWindows 2000とかです。ある日、その建物のある窓が脆弱で簡単に外れて誰でも侵入できることがわかりました。その窓を使って勝手に家の中に入って、家を乗っ取って、また、別の家に入ろうとする事件が起きたのです。ワームと言われるウィルスの登場です。 個人宅の管理は専門家が管理しているサーバーと比べてもかなり杜撰です。窓を閉めるとか、玄関に鍵をかけるとか、そういったことは建物ができたときから変更をしません。なので、侵入可能な窓が発見されてしまうと、窓を補強するためのパッチがあたるまでは非常に脆弱になっていました。そして、そのパッチもなかなかあてようとしないという問題もありました。そこで、建物の販売会社(Microsoftとか)は外壁を建物に組み込むことにしました。つまり、**パーソナルファイアウォール**のクライアントPC版です。外壁で守られていることを標準にすることで、例え脆弱な窓が見つかっても、侵入をなるべく防ぐようにしたのです。 なお、サーバー・クライアント共に、パーソナルファイアウォールはOSとセットで提供しているとは限りません。コンピューターにファイアウォールをつけようという動きの黎明期はサードパーティーが提供するファイアウォールしかなかったこともありますし、今でも、防犯セット(セキュリティ対策ソフト)に独自のファイアウォールが含まれている場合があります。 ネットワークファイアウォールは都市外部からの攻撃は防いでくれますが、内部犯には対応できません。そのためにもパーソナルファイアウォールが必要になってきます。また、現在は、サーバーを直接のターゲットにするだけではなく、攻撃の足がかりとして使用するためにクライアントも攻撃のターゲットになってきています。何も重要なものが置いていないPCであっても、ネットワークに繋がっている限り、十分なセキュリティ対策をしておく必要があります。ですので、無効にしなければならない特別な理由があり、かつ、別途セキュリティが担保できる状況でない限り、パーソナルファイアウォールを無効にしてはいけません。 そうそう、パーソナルファイアウォールがあるならネットワークファイアウォールがいらない、というわけでもありあません。個々で管理されている個人宅の外壁(パーソナルファイアウォール)が杜撰な場合がよくあるため、都市全体守るためにも城壁(ネットワークファイアウォール)は重要です。最近の城壁は明らかに悪そうな奴を自動的に検知(IDS)したり、拒絶(IPS)したりする機能も付いており、パーソナルファイアウォールでは守れない所も守るという役割も担っています。 なお、ネットワークプリンターやネットワークカメラ等はパーソナルファイアウォール機能はありません。提供するサービスを限定する、正しくアクセス制御するといったことをしていないと、印刷物が誰でも見える、カメラの映像が誰でもみえる状態になっているということが珍しくありません。そのような場合はネットワークファイアウォールを付けて、少なくとも外部の人間に見られることを防ぐというのは、極めて重要になります。 最後に、セキュリティというのは「これだけをすれば安全」というものではありません。年々攻撃は非常に高度かつ複雑化しており、二重三重の防御を行わないと防ぐことが難しくなってきています。パーソナルファイアウォール以外にも、最近のOSには標準で、データ実行防止(DEP)、強制アクセス制御(MAC、SE LinuxやAppArmor等)、ユーザーアカウント制御(UAC)、ウィルス検知機能など、多くのセキュリティ機能が含まれています。場合によっては無効にしないと特定のアプリケーションが動作しないと言うこともあるのですが、安易に無効化せず、無効にすることでのリスクを十分に検討し、リスクやコストから総合的に判断する必要があります。すくなくとも、無効にすることによってどのようなリスクが考えられるのかを説明できない内は、無効にすべきではありません。