- ベストアンサー
ファイアウォールについて教えてください
超初心者の質問ですが、教えてください Q1.ファイアーウォールとは、自分のアドレス(IPアドレス)宛に送られてきた郵便物の送信元アドレスを見て、あやしいものは受け取り拒否をするというものでしょうか? Q2.ポート番号というのは、たとえていえばその家の出入り口の番号であると、別の方の質問で理解しているのですが、出入り口(ポート)毎に通してよい送信元のリストがあって、問題となる開いているポートとは、その制限がないということでしょうか? Q3.たとえば私などはWEBを検索したり、メールのやりとりしたりするするくらいなのですが、その場合ポートは2つあればいいように思うのですが、(後は閉めて鍵をかけておく)如何でしょうか? Q4.例えばWEB上である宛先IPアドレスAに、情報をくれと送ると、そのAからのものしか受け取らないという制御をするということでしょうか? 多分理解が浅いので、私の理解を正してくださいますでしょうか? よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは、honiyonです。 1.「怪しい」という表現があいまいですが、人間の意識的にはそうなるかも知れません。 どのポートが怪しいかは人間が判断するもので、ファイアーウォール的には、概要的に説明すると ・ポート番号による制限 ・指定IPアドレスによる制限 になります。それぞれ受信したデータ、送信するデータの双方に指定出来ます。 ※但し一口にファイアーウォールといっても各社製品により仕様が違うでしょうから、細かい設定が出来ない簡易版もあるかも知れません。 2.「問題となる」という表現もまたあいまいですが...(笑) セキュリティ上問題となると、必要の無いポートが開いていたり、明らかに不要なIPアドレスからの受信を許可しているケースが多いです。 3.そのケースでしたら、WWWで使用する80,メールで使用する110と25だけ許可すれば良いです。 但し、いずれも自PCからアクセスしに行くものですよね。外部からアクセスされる必要はありません。 外部 -> 自PCへのアクセスを全て遮断するという究極の設定が可能です。 そして自PC -> 外部へのアクセスにおいて80,110,25を許可すれば完璧です。但し自PC -> 外部へのアクセスは個人的には制限無しで良いかと思いますが。 4.ちょっと意味が分かりかねますが、恐らくコネクションの事でしょう。 アクセスが開始される時に、コネクションというものが作られます。これは、通信元と通信先だけを結ぶ管のようなものです。アクセス先と送受信されるデータは、全てこの管を使って行われます。 これにより3で答えたような状態を作る事が出来ます。 内部 -> 外部を制限無し(もしくは部分的制限) 外部 -> 内部を全て禁止 に設定する事で、外部のものが自PCに対してコネクションを作る事は一切出来ませんが、自PCから外部に対してはコネクションを作る事が出来ます。つまり、自PCが認めた通信だけが許可されるという事になります。 こんな説明で良いかな^^; わかりにくい所があれば補足お願いします。
その他の回答 (3)
- mochiketsu
- ベストアンサー率65% (49/75)
>PINGパケットというのは開いてるポートを >調査しにきているものという理解でよろしいでしょうか? 以下のリンク先の記事を読んでみて下さい。 @IT TCP/IPプロトコルの階層構造(http://www.atmarkit.co.jp/fwin2k/network/tcpip004/tcpip05.html) Pingは、ICMPというプロトコルの通信です。 ICMPは、IPと同じネットワーキング層(第3層)のプロトコルなので、 その上位のトランスポート(第4層)の概念である「ポート」はありません。 よって、Pingでわかるのは、「そこにPingに応答するNICがあるかどうか」だけです。 開いているポートの有無は「ポートスキャン」という方法で確認します。 スキャン方法は割愛します。 一般的には非常に不躾な行為というか、 モロに「不正アクセスの準備行為」なので、 よそ様に対して行なうと、後日ISP経由で抗議される事になります。 >「戻りのパケットじゃないのに戻りの印(ACK)がついてる」 >というのがよく理解できませんでした。 データリンク層の話をとばして書くと、 送り手となるホスト(Aとします)と受け手となるホストとが通信する場合は、 まずAからB宛のパケットを投げます。 Bが受け取ったらBはAに受け取ったよという合図(ACK)を送ります。 Bが受け取ったけど、内容がわからなかった場合は、 よくわからないよという合図(NACK)をAに送ります。 Aは、NACKが返ってきたり、何も返ってこなかった場合は、 通信がうまくいってないので最初に送ったパケットを再送します。 ACKが返ってきた場合は、きちんと通信できているので、 続きのデータを送ります。 #AckはAcknowledgedの略。NackはNot Acknowledgedの略。 こういう約束になっているので、 本来一番最初のパケットにはACKがつく事はありません。 ただ、上記を読んでも今一つピンと来ないでしょうから、 オーム社の「マスタリングTCP/IP 入門編」を一読される事をお勧めします。 >Q2に関して >メール&WEBの一般ユーザーは使わないポートということでしょうか? 「今時のネットワークでは使わない」ものもありますが、 概ねその理解で問題ないです。 >また80はWEBサーバが開放するものであって、 >そうでない端末なのに80を開けておいては >危険ということでしょうか? そうですね。それで良いでしょう。
お礼
有難うございました。プロトコルのレイヤが異なるのですね。よく分からせて頂きました。また詳しくは勉強します。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 mochiketsuさん、補足有難うございます。 ご指摘の点完全に抜けていました^^; tacasiさんの補足に回答します。 ☆1番☆ 捉え方はそれで合っていると思います。 あとmochiketsuさんに補足して頂いた、プロトコルによる制限もあります。プロトコルとは通信方式の事で何種類かありますが、説明すると長くなるので割合します。 設定の仕方とは、「どの通信を通してどの通信を遮断するのが良いか」という考え方の事でしょうか? これは使い方によるのでいちがいな答えは出せません。但し、mochiketsuさんがQ2でご回答くださっている内容は遮断した方が良いでしょう。 ソフトの設定の仕方、という意味の場合、これもまた各社のソフトにより設定の仕方が違うと思いますので、残念ながらいちがいな答えは出せません^^; ☆2,2☆ これを回答するには、何故悪いソフトに侵入されてしまうか、という点を説明しなければなりません。 簡単に説明しますと、通常であればメール添付のウイルスを起動してしまったりしない限り壊される事はありません。 問題になるのはサーバーソフトが起動している場合です。サーバーソフトとは、外部からのアクセスに対して応答するソフトが起動している場合です。Windowsの場合、故意にせずとも必ずこれが1つは起動しています。 サーバーソフトを作っている人も、わざわざ侵入出来るようにしているわけではありません。目的を達成しつつそれを防ぐような設計にしているのですが、プログラム設計上の欠陥やバグにより、進入やファイル操作等を許してしまう事がたまにあります。これがよく言われる「セキュリティホール」の1つの例です。 但し、稀にセキュリティの事なんぞ考えていない設計者もいます... その一例がMicrosoft Networkのファイル共有の為に起動しているサーバーです。最近のルーターではこのポートは標準で閉じる設定になっているのが殆どのようですね。 つまり、"本当なら"全部のポートが開いていても安全ですが、そうはいかないのが現実というもの(笑) 要らないアクセスはされない方が安全、というわけでファイアーウォールを構築するわけです。 結論として、内部から外部にアクセスするだけの環境で、不要な通信を遮断出来ていれば、しなぎっぱなし、起動しっぱなしでも不正侵入される事はないと言えると思います。 ☆4☆ 大筋はそのようになります。 但しアンチウイルスソフトで検知出来るのは、ウイルスと認定されているプログラムのみです。過信は禁物です。 例えば、InetnetExplorerでアクセスしているとたまにプログラムのインストールを求められる事があると思います。そのプログラムが悪いものだとしても、認証してしまうとアンチウイルスソフトは何も出来ないと思います。 また、メールソフトやブラウザ(InternetExplorer等)にも2,3で述べた設計上の欠陥やバグは存在します。それを悪用して侵入される可能性があります。一例として、過去にOutlookの設計上の欠陥で、勝手に添付ファイルを実行する事が出来る、というものがありました。これを悪用してウイルスを自動実行する事が出来ました。(今は解決済..だと思います) 詳しくは忘れてしまいましたがInetnetExplorerにも過去にファイルの削除が出来たり、勝手にプログラムが実行出来る、なんていうのもあった気がします。 ファイアーウォールで、外部からの攻撃はほぼ防げますが、自PCからどこかへアクセスした場合、通信をする以上上記理由により何らかの危険は付きまといます。 防御策としては、安心出来るソフトを使用するという事とセキュリティホールが発見された場合は早期アップデート、そして何より怪しいものには近づかない、という事でしょう。 個人的な偏見を添えれば基本的にMicrosoft製品は信用出来ません... (あまりにもセキュリティホールが連発しすぎです) 参考になれば幸いです(..
お礼
詳しく解説頂き有難うございました。大体のイメージがつかめるようになりました。これからもまた勉強して、疑問が出てきたら聞かせていただきます。有難うございました。
- mochiketsu
- ベストアンサー率65% (49/75)
大体は、#1さんのおっしゃる通りだと思いますが、 気付いた点を補足します。 Q1. #1さんの内容に加えて、 ・プロトコルによる制限(Pingパケットをdropするとか) もできますよ。 また、 「ステートフルインスペクション」という機能がついているファイヤウオールは、 「戻りのパケットじゃないのに戻りの印(ACK)がついてる」 あやしいパケットを遮断します。 Q2. MicrosoftNetwork(port137~139)の様に、「普通はインターネット側から使わない」サービスで使うポート fingerの様な「インターネット側から見られるとヤバい」サービスで使うポート Webサーバがないのにin-comingなport80が開いてるといった不要なポート が問題のあるポートと言って良いでしょう。 Q3. 外(インターネット側)に出て行くport53(dns)は必要でしょう。 以下全て外に出て行くパケットについての話ですが、 メールで使ってるプロトコルがIMAPだったりする場合はport143が必要です。 SSLで通信する場合(https://なサイトの利用とか)は、 port443も必要ですね。 あと、ファイルをダウンロードする事があるのなら、 場合によってはport20,21も必要です。 Q4. port80の設定で、特定のWebサーバを指定すると、 そのホスト以外のページは見れません。 が、そういう設定がなされてなければ、質問文の様な事はありません。 WebサーバAで表示するhtmlファイルに、 WebサーバBの画像ファイルへのリダイレクトがある(所謂直リン)場合、 ブラウザはhtmlファイルはWebサーバAから受け取り、 画像ファイルはWebサーバBから受け取ります。
お礼
有難うございます。PINGパケットというのは開いてるポートを調査しにきているものという理解でよろしいでしょうか? 「戻りのパケットじゃないのに戻りの印(ACK)がついてる」というのがよく理解できませんでした。 Q2に関しては、すみませんがよく分からなかったのですが、メール&WEBの一般ユーザーは使わないポートということでしょうか?また80はWEBサーバが開放するものであって、そうでない端末なのに80を開けておいては危険ということでしょうか? またよろしければ教えてください。
お礼
早速回答くださりありがとうございます。お言葉に甘えて補足させていただきます。
補足
質問の動機について補足させて頂きます。自PCをADSLなんかでインターネットにつなぎっぱなしにすると、つないでいるだけで、誰かが進入してきて、ファイルを追削されたり、ウィルスが感染したりすることがありますよね。 そこでファイアーウォールとかアンチウィルスソフトが必要になると思うんですが、どういう仕組みで進入やウィルスを防いでるのかが知りたかったんです。 メールにウィルスが添付されてきて、それを実行すると感染するとか、怪しいサイトを見に行って感染するというのは、自分からダウンロードしにいっているので理解できるのですが、つないでいるだけで進入してくるものをどうやって防いでいるのか?が知りたいというのが動機です。 1番の・ポート番号、指定IPアドレスによる制限、また受信、送信について制限するというのがいまいちまだ分かりません。あるポート番号から送られてきたものは通さない、自分のこのポート番号から送信はできない、指定されたIPアドレスから送られてきたもの、または指定されたIPアドレスに送るものは通さないということでしょうか?またその指定はどのように決められるのでしょうか? 2,3番については、HTTPやメールしか使わない人は(こういう人が圧倒的に多いような気がしますが)比較的簡単に、つないでいるだけで感染するようなことは回避できるということでしょうか? 4番はなんとなく分かりました。新たな疑問ですが、自分から悪いサイトにコネクションをはってしまうと、感染する可能性がありますよね。その感染はどうやって防げるのでしょうか?入ってくるのは防げないので入ってきたものをアンチウィルスソフトでやっつけるということでしょうか? 折角丁寧に教えていただいているのに、すみませんがまたよかったら教えてください。