web-dev-qa-db-ja.com

内部サーバーにインターネット(特定のIP)と通信させることが危険なのはなぜですか?

基本的な質問ですが、内部サーバーがあり、新しいパッケージを取得するなど、外部と通信したい場合は、この環境は通常、インターネットにアクセスできません。そのサーバーからインターネット上の特定のIPへのアクセスを開くことは "危険"だと聞いたことがあります(更新を取得する必要がある場所はどこにでもあるとしましょう)。ポイントは、私たちは反対側のIPが何であるかを知っており、それを信頼していると思います。

現実的に、新しいパッケージを取得するIPとのみ通信できる場合のリスクは何ですか?

ここでは警備員ではありません-理解しようとしています!

4
Myelin

彼らがインターネットを閲覧しているときにデスクトップにIPへのアクセスを許可することほど危険ではありません。静的IPを割り当てたり、安全でないサービスを公開したりするのは危険です。 2つの別々の問題。ビジネスネットワークやホームネットワーク、またはほとんどのネットワークからインターネットに接続する場合、ループのどこかにファイアウォールが存在する可能性があります。それが専用ファイアウォールであるか、ルーターに適用される最小限のfw likeルールであるかどうか。そのルーターは、世界への出口です。だから、これはあなたが接続したときに何が起こるか、そして世界があなたをどう見るかです:

Router - 10.10.10.1 (internal address) / 33.33.33.33 (external address)
Laptop1 - 10.10.10.2
Workstation1 - 10.10.10.4
DBServer2 - 10.10.10.10

Laptop1のユーザーが、たとえばmysoftware.comで更新を取得するとします。これは、非常に基本的な用語です。

Laptop1 --> need to go to mysoftware.com (DNS lookup) --> router

ルーターはタプル(NAT/PAT)を作成して、次のようなものを世界に渡します。

10.10.10.2:65432 --> mysoftware.com --> router (I need to remember this)
router --> 10.10.10.1:44555 / 33.33.33.33:554433 --> mysoftware.com "Hey I need this"

正確に2人が同時にmysoftware.comにアクセスした場合、どのマシンがどのマシンであるかをデータがどのようにして知るのでしょうか。これはタプルによって行われるので、戻るときにこれが発生します。

mysoftware.com --> here is your update --> 33.33.33.33:554433

ルーター/ファイアウォールがタプルをマッピングします。

554433 = 44555 which I have mapped to 10.10.10.2:65432

つまり、接続は一言で言えば機能します。さて、同じASCII説明の下で...外の世界は[〜#〜] never [〜#〜]ファイアウォールの背後にあるものをランダムに見ることができます(ただし、 fwが正しく設定されておらず、誰かが非常に優れたファイアウォークを行っています。したがって、このシステムがインターネットにアクセスできるようにすると、何が発生すると考えられますか?そのマシンに、世界がそれを見ることができる静的IPを割り当てることと、アクセスを許可するだけです。

これがMySQLサーバーであると仮定しましょう:

Workstation1 - 10.10.10.4 3306 is opened for LOCAL connections (within the LAN)

攻撃者?彼らは10.10.10.4アドレスが存在することを知りません。世界では、彼らが知っている/見ているのは33.33.33.33だけで、33.33.33.33ポート3306にデータを送信できますが、結局どこにも行きません。

3
munkeyoto

このステートメントに基づいて:

ポイントは、私たちは反対側のIPが何であるかを知っており、私たちはそれを信頼していると思います。

次の場合、夜は簡単に眠ることができます。

  1. ファイアウォールをロックダウンして、そのIPからのトラフィックのみを許可します。
  2. SSLを使用してそのIPと通信します。
  3. サイトが発行した信頼できる証明書を保存し、証明書が変更されたときに通信を停止します。

証明書が変更されるたびに、サイトを信頼していると仮定して、新しい証明書を手動で保存できます。

0
TTT

アップデートを見てみましょう。信頼できるソースであると思われるものから更新をダウンロードし、インターネットを介してサーバーに送信します。パッケージはどのようにあなたの場所に移動しますか?

トラフィックがインターネット上を移動する方法を見ると、複数の「ホップ」(ネットワークデバイス間を移動する)があることがわかります。

あなたがした場合ping 8.8.8.8 TTLはシステムのデフォルトとは異なるものになります。私の場合、私のシステムにはデフォルトTTL(time-to -live)of64。pingの結果は54です。これは、送信した情報が10の異なるネットワークデバイスに渡ったことを意味します。そのうち2つだけが私の組織によって所有され、8つのデバイスは私が何も知りません。

これらの8つのデバイスは何をしているのでしょうか?私はそれらについて何も知りません。パケットのペイロードを操作したり、リクエストを傍受して、ダウンロードしたファイルとは異なるファイルを提供したりする可能性があります。サーバーがインターネット上にあることは必ずしも悪いことではありません(サーバーによって異なります)。 Webサーバーは一般にインターネットに広く開かれており、ドメインコントローラーは一般にプライベートネットワークに分離されています。

特定のIPに関する質問の一部については、IPアドレスが偽装される可能性があります。サーバーが単一のサーバーのみからのペイロードを予期しており、検証(UDPなど)を行わない場合、偽装アドレスからのトラフィックは自由に流入できます。

これはかなり広い質問であり、多くの答えがあります。うまくいけば、これはいくつかの基本的なことを明らかにするのに役立ちます。

0
Danny Klatt