Einige sicherere Methoden zur Nutzung von öffentlichem IPv6
Categories:
Einige Menschen benötigen den Zugriff auf ihr Zuhause über öffentliches IPv6. Im Gegensatz zu VPNs wie tailscale/zerotier, die NAT-Traversal benötigen, um direkte Verbindungen herzustellen, erfolgt die Verbindung bei IPv6 direkt. Das mobile Mobilfunknetz verfügt meistens über IPv6, wodurch die Heimverbindung sehr bequem ist.
Ich habe bereits einen Artikel mit dem Titel „Häufig verwendete DDns-Subdomains für Heimbreitband können zu einer Drosselung des Telekommunikationsdienstes führen“ geteilt, in dem ich eine Falle der Betreiber beim Einsatz von IPv6 beschrieben habe. Kurz gesagt: Domains werden gescannt, die Offenlegung der eigenen Domain entspricht der Offenlegung von IPv6 und kann daher gescannt werden. Wenn Dienste gefunden werden, kann bei zu vielen eingehenden Verbindungen der Breitbanddienst gedrosselt werden.
In jenem Beitrag wurde nur das Domänenscanning erwähnt, nicht jedoch das „Netzwerkraum-Scanning“. Diese Art des Scannings ignoriert alle offengelegten Informationen und durchsucht direkt den IP-Pool. Diese Situation ist schwerer zu verhindern.
Das „Netzwerkraum-Scanning“ umfasst in der Regel folgende Aspekte:
- IP-Lebendigkeits-Erkennung: Nutzung von ARP, ICMP, TCP usw., um aktive Hosts zu identifizieren.
- Port-/Dienst-Erkennung: Durchführung von Portscans, um offene Ports der aktiven Hosts zu filtern und Informationen über Dienste, Versionen und Betriebssysteme der Zielhosts zu erhalten.
- Betriebssystem-Erkennung: Analyse von Antwortdatenpaketen, um den Betriebssystemtyp und die Version des Zielhosts zu ermitteln.
- Datenverkehrs-Sammlung: Überwachung des Netzwerkverkehrs, um abnormales Verhalten oder Angriffsmuster zu erkennen.
- Alias-Auflösung: Für Router mit mehreren IP-Adressen wird eine Zuordnung zwischen IP-Adressen und Routern hergestellt.
- DNS-Erkennung: Durchführung einer Reverse-DNS-Auflösung, um eine Zuordnung zwischen IP-Adressen und Domains herzustellen.
Hier teile ich einige Methoden, um das Netzwerkraum-Scanning zu vermeiden:
- Der interne DNS-Server gibt keine AAAA-Einträge zurück.
- Interne Dienste dürfen nur über Domains, nicht direkt über IP-Adressen, zugänglich sein.
- Nutzung des privaten DNS-Dienstes AdGuardPrivate.
Der interne DNS-Server gibt keine AAAA-Einträge zurück
Wenn man im Internet verschiedene Websites besucht, kann diese natürliche Nutzung die Quell-IPv6-Adresse preisgeben. Der Server auf der anderen Seite kann die Quell-IPv6-Adresse erhalten, und wenn der Benutzer keine Firewall aktiviert hat, kann diese IPv6-Adresse in den bevorzugten Durchsuchungspool des Netzwerkraum-Scannings aufgenommen werden.
Darüber hinaus können IPv6-Adressen mit dem Präfix /56 in den Scanning-Pool aufgenommen werden, wobei nur die niedrigen 16 Bit durchsucht werden. Dadurch kann der Scanning-Bereich erheblich reduziert werden.
Meine langjährige Erfahrung mit IPv6 zeigt, dass der Unterschied zwischen IPv6 und IPv4 beim alltäglichen Surfen im Internet nicht signifikant ist. Daher können wir den externen Zugriff über IPv6 opfern und IPv6 nur für die direkte Heimverbindung nutzen.
Methode zum Einstellen, dass IPv6-Auflösung nicht zurückgegeben wird
Stellen Sie auf dem internen DNS-Server ein, dass keine AAAA-Einträge zurückgegeben werden.
Interne DNS-Dienste verwenden in der Regel AdGuardHome. Siehe folgende Einstellungen:

Nach der Einstellung verwenden interne Geräte beim Zugriff auf das Internet nur IPv4 und nicht mehr IPv6.
Interne Dienste dürfen nur über Domains zugänglich sein
Möglicherweise können zu Hause offengelegte Dienste über Ports zugegriffen werden, was sehr leicht zu scannen ist.
Es ist am besten, beim Erstellen von Diensten nicht die Einstellung 0.0.0.0 und :: zu überwachen. Erfahrene Benutzer werden bemerken, dass fast alle Standardanleitungen zum Starten von Diensten nur 127.0.0.1 und ::1 überwachen, weil das Überwachen von öffentlichen IP-Adressen Risiken birgt.
Methode zum Einstellen eines Reverse-Proxys, der nur Domains erlaubt
nginx Beispiel
Der Schlüssel liegt darin, server_name auf eine Domain zu setzen und nicht auf _ oder IP.
server {
listen 80;
server_name yourdomain.com; # Ersetzen Sie yourdomain.com durch Ihre tatsächliche Domain
# Gibt 403 Forbidden an Benutzer zurück, die versuchen, über die IP-Adresse zuzugreifen
if ($host != 'yourdomain.com') {
return 403;
}
location / {
# Hier befindet sich das Wurzelverzeichnis Ihrer Website und andere Konfigurationen
root /path/to/your/web/root;
index index.html index.htm;
}
# Weitere Konfigurationen...
}
IIS Beispiel
Der Schlüssel liegt darin, host name auf eine Domain zu setzen und nicht leer zu lassen.

Nutzung eines privaten DNS-Dienstes
Fügen Sie in Ihrem eigenen DNS-Dienst benutzerdefinierte Auflösungen hinzu, um eine gefälschte Domain auf den internen Dienst zu verweisen.

Dies hat mehrere deutliche Vorteile.
- Zunächst kann die Domain beliebig konstruiert werden, ohne dass eine Domain gekauft werden muss, wodurch Domainkosten eingespart werden. Wenn diese gefälschte Domain gescannt wird, muss der Angreifer Ihren DNS-Dienst anfordern, um das korrekte Auflösungsergebnis zu erhalten.
- Es ist notwendig, sowohl die Adresse Ihres privaten DNS-Dienstes als auch die virtuelle Domain offenzulegen. Anschließend muss der Scanner die Auflösungslogik der Domain ändern, um die virtuelle Domain an den offengelegten privaten DNS-Server anzufordern und die virtuelle Domain in den Header der konstruierten Anfrage einzufügen, bevor das Scannen beginnen kann.
sequenceDiagram
participant Scanner as Netzwerkscanner
participant DNS as Privater DNS-Server
participant Service as Interner Dienst
Scanner->>DNS: 1. Entdeckt die Adresse des privaten DNS-Servers
Scanner->>DNS: 2. Fordert die Auflösung der virtuellen Domain an
DNS-->>Scanner: 3. Gibt die IP des internen Dienstes zurück
Scanner->>Service: 4. Konstruiert Header mit der virtuellen Domain
Note right of Service: Wenn die Header nicht die korrekte virtuelle Domain enthalten<br/>wird der Zugriff verweigert
alt Header korrekt
Service-->>Scanner: 5a. Gibt die Dienstantwort zurück
else Header falsch
Service-->>Scanner: 5b. Gibt einen 403-Fehler zurück
endNur wenn der Scanner alle oben genannten Schritte abgeschlossen hat, kann der interne Dienst gescannt werden, was die Schwierigkeit des Scannens erheblich erhöht.
Auf AdGuardPrivate können Sie einen privaten DNS-Dienst erstellen und mithilfe der benutzerdefinierten Auflösungsfunktion gefälschte Domains hinzufügen. Natürlich können Sie auch den Dienst von dnspod.cn nutzen.
Die beiden Anbieter unterscheiden sich stark in ihren angebotenen Dienstleistungen. AdGuardPrivate stammt ursprünglich aus AdGuardHome und bietet weitaus mehr Funktionen als dnspod. Wählen Sie entsprechend Ihrer eigenen Einschätzung.
Zusammenfassung
- Der interne DNS-Server gibt keine AAAA-Einträge zurück
- Voraussetzungen
- Öffentliches IPv6 vorhanden
- Interner DNS-Server vorhanden
- Einstellung
- Keine AAAA-Einträge zurückgeben
- Voraussetzungen
- Interne Dienste dürfen nur über Domains, nicht direkt über IP-Adressen, zugänglich sein
- Voraussetzungen
- Eigene Domain vorhanden
- Domain-Anbieter bietet DDNS
- Interner Reverse-Proxy-Dienst vorhanden
- Einstellung
- DDNS-Aufgabe einrichten
- Nur Zugriff über Domain erlauben
- Voraussetzungen
- Nutzung eines privaten DNS-Dienstes
- Voraussetzungen
- Privater DNS-Dienst vorhanden
- Privater DNS-Dienst bietet benutzerdefinierte Auflösung
- Privater DNS-Dienst bietet DDNS
- Einstellung
- DDNS-Aufgabe einrichten
- Benutzerdefinierte Auflösung hinzufügen, gefälschte Domain auf internen Dienst verweisen
- Voraussetzungen
Abschließend:
- Der einfachste und sicherste Weg zur direkten Heimverbindung ist der erfolgreiche NAT-Traversal von tailscale/zerotier, jedoch kann dieser aus verschiedenen Netzwerkgründen manchmal nicht erfolgreich sein.
- Verbinden Sie sich nicht wahllos mit fremden WLANs, da dies alle Informationen auf einmal preisgeben kann. Kaufen Sie eine SIM-Karte mit großem Datenvolumen und überlassen Sie das Vertrauen vorerst dem Betreiber. Wenn Sie eine große Menge billiger Daten benötigen, kontaktieren Sie mich nicht. Ich brauche sie auch.