66432
めちゃくちゃ素人な質問だと思いますがよろしくお願いします。

ファイアウォールというネットワーク機器がありますが、自分はファイアウォールとはOS側で設定したりするものだと思っていました。どのポートをあけるとか。しかし、OS側でちゃんとファイアウォールの設定をする以外に、機器としても存在するのはなぜですか？

また、機器の方でファイアウォールを使っていればOS側は仮にファイアウォールを無効にしていても大丈夫なのでしょうか。あるいは、両方伴うことでよりセキュリティを厳重にする意味があるのでしょうか（例えばOS側の設定ミスなどを考慮して）。

追記 :
お礼を書く場所がわからずこちらから追記させていただきます。ご回答くださった皆様ありがとうございます。やはりどちらかというとミス防止やファイアウォールの一元管理的な意味合いが強いんですね。Linuxサーバなどをいじってると当然ファイアウォールは明確に意識せざるを得なくて、最近ふとネットワークの勉強も始めたときに気になりました。
CC BY-SA 4.0
2020-05-08T09:57:35.467
66431
2020-12-29T07:38:40.203
2020-05-08T16:13:57.153
question
linux network
ハードウェアによるファイアウォールの必要性について
ファイアウォールという機能・考え方は、ネットワークの(外側と内側の)境界に置く "防護壁" で、ソフトウェアでもハードウェアでも基本的には同じです。

ただし、会社や学校などネットワークの内側にクライアントが多数存在する場合、個々に設定を任せるのは漏れが発生したりする可能性があります。この様なケースではハードウェア型のファイアウォールを用いて、ネットワークの境界
= 出入り口の一箇所で管理した方が効率的だと考えられます。

過信は禁物ですが、より外側のファイアウォールで適切な設定がされていれば、OS上でのファイアウォールは無効にしても大丈夫なケースの方が多いでしょう。
CC BY-SA 4.0
2020-05-08T11:40:12.240
66432
2020-05-08T11:40:12.240
3060
66431
answer
普段は企業のネットワークにつないでいるPCを在宅勤務により自宅に持ち帰るケースは、PC個々のファイアウォールの設定は必須ですね。  
企業で使う個々のPCは元々ファイアウォールの設定が義務づけられていたり、強制的に設定されているとは思いますが。

以上は質問に対する直接の回答ではありませんが、

> 機器の方でファイアウォールを使っていればOS側は仮にファイアウォールを無効にしていても大丈夫なのでしょうか。

ソフトウェアによるファイアウォールは無効にしないことをお奨めします。
CC BY-SA 4.0
2020-05-08T12:24:05.673
66433
2020-05-08T16:33:34.550
2020-05-08T16:33:34.550
35558
35558
66431
answer
無効にしないと動作しないと言った特別な理由があり、別途セキュリティを確保できる状態である、といったことが限り、コンピューターのファイアウォール、いわゆるパーソナルファイアウォール(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)、ウィルス検知機能など、多くのセキュリティ機能が含まれています。場合によっては無効にしないと特定のアプリケーションが動作しないと言うこともあるのですが、安易に無効化せず、無効にすることでのリスクを十分に検討し、リスクやコストから総合的に判断する必要があります。すくなくとも、無効にすることによってどのようなリスクが考えられるのかを説明できない内は、無効にすべきではありません。
CC BY-SA 4.0
2020-05-08T20:01:43.290
66440
2020-05-08T20:15:54.210
2020-05-08T20:15:54.210
7347
7347
66431
answer
>
> ファイアウォールというネットワーク機器がありますが、自分はファイアウォールとはOS側で設定したりするものだと思っていました。どのポートをあけるとか。しかし、OS側でちゃんとファイアウォールの設定をする以外に、機器としても存在するのはなぜですか？

ファイアウォール機器は、ルーターの親戚みたいなもので、パケットフィルタリング以外にも通信機器としての機能があります。また、フィルタリングするだけなら、Firewallは不要（ルーターで十分）なのですが、より管理しやすかったり、通知機能があったり、ベンダーのセキュリティ情報をダウンロードして最新の攻撃パターンをブロックしたりなどするために使用します。

>
> また、機器の方でファイアウォールを使っていればOS側は仮にファイアウォールを無効にしていても大丈夫なのでしょうか。あるいは、両方伴うことでよりセキュリティを厳重にする意味があるのでしょうか（例えばOS側の設定ミスなどを考慮して）。

意味はあります。ファイアウォール機器は、外部と内部LANの境界に置くので、外部から内部ネットワークを防御する意味がありますが、内部→内部には無防備で、ウィルスやマルウェアの被害を止められないケースがあります。また、情報漏えい等の被害は内部から行われる場合が多いので、適切なリスク管理が必要です。

そういったリスクを減らすには、OSごとにパケットフィルタリングの設定を行い、2重に防御するということはあります。
CC BY-SA 4.0
2020-05-18T11:09:50.247
66746
2020-05-18T11:09:50.247
5008
66431
answer
話が逆で、一般的にファイヤーウォールと言えば(機器または機能としての)専用デバイスのことを指します。Windows(標準やサードパーティ)のパーソナルファイヤーウォールは相当後発の機能です。Linuxでもiptablesがデフォルトで有効になったのは最近の話です。他のOSでは機能としてはあるもののデフォルトで有効にされてる例は無いかあっても少数だと思います。

Windowsの場合と、Unix系OSの場合では、OSのファイヤーウオール機能の位置づけが異なります。Windowsの場合はどちらかというとクライアントOSとして信頼できないネットワークに接続されたときの防御のための機能です。Unix系OSの場合は、サーバOSとして、

  * 直接グローバルなネットワークに接続される場合の防御
  * それ自身がゲートウェイとしてファイヤーウォールとなる(今時はないですが)

ための機能です。

サーバ機器の場合、上記の通りOS側の機能は元来「デフォルトで有効」というようなものではないので、適切に保護されているネットワークであれば必ずしも利用する必要はありません。どうしても必要となるシチュエーションとしては、同じネットワークの機器からも特別に通信を制御したいが、わざわざ別ネットワークに切り出すのも大変、という状況ぐらいでしょうか。それ以外は気休め程度です。

逆に、OS側のファイヤーウォールだけでよいか、というのはほとんどの場合NGです。単機能(例えばHTTPのみ)のサーバであればまだしも、複数のサーバがいるシステムではサーバ屋さんのほとんどはまず間違いなくまともな設定はできないでしょう。どのみちゲートウェイとなる機器も必要なので、そこにファイヤーウォールをおいて設定は知識がある人がやった方が絶対に確実です。(この状況でサーバ側をメインで「ミス防止」のためにファイヤーウォールを置く、と考える方が判断ミスです。)
CC BY-SA 4.0
2020-12-29T06:27:43.500
72959
2020-12-29T07:38:40.203
2020-12-29T07:38:40.203
5793
5793
66431
answer