2つのIPアドレスが同じサーバーに属しているかどうかを知ることはできますか?


21

2つのパブリックIPアドレスと同じ/ 27ネットワーク上の両方の知識がある場合、それらが1つまたは2つのサーバーに属しているかどうかを遠隔地(つまり、異なる国)から判断することは可能でしょうか?


2
達成しようとしていることと、特定しようとしているサーバーの性質について詳しく説明できますか?
ボブストロ

3
Pingのタイミングが手がかりになる可能性があります。たとえば、すべてのIPがランダムな時間内に応答し、2つのIPがほぼ同じ遅延で応答する場合です。

10
一方のDoSを許可し、もう一方も応答しなくなるかどうかを確認できますか?
ベンフォークト

1
サーバーが同じ場所にある場合、@AndréDanielPingのタイミングは完全に失敗します。同じラックは同じサーバーではありません。
トムトム

回答:


29

いいえ、一般的なケースではありません。


ゲストをとても幸せにするための追加:

  • 基本TCP / IPプロトコル(IP / TCP / UDP、ICMPなど)には、質問で要求される区別を明確にすることを特に目的としたものはありません。
  • 同じことが、HTTPなどの多くの上位レベルのプロトコルにも当てはまります。
  • 回答パターンの多少の違いを実際に使用して、システムについて推測することができます。2つの非常に異なるシステム(LinuxサーバーとWindowsサーバーなど)がある場合、これは2つのホストがあることを確認するのに十分かもしれません。
  • これは、システムが類似しているほど難しくなります。同一のハードウェアとOSを備えたHA Webクラスター内の2つのノードは、この方法で分離することは不可能です。私はこれを今日のほとんどのシナリオで一般的なケースと考えています。
  • 最後に:同じ物理ボックス上の2つの仮想マシンは1つまたは2つのサーバーですか?そもそも差別化を試みる理由によっては、これが重要になる場合があり、ネットワークレベルで伝えることは完全に不可能です。

2
Svenの答えは100%正しいですが、異なるオペレーティングシステムを実行しているかどうかを推測することが可能です(nmapまたはここで説明されているpingテストkellyodonnell.com/content/determining-os-type-pingを使用)。ただし、どちらも1つのホストで実行されているVMである可能性があります。
アンディ

1
@アンディ:だから私は「一般的な場合」と言った。場合によっては、見つけることができますが、一方で、1つのIPアドレスの背後にある1台のコンピューターではなく、100台であることにも気付かないこともあります...
Sven

3
@Sven:問題は、2つのIPが単一のコンピューターに相関するかどうかであり、共通のIP上のサービスが複数のマシンに相関するかどうかではありません。毎回動作することが保証されている普遍的な方法はないことに同意しますが、受信する応答の間に十分な共通性を見つけることができれば、合理的な推測を行うことができるかもしれません。ミッシェルは、有用な解決策が存在するかどうかを判断するために、何を達成すべきかについて詳しく説明する必要があります。たとえば、負荷分散構成か仮想構成かは問題になりますか?
ボブストロ

1
仮想化を導入すると曖昧になります。ゲストAとゲストBの2つのVMがあり、それぞれ異なるIPを持ちますが、同じ/ 27ネット上にあるとします。さらに、これらの両方のゲストがホストCによってホストされているとします。ある意味では、2つの/ 27アドレスは異なる「サーバー」に属しますが、別の意味では同じNICと同じホストを通過できるため、IPが属すると主張できます同じ「サーバー」に。ゲストAがさらに2つのVM、ゲストXとゲストYをホストし、それぞれの/ 27アドレスがある場合、これらのIPのどれが同じコンピューターに属しますか?これらのVMのいずれかを「vMotion」するとどうなりますか?良い答えがありません。
ジョシュアフーバー

13

「なぜ」について興味があります。デュアルホームマシンに関する懸念は、通常、名前のないsysadminの頭痛の種としてローカライズされています。詳細は、OSIモデルによって隠されることを意図しています。

今後のLinux中心の答え。

指紋を生成し、教育的な推測を行う方法がいくつかあります。

  1. 適切なポートスキャンを使用したnmap -oおよびnmap。サーバーは常に両方のNICにバインドするとは限りません。しかし、多くの場合はそうです。

  2. MACアドレス。MACアドレスを取得する手段があれば、メーカーは統合ハードウェアに連続したアドレスを使用することを好みます。2つのほぼ同一のMACアドレスが同じマザーボードである可能性が高くなります。もちろん、これはアフターマーケットカードには適用されません。

  3. ご挨拶。Telnet、ftp、smtpなどはすべて識別情報を提供します。これらのサービスが実行されているかどうかを確認し、十分な明確な情報を提供してください。今日のバナーはおそらく珍しいものですが、それでも一見の価値があります。

  4. NICに依存しない動作をテストします。たとえば、sshに偽の認証を数十回提供して、拒否ホストをトリップしようとします。拒否ホストが作動した場合、次の試行でソケットがすぐに閉じることがわかります。これが他のIPでも発生しているかどうかを確認します。

/ 27ネットは...何、29ホストですか?高い信頼性でデュアルホームマシンを特定できる可能性は非常に低く、おそらく5%です。ただし、ホストが非常に少ない場合は、経験に基づいた推測を行うことができます。

インタビューのための楽しい質問。実際に盗むかもしれません。


4
#4に関しては、両方のアドレスがsshを実行しており、接続できる場合、ホストキーを比較できます。原則として、2つの異なるサーバーに同じホストキーを与えることができますが、これは非常に奇妙なセットアップになります。したがって、両方のアドレスから同じホストキーを取得した場合、それらはほとんどの場合同じサーバーです。
ネイト・エルドリッジ

マシンのクローニングにより、同じホストキーを持つ2つのボックスが生成される場合があります。
ピーターグリーン

7

理論的には、ほとんどの場合、意味のある信頼レベルを与えることができます。いくつかの警告がありますが、実際には非常に難しくなります。

私は他の答えを重ねるつもりです、そしておそらく私はものを逃しましたが、これは少なくともこれらの特定のビットが重要であるかどうかの詳細な推論です。

ただし、最初にMACアドレスについての考えを忘れてください。ネットワークセグメントに直接アクセスできない限り、それらを表示することはできません。

また、ポートスキャンを信頼しないでください。特定のIPのみのファイアウォールポート、特定のIPのみでソフトウェアをリッスンする、またはスキャンが検出されたときにフィルタリングを適用するIDS / IPSシステムを使用するのは簡単です。これらはすべて、テストを台無しにします。

わかりましたので、わかりやすい方法は簡単です。2つのボックスがまったく同じである可能性は、それらが別の方法で関係付けられていない限り、低くなります。あなたが実際にやっているのは、それらが同じ箱であることを証明しようとするのではなく、それらが異なる箱であることを証明しようとすることです。

  1. ピン。両方を同時にテストし、多くのテストを行う必要があります。ネットワーク時間にはジッターがありますが、かなり高品質の擬似ランダムノイズですが、短い時間枠で十分なサンプルがある場合、ノイズは十分に平均化され、正確な比較ができることがわかります。

    ネットワークの各レイヤー2ホップはわずかなレイテンシーを追加し、異なる輻輳レベルは異なるレイテンシー値を与えます。2つのIPの同時レイテンシが大幅に異なる場合は、おそらく同じボックスではないと想定できます。

    警告1:2つのアップリンク(ボンディングされていない)を備え、各アップリンクで異なるIPを使用して構成された単一のサーバーは、これをスローするのに十分なアップリンクの不均衡がある可能性があります。

  2. ポートスキャン。宛先ポートは、リスニング、クローズ、フィルタリングの3つの状態のいずれかになります。これらが実際に使用されるのは、上記のようにあまり使用されませんが、まだ役立つ情報があります。

    1. 複数のIPでポートが開いているボックスでは、ほとんどの場合、すべてのIPで同じソフトウェアが実行されます。たとえば、あるIPでnginxを実行し、別のIPでapacheを実行することは可能ですが、ほとんどの人は気にしません。実行中のサービスをフィンガープリントして、類似点を探します。宣伝しているソフトウェアとバージョン、サポートしているオプション、宣伝しているホスト名(存在する場合)、ソフトウェアの動作に奇妙な点がある場合などを探します。

      これにはWebサービスの有用性は最も低く、SMTP(sendmailのサポートにより多くの情報を漏らし、一致させるのが難しい)、SNMP(情報の宝庫)、SSH(複数のSSHデーモンを実行しているのは誰ですか?) )およびHTTPS(運が良ければ、同じソフトウェアを実行している場合は、SSL構成の違いを確認できます。同一だが異常な構成は良い指標です)。NTPは以前は良いテストでしたが、DoSアンプとしての使用量が多いため、今ではハードロックされています。SNTPは同じように喫煙銃としては十分に正確ではありません。

    2. レイヤー3フィンガープリンティング。OSのリモートフィンガープリンティングの主な方法は、TCP / IP実装の奇抜な方法です。正確な詳細は長すぎてここには入りませんが、基本的にパケットメタデータは大量の情報を漏らします。閉じたポートまたはフィルターされたポートが接続に応答する方法や、不正なパケットを受信した場合のホストの動作も同様です。これらの特性は何が実行されているかを特定するものではありませんが、特定のTCP / IPスタックにバインドされているすべてのIPでほぼ同じであることが合理的に保証されています。大幅に異なるシステムには、著しく異なる特性が必要です。

    警告2:まったく同じOSとベンダーパッチを実行している2つのボックスは、同じように見える可能性があります。Windowsでは、自動更新を実行している同じWindowsバージョンの2つのコピーは、異なるファイアウォールが実行されていない限り、ほとんど区別できません。Linuxでは、違いは主に、出荷されるカーネルのバージョンとオプションに正確に関係する可能性があります。このテストでは、2つのIPが同じOS上にない可能性が高くなります。

  3. リプレイ攻撃。ポートのリストが両方のIPで開いている状態で、各IPで同じアクションを実行し、動作の不一致を探します。タイムアウト、エラーメッセージ、再試行制限などのようなもの。一部のソフトウェアは、IPに基づいて異なるように構成するのが難しいか、またはそれほど頻繁ではありません。1つのIPが特定のドメインのメールを受け入れていることがわかっている場合は、他のIPもそのドメインのメールを受け入れているかどうかを確認します。

    警告3:これは、テスト2のサービスフィンガープリント部分よりも低品質のデータです。これは、さまざまなIP上で異なる設定が簡単であり、あらゆる種類の舞台裏でのやり取りが可能なためです。誤った結果の可能性が高いと、それらの結果にほとんど自信がありません。

そのため、私が言ったように、根本的な理論は、異なるホストは異なる構成になる可能性があり、情報が漏洩するということです。

これが考慮していないのは、2つのIPで実行されている同じサイトが同じサーバーであるか、冗長性のために構成された2つのサーバーであるかを判別するのがはるかに難しいことです。また、システムを非常によく似た状態に保つために、構成管理を実行しているシステム管理者を考慮していません。また、異なるホストで実行されている複数のサービスを単一のIPアドレスにDNATしているホストも考慮しません。

仮想化技術は、奇妙なスパナを作品に投げ込みます。Dockerなどのコンテナ化されたシステムは、個別のコンテナが実際よりも似ているように見えるように十分なスタックを共有しています。物理nicにブリッジされる仮想nicは、物理的に別個のハードウェアと区別することはできませんが、主にブリッジがソフトウェアであり、したがってパケットがホストIPスタックを通過する必要があるという事実に起因します。

再現性をテストしようとする人々を混乱させる多くの方法があります。期待できる最善の方法は、疑いの余地の少ないパターンです。

サーバーを実行している人にとって、これの教訓は、できるだけ情報が漏れないようにサーバーを構成する必要があるということです。

  1. 可能な限りバナー情報を拒否します。攻撃があなたの設定について知ることが少ないほど、あなたにとっては良いことです。

  2. ソフトウェアがサービスを提供することになっているIP上の接続のみを必要な場合にのみ受け入れます。外部からアクセスする必要がない場合は、ローカルホストのみにバインドします。攻撃対象領域を減らすことは常に有効です。

  3. リスニングする必要が絶対にあり、2つのIP間の相関を避けたい場合は、異常なオプションを最小限に抑えるようにしてください。溶け込みたい

  4. デフォルトのドロップポリシーを使用してファイアウォールを実行します。ランダムな応答で攻撃者に応答するIDSセットアップには価値があると思います。ノイズは攻撃者が結果を信頼することを難しくしますが、目立つようになります。

  5. ランダム遅延モジュールは、タイミング攻撃を防止する価値がありません。いいえ、本当に。乱数を選び、ダイスを何回も振って、結果と開始時に選択した数字を書き留めます。最終的には、オフセットが固定された範囲になります。乱数が置換されると、範囲が移動します。範囲が変更された場合、オフセットは同じままであり、サンプリングプロセスを繰り返して新しいベースラインを取得するだけです。

  6. IPスタックノーマライザーは存在しますが、前回私が見たセキュリティ研究の無視された部分でした。おそらくセキュリティベンダーに投資するのに最適な市場でしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.