Frage:
Ist es eine schlechte Praxis, Ihre IP-Adresse in der URL anzuzeigen?
Delmonte
2013-05-09 19:32:29 UTC
view on stackexchange narkive permalink

Jemand hat mir gesagt, dass es einfacher ist, Ihre IP-Adresse in einer URL (wie http://192.0.2.34/default.html ) anzuzeigen. Ist das wahr? Ich könnte jeden Domainnamen verfolgen und auch seine IP-Nummer erhalten.

Ich kann mir nicht vorstellen, warum dies passieren würde, außer dass dadurch nur der DNS-Aufklärungsschritt gelöscht wird ...
Das Anzeigen der IP-Adresse in der URL sollte keinen Einfluss auf die Sicherheit der Site haben.
Die Verwendung einer IP als URL ist schlecht. Nicht in Bezug auf die Sicherheit; aber vom Standpunkt der Benutzerfreundlichkeit. Wenn sich Ihre IP-Adresse ändert, werden alle Lesezeichen / Links Ihrer Benutzer beschädigt (besonders schlecht für einen Server, dessen Pfad in zahlreiche Konfigurationsdateien eingebettet ist). Für den Benutzer ist es schwieriger, sich daran zu erinnern, wie er zu Ihrer Website gelangt, wenn er sein Lesezeichen / seinen Link verliert. Wenn der Benutzer vergisst, was sein Lesezeichen für eine IP ist, gibt er keinen Hinweis darauf.
Was Ihnen gesagt wurde, ist 100% falsch. Es ist trivial, die Adresse einer Domain zu erhalten. Natürlich gibt es auch andere Sicherheitsbedenken.
Sechs antworten:
Xander
2013-05-09 19:41:36 UTC
view on stackexchange narkive permalink

Einfacher zu hacken? Einfacher zu tun? Möglicherweise. Die Verwendung einer IP-Adresse anstelle eines Hostnamens mit einem DNS-Eintrag bedeutet, dass Sie auf eine Ebene der Routing-Flexibilität verzichten, die sehr vorteilhaft sein kann.

Wenn beispielsweise Malware bei einem DoS-Angriff auf Ihre IP-Adresse abzielt und Sie einen Domänennamen verwenden, wechseln Sie die IP-Adresse der Site und des DNS-Eintrags, und der Angriff ist ohne beendet Ihre Benutzer kennen den Unterschied. Wenn Ihre Benutzer Anfragen direkt an Ihre IP stellen, ist dies jedoch keine Option. Sie sind an diese IP gebunden, es sei denn, Sie möchten Ihre Benutzer auf dem Weg stören (und möglicherweise verlieren).

Dies. Außerdem können Sie einen Front-End-Cache oder einen Load-Balancer oder eine Kombination (mit Varnish, HAProxy, Nginx usw.) hinzufügen, bei der der öffentliche DNS auf den Load-Balancer trifft, der den Datenverkehr ohne Wissen des Endbenutzers undurchsichtig auf die tatsächlichen Back-End-Boxen umleitet.
@Suman Um fair zu sein, können Sie dies auch mit einer IP tun. In jedem Fall gibt es eine öffentliche IP-Adresse für die Site, die als VIP fungiert. Es ist also nur eine Frage, ob die Benutzer direkt über den VIP auf die Site zugreifen oder ob ein DNS-Eintrag auf den VIP verweist. Es ist sicher doof, aber es ist möglich.
guter Punkt. Daran habe ich nicht gedacht.
In Browsern / Routern / Betriebssystemen werden DNS-Abfragen normalerweise stundenlang zwischengespeichert. Es gibt also praktisch keinen Unterschied. Wenn Sie nicht DNS-Round-Robin / Load Balancing verwenden, können Sie einen Angriff nicht aktiv verhindern. Trotzdem vermeide ich die Verknüpfung über IP-Adressen, wenn dies möglich ist, da (1) IP-Adressen normalerweise schwerer zu merken sind, (2) wenn Sie mehr als einen Server haben (oder jemals wollen), der auf denselben IP-Browsern ausgeführt wird, einen Domänennamen angeben müssen (um den Header "Host:" der HTTP-Anforderung einzufügen) und (3) Wenn Ihr Server IP-Adressen verschiebt / ändert, können Sie denselben Domainnamen bei der neuen IP beibehalten.
@drjimbob Es ist eine Taktik, die vor einigen Jahren angewendet wurde, um mindestens einen DDoS-Angriff zu vereiteln, der auf eine Website nach IP-Adresse abzielte. Das heißt, es ist nur ein Beispiel. Der Punkt bleibt, dass Sie weniger Flexibilität haben, wenn Sie Ihre IP-Adresse anstelle eines Domainnamens offenlegen. Ich stimme Ihren anderen Punkten voll und ganz zu.
@Xander - Stimmen Sie zu, dass Sie weniger Flexibilität haben, indem Sie eine IP-Adresse offenlegen. Wenn Sie jedoch einen Domainnamen haben, ist es trivial, die zugrunde liegende IP-Adresse zu finden (`dig www.example.com`). Der DNS-Eintrag hat häufig eine TTL von mehr als 10000 Sekunden. Während dieser Zeit können Sie eine bestimmte IP angreifen. Der Lastausgleich hilft, aber wenn Sie einen Lastausgleich verwenden, würden Sie die Leute nicht auf eine bestimmte IP verweisen.
@drjimbob: Ich weiß nichts über Sie, aber ich kann die TTL meiner DNS-Einträge anpassen. Ich kann auch Round-Robin-Verfahren erstellen, um die Last auf mehrere Instanzen zu verteilen. Ich kann ISPs nicht zwingen, es nicht länger zwischenzuspeichern, aber wenn sie es tun, ist es * ihr * Problem.
bobince
2013-05-10 02:01:44 UTC
view on stackexchange narkive permalink

Wenn auf Ihre Site als http://1.2.3.4/ zugegriffen wird, bedeutet dies normalerweise, dass keine Einschränkungen für den Host: -Header erzwungen werden. Das würde bedeuten, dass Sie nicht nur über die IP-Adresse darauf zugreifen können, sondern über jeden Hostnamen, der zufällig in diese Adresse aufgelöst wurde - einschließlich einer Domain, die ein Angreifer registriert und darauf hingewiesen hat.

Dies eröffnet DNS-Rebinding -Angriffe, bei denen ein Angreifer die Same-Origin-Richtlinie umgeht, indem er die IP-Adresse eines Hostnamens zwischen seinem eigenen und Ihrem Server wechselt, und Cookie-Angriffe, bei denen er auf attacker.com verweist zu Ihrem Dienst und dann sub.attacker.com zu ihrem eigenen, sodass das Cookie aus der Subdomain gelesen werden kann.

Wie hoch das Risiko ist hängt vom Design und Zweck Ihrer Anwendung ab. Es ist am wahrscheinlichsten für nicht öffentliche Anwendungen ausnutzbar, bei denen Sie eine implizite Autorisierung basierend auf dem privaten IP-Adressbereich oder SSO haben (Windows auth et al.). In diesem Fall kann eine Anwendung vertrauliche Daten ohne Benutzerinteraktion erzeugen und diese Daten können für einen solchen Angreifer sichtbar werden.

Ohne dies zu wissen, besteht der sicherste Weg darin, den -Host einzuschränken: Der -Header kann HTTP-Anforderungen enthalten. Dies bedeutet normalerweise, dass hostbasierte virtuelle Server eingerichtet werden und nur bekannte Hostnamen auf Ihre Webanwendungen zugreifen dürfen. In diesem Fall werden Angreifer-Hostnamen und der Zugriff auf die IP-Adresse gleichermaßen auf eine Fehlerseite angezeigt.

Aber Sie könnten sicherlich eine benutzerdefinierte Prüfung erstellen, die nur eine IP-Adresse und keinen anderen Hostnamen zulässt, wenn Sie dies wirklich wollten - also nein, es ist nicht die IP-Adresse, die an sich ein Problem darstellt.

Und / oder verwenden Sie einfach HTTPS, das mehr wasserdichte Sicherheit bietet, dass Sie den richtigen Server treffen.

Hendrik Brummermann
2013-05-10 10:11:46 UTC
view on stackexchange narkive permalink

Im Gegensatz zu den anderen Antworten halte ich die Verwendung von IP-Adressen anstelle von Hostnamen aus mehreren Gründen für eine schlechte Praxis. Vor allem:

  1. Für durchschnittliche Benutzer ist es erheblich schwieriger zu überprüfen, ob sie mit dem richtigen Dienst und nicht mit einer Phishing-Site sprechen: Sie müssen sich eine große Anzahl anstelle von a merken Name.

  2. Die Verwendung von IP-Adressen bedeutet, dass Sie https nicht mit einem gültigen Zertifikat verwenden können.

  3. IP-Adressen können aus verschiedenen Gründen neu zugewiesen werden, und nicht alle von Ihnen unterliegen Ihrer Kontrolle. Auf diese Weise kann jemand anderes Ihre aktuelle IP-Adresse erhalten.

  4. Eine übliche Methode zur Verarbeitung großer Datenmengen (z. B. eines DDoS-Angriffs) besteht darin, den DNS-Eintrag auf eine große verteilte Adresse zu verweisen Caching-Netzwerk. Durch die Verwendung einer IP-Adresse schließen Sie diese effektive und relativ kostengünstige Option aus.

  5. ol>
Gurzo
2013-05-10 01:24:17 UTC
view on stackexchange narkive permalink

Die Verwendung der IP-Adresse anstelle der Domäne ist keine schlechte Vorgehensweise für Sicherheit , da ein Angreifer sie trivial erhalten könnte.

Ein einfacher Terminalbefehl wie nslookup kann nach IP-Adressen suchen, die von der angegebenen Domain aufgelöst wurden. Wenn die Domain mit einer einzelnen IP-Adresse verbunden ist, erledigt ping den Job genauso gut.

Wenn Sie die Adresse Ihrer [Website] auf die eine oder andere Weise angeben, ist dies nicht der Fall mach es "hackbarer" als es vielleicht schon ist.

Siamak A.Motlagh
2013-05-09 19:38:17 UTC
view on stackexchange narkive permalink

Es kann kein Sicherheitsrisiko sein, da jeder die Domain-IP-Adresse herausfinden kann.
Überprüfen Sie dies beispielsweise: IP-Lookup

Ein einfacher Ping in der Eingabeaufforderung des Hostnamens würde ausreichen.
@Fase Ich weiß, aber es ist viel einfacher, auf einen Link für einen Anfänger zu klicken.
Ich bin mir ziemlich sicher, dass jemand, der "Ping" (oder "Host", "nslookup", ...) nicht kennt, keinen Computer hacken kann.
Rod MacPherson
2013-05-10 20:17:09 UTC
view on stackexchange narkive permalink

Neben den von Bobince erwähnten guten Gründen können Sie auch kein ordnungsgemäß vertrauenswürdiges SSL / TLS-Zertifikat für eine Site erstellen, die keinen DNS-Domänennamen verwendet. Daher beschweren sich alle Browser, die versuchen, eine Verbindung zu Ihrer HTTPS: // Version Ihrer IP-adressierten Site herzustellen, dass sie ihr nicht vertrauen können.

Sie können tatsächlich ein gültiges SSL-Zertifikat für eine IP-Adresse erhalten. Siehe diese Antwort: http://serverfault.com/a/226193/57060
Interessant. Ich habe GlobalSign noch nie zuvor verwendet und noch nie von offiziell genehmigten Zertifizierungsstellen gehört, die Zertifikate für IP-Adressen anstelle von vollqualifizierten Domänennamen ausstellen. Sie lernen jeden Tag etwas Neues. :) :)


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...