- 締切済み
DMZにWEBサーバを設置し、インターネットから接続させる場合のセキュリティ設定について
【環境】 サーバA:1.1.1.1(グローバル)192.168.1.1(プライベート) F/W :1.1.1.2(グローバル)192.168.1.254(プライベート) インターネット | | | FW(ルータ)―――DMZ(WEBサーバを設置) | | | 内部ネットワーク 【質問】 自分なりにいろいろ調べましたが、上記のようなNAT環境では以下のような点でセキュリティ上優れていると認識しました。、 「インターネット上のパソコンとWEBサーバが通信するとき、パケットの送信元/先は、FWになり、 Webサーバの存在は、通信相手から完全に隠されることになる。 外部から存在が隠される、つまり外部からはアクセスできないため、内部のホストのセキュリティが高まる」 ただ今ひとつ理解できないので、上記のような環境で何故NATを使うとセキュリティレベルが向上するか 初心者レベルで教えていただけると助かります。 ●主にわからないこと ・そもそも存在を隠すという意味合いが理解できません。 隠さなかったら、どうなるのかというのもわかりません。 また、隠すとは、グローバルIPアドレスを隠すということだと思うのですが、 Ping(例えば、ping www.yahoo.co.jp)など返ってくるアドレスは、 そのサーバのグローバルIPアドレスではないのでしょうか ・「外部からはアクセスできない」となっていますが、WEB公開している以上 なにかしらの方法でアクセスはできそうですが、どういう点で優れているのでしょうか? 理解不足のため、質問も良くわからないと思いますが、よろしくご指導ください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 たびたびすいません(.. 質問1の回答です(^^; DMZの実装の仕方が、ルーターによってまちまちのようで、私の経験では2種類みたことがあります。 ・DMZ指定したいIPアドレスを指定する。 ・ルーター本体にDMZポートが存在する。 前者は、指定したIPアドレス宛のデータがDMZとして扱われます。 この場合、当然ながらDMZ設定出来るコンピューターは1台だけになります。 ご質問されているケースはこちらのようですね。 後者は、特別扱いされるLANポートをもっている、という言い方も出来ます。DMZポートにHUBを接続して、DMZポートに複数台のコンピューターが接続出来ます。 この場合、複数台のコンピューターがDMZ扱いに出来ます。 複数台のサーバーを設置したい場合は、後者のルーターが必要ですね。 もしくは、ルーターをもう一台使用して、下記のような構成にする事でも出来ると思います。 INET | |1.1.1.1 ルーター1 ←セキュリティ設定一切なし |----サーバー 1.1.1.2 |----サーバー 1.1.1.3 |1.1.1.4 ルーター2 ←セキュリティ設定あり |192.168.1.1 | 保護された内部ネットワーク 参考になれば幸いです(..
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 申し訳ありません、よくよく確認したらサーバーにもGlobalIPが割り当てられているのですね。 それであればDNSに登録するのは 1.1.1.2です。 WebサーバーにアクセスするIPアドレスも 1.1.12です。 質問2につきまして、1.1.1.2でも普通に運営出来ますし、NATを使わねばならない、という規制もありません。 しかし、ポートルーティングやファイヤーウォール等で、Webサーバーに到着するデータは Webに関係する必要最低限にするのがセキュリティ上望ましいと思います。 Webサーバー自身にファイヤーウォールを設置する、という手段もあります。 ポートルーティングとは、簡単に言えばルーターに届いた特定ポート番号のデータを、指定したIPアドレスに転送する、という機能です。 Webアクセスには通常、ポート番号80番を使用します。 80番に届いたデータを、LocalIPをもつWebサーバーに転送する、という設定をすれば、サーバーがLocalIPでもWeb公開出来ます。 但し、SSLを使うと別のポートも必要になります。 参考になれば幸いです(..
- bship
- ベストアンサー率51% (47/92)
元記事なのか解釈なのか判りませんが、誤りがあるようです。疑問はもっともで、「隠す」と「公開」が矛盾してます。 NAT機能は、IPヘッダの宛先あるいは送信元アドレスを変換にあります。サーバの実アドレスでないアドレスを宛先としてサーバに届くことになります。 ですからサーバの実アドレスは確かに隠せますが、結局公開アドレスでアクセスできるのでサーバの存在は隠せません。隠したら公開でなくなっちゃう。 ただNATはフィルタリングを実現させるのと同時に行われることが多い、つまり特定のポートだけNATしてフォワードするのが普通なので、サーバを直接野ざらしにするのと異なります。よってNATの機能とは直結しませんが、結果としてアクセスの制限がかかっているのが普通です。おそらくそれをNATとごっちゃにして「隠す」といっているのだと想像します。 尚、#2で指定されているようにセキュリティホールに起因する脆弱性をNATすることで回避するということはできません。全く別の話です。外からアクセスが可能である以上、セキュリティのリスクはあります。外からアクセスできなくしたらそれはもはや公開サーバではありません。 通常は、マシンのアドレスはプライベートにしておいて、ルータ等でグローバルに変換します。この話とサーバ隠蔽等セキュリティの話は全く別です。 尚、逆の方向、つまり内から外へのアクセスにおいてはNAPTによってダイナミックにNATすることにより、結果として内部ホストの隠蔽は可能です。この場合、公開はできません。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 まず訂正です。 > Webサーバーに必要なIPアドレスだけ、外からアクセス出来るようにすれば Webサーバーに必要なポートだけ、外からアクセス出来るようにすれば 申し訳ありませんでしたm(.. )m ------ さて、あたかもルーターがアクセスを行っているように見えるのは、いわば副作用です。NATの本来の目的は、1つのIPアドレスで複数台のコンピューターがインターネットにアクセス出来るようにする事です。 しかし、その副作用がセキュリティという側面から効果があるので、インターネット側からアクセスさせない目的でNATを用いるケースもあるようです。 ご質問1ですが、Webアクセスに限ってはProxyと呼ばれる仕組みがあります。 これは、ProxyサーバーがWebサーバーにアクセスしたいコンピュータ(クライアント)と、アクセス先のサーバーの間に立ち、クライアントの代わりにProxyサーバーがWebサーバーにアクセスする仕組みです。 この時、受け取ったWebページをProxyサーバーが記憶しておき、2回目以降同じWebページの要求がクライアントからあった場合は、その記憶しておいたデータをクライアントに渡します。 ProxyはProxyサーバーを、例えば同じ事務所内などクライアントと近い場所に設置して、Webページの表示を高速化するのが主な目的です。 (ひょっとしたら海外にあるかも知れないWebサーバーからデータをもらうより、同じ事務所のProxyからデータをもらった方が遥かに速い) 他にも、Webサーバーの処理負担軽減や、インターネット回線の負担の軽減、という目的でも用いられます。 ご質問2については、本当は何の危険もないはずです。 しかし、プログラムは人がコツコツと手で作るもので、その為当然ながらミスが発生します。 このミスがセキュリティホールとなり、予測していない動作を行い、パソコンを乗っ取られたり、データが流出したり破壊されたり・・・といった危害が発生する可能性があります。 更に大変な事に、詳しく述べませんが、Windowsにはコンピューターの特定の設定情報を利用者に無断で漏洩するのが「正しい動作」として設計されています。 パソコンの設定情報ですので知られたからといって何ら不利益も発生しないものですが、やはり気持ちのいいものではない、という事で最近のルーターでは標準でこのデータをがインターネットに流れないようにセキュリティ設定がされています。 まとめますと、使っているプログラムにどんなミスがあって、それがどんな損害の引き金になるか、それが分からないため、NAT機能によって外からアクセスされないようにしてみたり、ファイヤーウォールによって不要な通信を遮断したりします。 そもそも通信しなければ、セキュリティホールが悪用される事がないわけですから、通信する内容を必要最低限してリスクを軽減する、という発想ですね。 さて、遮断するといってもそれもルーターやファイヤーウォールソフトがそれを行うわけで、ルーターの中身やファイヤーウォールもプログラムで動いているわけで。 プログラムミスがない、とはいいきれないわけです。 それに、遮断では対応出来ないイタズラもあります。 DoS攻撃と呼ばれ、たくさんのアクセス要求を行って、アクセス要求の為の通信で回線が渋滞してしまい、正しいデータが通れなくなってしまう、というものです。 こればかりとどうにもなりません。 ということで、セキュリティ設定をしておけばほぼ問題ないですが、やっぱりそもそも不正アクセスのデータそのものがルーターまで届かない方が良いです。という事で、ここだけみればIPアドレスはなるべく知られない方が良いという発想になります。 しかし、アクセスする際にIPアドレスをサーバーに通知するのはインターネットの基本中の基本の仕組みです。 そしてIPアドレスは数字の羅列ですので、1から順に試していけば、そのうち superstarさんが使用しているIPアドレスにぶちあたります。 よく「不正アタックされてる!」とここにも質問が出ましたが、世界中のウイルスに感染しているコンピューターが毎日適当にIPアドレスを試して不正アクセスを繰り返しているので、それは仕方のないことです。 つまり、IPアドレスを公開しなくても、不正アクセスは毎日やってくる、という事です。 よほど恨みを買うような行為をしていなければIPアドレスを知られた所で、危険性というのは大きく変わるものではありません。 セキュリティに気を配るなら、 ルーターやファイヤーウォールの設定は当然として、使用しているソフトに不具合が見つかった場合、いち早くその情報を入手し、修正する事です。 長文失礼しました。 参考になれば幸いです(..
補足
honjiyonさん、bshipさん、ご回答ありがとうございます。 非常に詳しくかつわかりやすい説明に感謝しています。 非常に勉強になるので、もう少し確認させてください。 1.Webサーバをaaa.aaa.xxx.jpで公開したとした場合 DNSのレコードには、 aaa.aaa.xxx.jp ⇔ 1.1.1.1(サーバのアドレス)ではなく、 aaa.aaa.xxx.jp ⇔ 1.1.1.2(ルータのアドレス)が割り当てられているということでしょうか? その場合、DMZにサーバが複数ある場合、要求されているアドレスがその中のどれに当たるのか(192.168.1.1なのか192.168.1.2なのか)は何でわかるのでしょうか? 2.今回の場合、サーバのIPアドレスは、192.168.1.1を設定し、ルータ側に 192.168.1.1 ⇔ 1.1.1.1 のNATテーブルを持たせ、変換させるということでしょうか?(サーバにはグローバルIPアドレスは設定しない?) 何度も申し訳ないですが、よろしくお願いします。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 それはどこの情報でしょうか? 内部ネットワークには外からアクセスできない為、確かにセキュリティは高まりますが、DMZが設定されている以上、WebサーバーはルーターのIPを使用して外から丸見えですから、隠されているとはいえません。 Webサーバーに必要なIPアドレスだけ、外からアクセス出来るようにすればリスクは最小限に抑えられる=セキュリティが高いといえますが。 ネットワークの通信には簡単に言えば「通信開始の要求」という手順があります。 どこかのコンピューターと通信を開始する時、通信したい方が通信開始の要求を行います。 これが相手に受諾されると、双方のコンピューターが接続され、通信可能となります。 「内部から外へアクセスできるけど、外から内部へアクセスできない」 インターネット側から開始される通信、つまり外からの通信開始要求を全てルーターが破棄してしまう事でこれが実現出来ます。 但し、ご質問のケースでは、内部ネットワークは 192.168...から開始されるIPアドレスが利用されており、これはインターネットでは通用しません。 つまり、本当なら内部からインターネットにアクセスする事も出来ないのです。 しかし、ルーターが内部ネットワークからのインターネットへの接続要求を探知した場合、その接続をあたかもルーターが行っているかのように偽装する事で、インターネットとの接続を実現しています。 つまり接続先のコンピューターにはルーターのIPアドレスが通知されています。 そして、内部ネットワークの、どのコンピューターからの通信も全てルーターのIPアドレスとなるため、外部からはどの内部コンピューターからの通信か、を見分ける術はありません。 また、逆にインターネット側から内部ネットワークのコンピューターにアクセスしようとしても、ルーターのIPしか分かりませんから、必然的にインターネット側から内部コンピューターにアクセス出来ない、という事になります。 この機能は、NATやIPマスカレードと呼ばれており、今の家庭用ルーターには100%搭載されているのではないでしょうか。 色々説明の簡略化でニュアンス変わっているかも知れないので、詳しくはお調べ頂くか補足or再度の質問をお願いします(.. 参考になれば幸いです(..
補足
どのコンピュータからのアクセスかを特定させない ↓ そのために、NAT機能を使う ↓ なぜなら、ルータが接続を行っているように偽装することができるから ということでしょうか? 追加質問 1.NAT(グローバル⇔プライベート)を使わないと、あたかもルータが通信を行っているように偽装はできないのでしょうか? 2.基本的なことですが、IPアドレスがわかったら、どんな風に危険なのでしょうか?
補足
honjiyonさん、bshipさん、ご回答ありがとうございます。 非常に詳しくかつわかりやすい説明に感謝しています。 非常に勉強になるので、もう少し確認させてください。 1.Webサーバをaaa.aaa.xxx.jpで公開したとした場合 DNSのレコードには、 aaa.aaa.xxx.jp ⇔ 1.1.1.1(サーバのアドレス)ではなく、 aaa.aaa.xxx.jp ⇔ 1.1.1.2(ルータのアドレス)が割り当てられているということでしょうか? その場合、DMZにサーバが複数ある場合、要求されているアドレスがその中のどれに当たるのか(192.168.1.1なのか192.168.1.2なのか)は何でわかるのでしょうか? 2.今回の場合、サーバのIPアドレスは、192.168.1.1を設定し、ルータ側に 192.168.1.1 ⇔ 1.1.1.1 のNATテーブルを持たせ、変換させるということでしょうか?(サーバにはグローバルIPアドレスは設定しない?) 何度も申し訳ないですが、よろしくお願いします。