Öffentlicher vs. privater Adressraum
Öffentliche IP
192.0.2.10
global eindeutig – überall routbar
Private Bereiche
im öffentlichen Internet nicht routbar
Warum private IP-Bereiche nie öffentlich auflösen sollten
RFC 1918 hat drei IPv4-Bereiche -- 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16 -- speziell für die Nutzung in privaten Netzwerken reserviert, genau weil es nicht genug öffentliche IPv4-Adressen gibt, damit jedes Gerät in jedem privaten Netzwerk eine global eindeutige haben kann. Diese Bereiche werden gleichzeitig in Millionen nicht zusammenhängender Netzwerke weltweit wiederverwendet. Ihr Heimrouter vergibt mit ziemlicher Sicherheit 192.168.x.x-Adressen; der von praktisch jedem anderen auch.
Was es bedeutet, wenn eine öffentliche Domain in diesen Bereich auflöst
Weil diese Adressen nur innerhalb des jeweils anfragenden lokalen Netzwerks eine Bedeutung haben, ist eine öffentliche Domain, die auf eine solche auflöst, bestenfalls eine Fehlkonfiguration -- und schlimmstenfalls ein gezielter Versuch, ein öffentlich erreichbares System dazu zu bringen, eine Anfrage an das zu stellen, was zufällig in seinem eigenen internen Netzwerk unter dieser Adresse sitzt. Das öffentliche Internet hat keine einheitliche Vorstellung davon, worauf sich 10.0.0.5 überhaupt bezieht; es ist je nachdem, welches Netzwerk fragt, ein anderer Rechner.
| Bereich | Name | Warum er blockiert wird |
|---|---|---|
| 10.0.0.0/8 | Privat (RFC 1918) | Wird in Millionen nicht zusammenhängender Netzwerke wiederverwendet |
| 172.16.0.0/12 | Privat (RFC 1918) | Wie oben |
| 192.168.0.0/16 | Privat (RFC 1918) | Wie oben -- der übliche Bereich von Heimroutern |
| 127.0.0.0/8 | Loopback | Verweist auf den anfragenden Rechner selbst zurück |
| 169.254.0.0/16 | Link-Local | Enthält 169.254.169.254, den Cloud-Metadaten-Endpunkt |
| 100.64.0.0/10 | Shared Address Space (RFC 6598) | Carrier-Grade NAT -- fehlt oft in selbstgebauten Blocklisten |
| 0.0.0.0/8 | Unspezifiziert | Kein echtes routbares Ziel |
| 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 | Dokumentationsbereiche | Für Beispiele reserviert, nie als Live-Adressen gedacht |
- Eine legitime öffentliche Domain hat nie einen Grund, auf eine Adresse im privaten Bereich aufzulösen -- sehen Sie eine, behandeln Sie das als Signal, dem man nachgehen sollte, und nicht als normales Ergebnis.
- IPv6 hat eigene entsprechende private bzw. reservierte Bereiche -- Unique Local Addresses (fc00::/7) und Link-Local (fe80::/10) --, die identisch behandelt werden müssen.
Diese Bereiche bereits bei der Auflösung herauszufiltern -- statt darauf zu vertrauen, dass eine öffentlich aussehende Domain immer auf eine öffentlich aussehende Adresse auflöst -- ist die Grunderwartung an jedes Tool, das Domains im Auftrag eines Nutzers auflöst.
Der Bereich, den die meisten Blocklisten vergessen
100.64.0.0/10 -- der „Shared Address Space“, definiert in RFC 6598 -- erfährt bei Weitem nicht die Bekanntheit von 10.0.0.0/8 oder 192.168.0.0/16, obwohl er im öffentlichen Internet genauso wenig routbar ist. Er existiert speziell für Carrier-Grade NAT und lässt einen Provider viele Kundenverbindungen intern adressieren, ohne für jede öffentlichen IPv4-Raum zu verbrauchen. Weil er neuer und weniger bekannt ist als die klassischen RFC-1918-Bereiche, fehlt er am häufigsten in einer selbstgebauten Blockliste -- genau die Art Lücke, die erst auffällt, wenn jemand eine Domain gezielt auf eine Adresse darin zeigen lässt.
„Fail closed“ ist so wichtig wie die Liste selbst
Eine Blockliste ist nur so gut wie das, was passiert, wenn eine Adresse gar nicht geparst werden kann. Fehlerhafte Eingaben, eine ungewöhnliche Notation oder ein Wert, der keinem bekannten Bereich sauber entspricht, sollten nie standardmäßig als „wahrscheinlich in Ordnung“ behandelt werden -- der sichere Standard ist, alles abzulehnen, was sich nicht sicher als öffentlich einstufen lässt, statt nur Adressen abzulehnen, die positiv einem bekannten schlechten Bereich entsprechen. Diese „Fail closed“-Haltung macht eine Blockliste robust gegenüber den Bereichen, an die noch niemand gedacht hat, nicht nur gegenüber den bekannten, die bereits auf der Liste stehen.
Möchten Sie die öffentlichen DNS-Adressen einer Domain prüfen? Nutzen Sie das Tool Domain IP Lookup.
Kostenlose Tools zu diesem Thema
Weiterführende Artikel
SSRF macht einen Server zum unfreiwilligen Proxy
Angreifer
baut eine Anfrage-URL
Anfälliger Server
ruft sie ab, SSRF-getäuscht
169.254.169.254
der Metadaten-Endpunkt
Zugangsdaten
gehen an den Angreifer
Cloud-Metadaten-Endpunkte: die unterschätzte Angriffsfläche
Eine einzige, scheinbar nicht routbare IP-Adresse gibt Cloud-Instanzen Zugriff auf Zugangsdaten und Konfiguration – und ist ein beliebtes SSRF-Ziel.
Dieselbe Adresse, vier verschiedene Schreibweisen
SSRF-Angriffe erklärt: Wie DNS ausgenutzt wird
Server-Side Request Forgery beginnt oft mit nichts weiter als einem Domainnamen, den Ihr Server durch eine Täuschung auflöst und anfragt.
Dieselbe Domain, zwei verschiedene Antworten
Erste Anfrage
löst zu öffentlicher IP auf
Validierung
bestanden – wirkt sicher
TTL läuft ab
Sekunden später
Zweite Anfrage
löst zu 127.0.0.1 auf
Was ist DNS-Rebinding und warum ist es wichtig?
Eine Domain löst einmal zu einer sicheren und später zu einer internen Adresse auf – DNS-Rebinding macht DNS selbst zur Angriffsfläche.