İki IP adresinin aynı sunucuya ait olup olmadığını söylemek mümkün mü?


21

İki genel IP adresi ve her ikisi de aynı / 27 ağda olan bilgiler göz önüne alındığında, bir veya iki sunucuya ait olup olmadıklarını uzak bir konumdan (yani farklı bir ülkeden) belirlemek mümkün olabilir mi?


2
Neyi başarmaya çalıştığınızı ve tanımlamaya çalıştığınız sunucuların doğasını açıklayabilir misiniz?
bobstro

3
Ping zamanlamaları bir ipucu sağlayabilir - örneğin, tüm IP'ler rastgele bir sürede yanıt veriyorsa, ancak ikisi neredeyse aynı gecikmeyle yanıt veriyorsa.

10
Bir tanesini yapmasına izin verip diğerinin de tepkisiz olup olmadığını kontrol etmene izin var mı?
Ben Voigt,

1
@ AndréDaniel Eğer sunucular ortak konumdaysa, Ping zamanlamaları tamamen başarısız olur. Aynı raf aynı sunucu değil.
TomTom

Yanıtlar:


29

Hayır, genel durumda değil.


Misafirlerimizi SO'dan mutlu etmek için bazı eklemeler:

  • Temel TCP / IP protokollerinde (örn. IP / TCP / UDP, ICMP) özellikle soruda istenen ayrımı yapması amaçlanan hiçbir şey yoktur.
  • Aynısı, daha yüksek seviye protokolleri için de geçerlidir, örneğin HTTP.
  • Sistem hakkında bir tahminde bulunmak için, cevap kalıplarında az ya da çok ince farklar kullanmak gerçekten mümkündür . İki farklı sisteminiz varsa, örneğin bir Linux ve bir Windows sunucusu varsa, bu iki ana bilgisayara sahip olduğunuzdan emin olmak için yeterli olabilir.
  • Bu, sistemler ne kadar benzerse o kadar zorlaşacaktır. HA web kümesinde aynı donanıma ve işletim sistemine sahip iki düğümün bu şekilde ayrılması imkansızdır. Bugün, çoğu senaryoda genel durumu ele alıyorum.
  • Son olarak: Aynı fiziksel kutudaki iki sanal makine bir veya iki sunucu mı? Neden ilk önce farklılaşmaya çalıştığınıza bağlı olarak, bu önemli olabilir ve ağ düzeyinde anlatmak tamamen imkansızdır.

2
Sven'in cevabı% 100 doğru, ancak farklı İşletim Sistemleri kullanıp kullanmadıklarını tahmin etmek mümkün olabilir (nmap veya burada açıklanan ping testi ile kellyodonnell.com/content/determining-os-type-ping ). Yine de her ikisi de bir ana bilgisayardan kaçıyor olabilir.
Andy,

1
@Andy: Bu yüzden "genel davada" dedim. Bazı durumlarda, öğrenebilirsiniz, ancak diğer yandan, bazı durumlarda, tek bir IP adresinin ardındaki tek bir bilgisayar değil, yüzlerce olduğunu farketmezsiniz bile ...
Sven

3
@Sven: Soru, iki IP'nin tek bir bilgisayarla korelasyon içinde olup olmadığıdır, ortak bir IP üzerindeki servislerin birden fazla makineyle ilişkili olup olmadığıdır. Her zaman işe yarayacak evrensel bir yöntemin bulunmadığını kabul ediyorum, ancak ne yanıtlar alındığı arasında yeterli ortaklıklar bulabilirse, makul bir tahmin yapmak mümkün olabilir. Michelle, faydalı bir çözüm olup olmadığını belirlemek için neyin başarılması gerektiği üzerinde yoğunlaşmalıdır. Örneğin yük dengeli veya sanal bir konfigürasyon olması önemli midir?
bobstro

1
Sanallaştırmaya girdiğinizde belirsiz. Her biri farklı IP'ye sahip, ancak aynı / 27 ağda iki VM, Misafir A ve Misafir B olduğunu varsayalım. Her iki misafirin de Host C tarafından ev sahipliği yaptığını varsayalım. Bir anlamda, iki / 27 adresleri farklı "sunuculara" aittir, ancak bir başka anlamda aynı NIC ve aynı ana bilgisayardan geçebildiler, böylece IP'lerin ait olduğunu iddia edebilirler. Aynı "sunucu". Konuk A, sırayla iki VM daha barındırıyorsa, Konuk X ve Konuk Y, ayrıca kendi / 27 adresleriyle, bu IP'lerden hangisi aynı bilgisayara ait? Ya bu sanal makinelerin herhangi birini "vMotion" olarak kabul edersen? İyi bir cevabım yok.
Joshua Huber,

13

"Neden" olarak merak ediyorum. Çift bağlantılı makineler hakkındaki endişeler tipik olarak adlandırılmamış sysadmin baş ağrıları şeklinde lokalizedir. Detaylar OSI modeli tarafından gizlenmelidir.

Linux merkezli cevap ileride.

Parmak izi üretmenin ve eğitim tahminde bulunmanın bazı yolları vardır.

  1. nmap -o ve nmap iyi bir port taraması ile. Sunucular her zaman NIC'lere bağlanmaz. Ama çoğu zaman yaparlar.

  2. MAC adresleri. MAC adreslerini almak için herhangi bir yönteminiz varsa, üreticiler entegre donanım için ardışık adresleri kullanmayı sever. İki neredeyse aynı MAC adresinin büyük olasılıkla aynı anakart. Bu elbette satış sonrası kartlar için geçerli değildir.

  3. Selamlar. Telnet, ftp, smtp ve benzerlerinin tümü tanımlayıcı bilgiler sunar. Bu servislerin çalışıp çalışmadığını görmek için yeterince farklı bilgiler sunun. Afişler bugün muhtemelen nadirdir, ancak yine de bir çekim yapmaya değer.

  4. NIC bağımsız davranışını test et. Örneğin, bir düzine kez ssh'ye sahte kimlik doğrulama sağlayarak reddetme ana bilgisayarlarını gezmeye çalışın. Reddetme ana bilgisayarları tetiklenirse, bir sonraki denemede soketin kapandığını hemen bulmanız gerekir. Bunun diğer IP için de olup olmadığını görün.

A / 27 ağı, 29 konak mı? Güvende bir çift ev makinesi belirleme şansı süper ince, belki% 5 olduğunu söyleyebilirim. Ancak çok az sayıda ev sahibi varsa, bilinçli bir tahminde bulunabilirsiniz.

Bir röportaj için eğlenceli bir soru. Aslında onu çalabilirim.


4
# 4 ile ilgili olarak, her iki adres de ssh kullanıyorsa ve ona bağlanabilirseniz, ana bilgisayar tuşlarını karşılaştırabilirsiniz. Prensip olarak, iki farklı sunucuya aynı ana bilgisayar anahtarı verilebilir, ancak çok garip bir kurulum olur. Bu nedenle, her iki adresten de aynı ana bilgisayar anahtarını alırsanız, büyük olasılıkla aynı sunucudur.
Nate Eldredge,

Aynı ana bilgisayar anahtarına sahip iki kutu, makinenin klonlanmasından kaynaklanabilir.
Peter Green,

7

Teorik olarak çoğu durumda anlamlı bir güven düzeyi verebilirsiniz. Pratikte daha da zorlaştıran birkaç uyarı var.

Diğer cevaplarla örtüşmeye başlayacağım ve muhtemelen bazı şeyleri kaçırdım, ancak bu en azından bu belirli bitlerin neden önemli olup olmadığına dair ayrıntılı bir neden.

İlk önce, MAC adresleriyle ilgili düşünceleri unut. Ağ segmentine doğrudan erişiminiz yoksa, onları göremezsiniz.

Ayrıca port taramalarına güvenmeyin. Yalnızca belirli IP'ler için güvenlik duvarı bağlantı noktalarının önemsiz olması, yalnızca belirli IP'lerde yazılım dinlemesinin veya bir tarama algılandığında filtreleme uygulayan bir IDS / IPS sistemine sahip olması çok önemlidir. Bütün bunlar senin testini mahvedecek.

Tamam, öyleyse söyleyebildiğiniz yol basit: iki kutunun tamamen aynı olma olasılığı, aksi halde ilgili olmadıkça düşüktür. Yani gerçekte yaptığınız şey, farklı olduklarını kanıtlamaya çalışmak, aynı olduklarını kanıtlamaya çalışmak değil.

  1. Ping. Hem aynı anda hem de çok fazla test yapmanız gerekiyor. Şebeke zamanlarında titreme olsa da, oldukça yüksek kaliteli sözde rastgele gürültü olduğu ortaya çıkıyor, eğer küçük bir zaman dilimi içinde yeterli numuneye sahipseniz, gürültünün size doğru bir karşılaştırma yapması için yeterli olduğu ortaya çıkıyor.

    Bir ağdaki her katman 2 sekmesi küçük bir miktar gecikme süresi ekler, farklı tıkanıklık seviyeleri farklı gecikme değerleri verir. İki IP, önemli ölçüde farklı eşzamanlı gecikme gösteriyorsa, muhtemelen aynı kutu olmadığını varsayabilirsiniz.

    Uyarı 1: İki yukarı bağlantılı (bağlı değil) ve her yukarı bağlantıda farklı bir IP ile yapılandırılmış tek bir sunucu, bunu atmak için yeterli yukarı bağlantı dengesizliğine sahip olabilir.

  2. Port taraması. Hedef portlar üç durumdan birinde olabilir: dinleme, kapalı, filtrelenmiş. İçinde bulundukları, aslında yukarıda belirtildiği gibi pek kullanılmaz, ancak hala sahip olunması gereken yararlı bilgiler vardır.

    1. Birden fazla IP'de bağlantı noktaları açık olan kutular büyük olasılıkla tüm IP'lerde aynı yazılımı kullanıyor olacaktır. Bir IP’de nginx ve diğerinde apache çalıştırmak mümkündür, ancak çoğu insan rahatsız etmez. Benzerlikleri aramak için çalışan hizmetleri parmak izi ile alın. Hangi yazılımın ve sürümün kendisini tanıttığını, hangi seçenekleri desteklediğini, hangi ana bilgisayar adının (varsa) reklamını, yazılımın davranışında tuhaflıklar olup olmadığını, bunun gibi şeyleri arayın.

      Web servisleri bunun için en az kullanışlı, çok daha faydalı, SMTP (sendmail desteği nedeniyle karıştırılması ve eşleştirilmesi zor, çok fazla bilgi sızdırıyor), SNMP (bir bilgi altını madeni madeni), SSH (birden fazla SSH kimliği çalışıyor? ) ve HTTPS (şansınız yaver giderse ve aynı yazılımı kullanıyorsanız, SSL yapılandırmasındaki farklılıkları kontrol edebilirsiniz, aynı ancak sıradışı bir yapılandırma iyi bir göstergedir). NTP eskiden iyi bir testti ancak DoS amplifikatörü olarak kullanımının yoğun olmasından dolayı şu anda zor durumda kalıyordu, SNTP de aynı şekilde bir tüfek için yeterince doğru değil.

    2. Katman 3 parmak izi. Bir işletim sistemini uzaktan parmak izlemenin ana yolu, TCP / IP uygulamasındaki tuhaflıklardandır. Kesin detaylar buraya gelmek için çok uzun ama esasen paket meta verisi, kapalı veya filtrelenmiş bir portun bir bağlantıya nasıl cevap verdiğini ve bir hostun hatalı biçimlendirilmiş paketleri alırken nasıl davrandığını açıkladığı gibi çok fazla bilgi sızdırıyor. Bu özellikler neyin çalıştığını söylemek için kesin bir şey olmamakla birlikte, belirli bir TCP / IP yığına bağlı her IP için aynı değere yakın olmaları garanti edilir. Önemli ölçüde farklı sistemler, önemli ölçüde farklı özelliklere sahip olmalıdır.

    Uyarı 2: Aynı işletim sistemini kullanan iki kutu ve satıcı yamaları aynı görünecek gibi görünüyor. Windows'ta, otomatik güncellemeleri çalıştıran aynı Windows sürümünün iki kopyası, çalışan farklı güvenlik duvarları olmadığı sürece ayırt edilemez olacak. Linux'ta farklılıkların temelde tam olarak hangi çekirdek sürüm ve seçeneklerin gönderildiği ile ilgili olması muhtemeldir. Bu test sadece iki IP'nin aynı işletim sistemi üzerinde olmaması olasılığını yüksek verebilir.

  3. Replay atakları. Her iki IP'de de açılan bağlantı noktaları listesi ile her IP'de aynı işlemleri yapın ve davranışlarda tutarsızlıklar arayın. Zaman aşımları, hata mesajları, yeniden deneme sınırları vb. Gibi şeyler. Bir IP’nin belirli bir etki alanı için posta kabul ettiğini biliyorsanız, diğer IP’nin de bu etki alanı için posta kabul edip etmediğini kontrol edin.

    Uyarı 3: Bu, test 2'nin servis parmak izi kısmından daha düşük kaliteli veridir, çünkü bu, farklı IP'lerde farklı şekilde yapılandırılması daha kolaydır ve her türlü perde arkası etkileşimi ardında olasıdır. Yanlış sonuçların yüksek olması bu sonuçlara çok az güven duyulmasına neden olur.

Dediğim gibi, temel teori, farklı konakların muhtemelen farklı yapılandırmalar olacağı ve bilgi sızdıran olmasıdır.

Bunun hesaba katmadığı şey, iki IP üzerinde çalışan aynı sitenin aynı yedekleme veya artıklık için yapılandırılmış iki sunucu olup olmadığını söylemenin çok zor olduğudur. Ayrıca, sistemlerini çok benzer tutmak için yapılandırma yönetimi çalıştıran sistem yöneticilerini de hesaba katmaz. Tek bir IP adresine farklı ana bilgisayarlarda çalışan birden fazla hizmeti DNAT yapan ana bilgisayarları da hesaba katmaz.

Sanallaştırma teknolojisi çalışmalarında bazı tuhaf anahtarlar atar. Docker gibi kapsayıcı sistemler, ayrı kapların gerçekte olabileceğinden daha benzer görünmesini sağlamak için yığının yeterince paylaşıyor. Fiziksel bir bağa köprülenmiş sanal nics, fiziksel olarak ayrı donanımlardan ayırt etmek imkansız olmalı, ancak temelde köprünün yazılım olduğu ve dolayısıyla paketlerin ana IP yığından geçmesi gerekmediğinden kaynaklanmamalıdır.

Tekrarlanabilirlik için test etmeye çalışan insanları şaşırtmanın birçok yolu vardır. Umut edebileceğiniz en iyi şey, düşük bir şüphe marjı olan bir kalıptır.

Bunun ahlakı, sunucu çalıştıran insanlar için, sunucularınızı olabildiğince az bilgi sızdırması için yapılandırmanız gerektiğidir:

  1. Afiş bilgisini mümkün olduğunca kısın. Saldırı, konfigürasyonunuz hakkında ne kadar az şey bilirse, sizin için o kadar iyi olur.

  2. Yazılımın yalnızca üzerinde olması gereken ve yalnızca gerektiğinde IP üzerindeki bağlantıları kabul etmesini sağlayın. Dışarıdan erişilebilir olması gerekmiyorsa, yalnızca yerel ana bilgisayara bağlanmasını sağlayın. Saldırı yüzeyini azaltmak her zaman iyidir.

  3. Eğer kesinlikle dinleyen bir şeyiniz olmalı ve iki IP arasındaki korelasyondan kaçınmak istiyorsanız, alışılmadık seçenekleri minimumda tutmaya çalışın. Karışmasını istiyorsun.

  4. Varsayılan bırakma ilkesiyle çalışan bir güvenlik duvarına sahip olun. IDS kurulumunda rastgele yanıt veren saldırganlara cevap veren bir değer olabileceğini düşünüyorum, gürültü bir saldırganın sonuçlarına güvenmesini zorlaştıracak, ancak sizi öne çıkaracak.

  5. Rasgele gecikme modülleri zamanlama saldırılarını önlemek için değersizdir. Hayır, gerçekten. Rastgele bir sayı seçin, ardından birkaç kez bir ölüme geçin, sonucu ve başlangıçta seçtiğiniz sayıyı yazın. Sonunda sabit bir sapma ile bir dizi. Rasgele sayı değiştirilirse, aralık hareket eder. Aralık değiştirilirse ofset aynı kalır ve bu sadece yeni bir başlangıç ​​elde etmek için örnekleme işlemini tekrarlamaktan ibarettir.

  6. IP yığın normalleştiricileri var, ancak son baktığımda güvenlik araştırmasının ihmal edilmiş bir kısmı vardı. Bir güvenlik satıcısı için yatırım yapmak muhtemelen iyi bir pazar olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.