Auf meinem Mac, jede IPv6 - Adresse enthält die MAC - Adresse eines bestimmten Computers ( nicht von meinem Router). Websites wie ipv6-test.com zeigen es nicht nur an, sondern sagen mir sogar, dass es zu einem Apple-Computer gehört.
Dies fühlt sich wie ein Super-Cookie an und kann auch auf andere Betriebssysteme angewendet werden. Wie kann ich verhindern, dass meine MAC-Adressen offengelegt werden?
Hintergrund: Die MAC-Adresse ist nicht in Sicht . Wie für 2001:0db8:1:2:60:8ff:fe52:f9d8
:
- Nehmen Sie die letzten 64 Bits (die Host - Kennung) und fügen Sie führende Nullen:
0060:08ff:fe52:f9d8
. - Das
ff:fe
Teil von der Mitte abziehen. Wenn dieser Bytes nicht da ist, dann gibt es keine MAC - Adresse. - Für das erste Byte: Ergänzen Sie das zweite niederwertige Bit (das universelle / lokale Bit; wenn das Bit eine 1 ist, machen Sie es zu 0, und wenn es eine 0 ist, machen Sie es zu 1). Also:
0x00
(00000000) wird0x02
(00000010). - Presto:
60:8ff:fe52:f9d8
Übersetzt zurück zur MAC-Adresse02:60:08:52:f9:d8
.
Hinweis: Seit macOS 10.12 Sierra hat Apple laut Ars Technica einen neuen Weg eingeschlagen, stabile Adressen zu generieren, die nicht auf einer MAC-Adresse basieren , wie es Windows anscheinend schon seit Jahren tut.
Diese Frage war eine Super User Frage der Woche .
Lesen Sie den Blog - Eintrag , um weitere Informationen oder tragen zu dem Blog selbst
quelle
.stack
werden, erneut hochgeladen werden ...?Antworten:
Dies wird durch zwei Erweiterungen von IPv6 gelöst:
Mindestens eine, aber zunehmend auch beide Methoden werden von gängigen Betriebssystemen unterstützt.
Beachten Sie, dass diese Merkmale orthogonal sind. Sie können beide gleichzeitig verwenden, wenn Sie möchten.
Stabile Privatadressen
In einigen Betriebssystemen wird die MAC-Adresse (EUI-48) einfach nicht mehr für Schnittstellenkennungen verwendet. Stattdessen wird ein zufälliger oder hashbasierter Bezeichner verwendet, im Allgemeinen gemäß RFC 7217.
Windows verwendet ab Windows Vista standardmäßig ein benutzerdefiniertes Schema.
Führen Sie einen PowerShell-Befehl aus, um zu überprüfen, ob die Funktion aktiv ist:
So aktivieren / deaktivieren Sie die Funktion:
Linux (NetworkManager) unterstützt RFC 7217 ab NetworkManager 1.2.0, wobei die UUID des Verbindungsprofils als Teil des Seeds verwendet wird. Diese Funktion ist in neueren NM-Versionen standardmäßig aktiviert.
So aktivieren oder deaktivieren Sie diese Funktion:
Linux (Kernel SLAAC) unterstützt RFC 7217 ab Kernel v4.1.0; Es muss jedoch manuell aktiviert werden, indem der geheime Startwert über sysctl gespeichert wird.
Der geheime Schlüssel ist eine 128-Bit-Hexadezimalzeichenfolge (in Form einer IPv6-Adresse), die im
net.ipv6.conf.default.stable_secret
sysctl gespeichert werden muss . Um es dauerhaft zu machen, könnte es in/etc/sysctl.d/50-rfc7217.conf
oder ähnlich gesetzt werden:Durch das Setzen des Geheimnisses wird dieser Modus automatisch für alle Netzwerkschnittstellen aktiviert. Um zu überprüfen, ob die Funktion aktiv ist, suchen Sie in nach "addrgenmode stable_secret"
ip -d link
oder in nach dem Wert "2"sysctl net.ipv6.conf.<ifname>.addr_gen_mode
.Temporäre Privatadressen
Wie in RFC 4941 definiert, werden temporäre Datenschutzadressen nach dem Zufallsprinzip generiert und alle paar Stunden gewechselt.
Windows unterstützt temporäre Adressen ab Windows XP SP2.
So aktivieren / deaktivieren Sie diese Funktion:
Beachten Sie, dass Windows ab Windows Vista keine auf MAC-Adressen basierenden Primäradressen mehr verwendet.
Linux (NetworkManager) : Neuere Versionen von NetworkManager behandeln RA selbstständig, obwohl die beiden folgenden Werte mit sysctl identisch sind (2 = bevorzugte Datenschutzadresse, 1 = bevorzugte Hauptadresse):
Auch als die 1.2.0 eine bessere Modus zur Verfügung steht , die die Änderungen Hauptadresse nicht mehr sein , MAC-basierte , sondern einzigartig für jedes Netzwerk (RFC 7217):
(Beachten Sie, dass die Adressierung des Datenschutzes orthogonal zum ADR-GEN-Modus ist; es ist möglich, beide zu verwenden.)
Randnotiz: Ab 1.4.0 erlaubt NM auch das Randomisieren der MAC-Adresse. Legen Sie fest
wifi.cloned-mac-address
,stable
dass für jedes Netzwerk ein anderer MAC verwendet werden soll (empfohlen) oderrandom
dass für jede Verbindung ein zufälliger MAC verwendet werden soll (dies kann Probleme verursachen).In allen Fällen
<name>
muss der Verbindungsname sein, zB WiFi SSID oder"Wired Connection 1"
. Verwenden Sie,nmcli con
um alle aufzulisten .Um dies zum Standard für neue Verbindungen zu machen, können Sie ab 1.2.0 Folgendes ändern
/etc/NetworkManager/NetworkManager.conf
:Linux (Kernel SLAAC) unterstützt temporäre Adressen, verwendet sie jedoch nicht standardmäßig. Sie können über sysctls aktiviert werden.
So aktivieren Sie temporäre Adressen und bevorzugen sie für ausgehende Verbindungen:
So aktivieren Sie die temporäre Adressgenerierung, behalten jedoch die bevorzugte statische SLAAC-Adresse bei:
Der
all
oderdefault
Teil kann durch einen bestimmten Schnittstellennamen ersetzt werden. zBnet.ipv6.conf.eth0.use_tempaddr
.(Früher habe ich
ip link set eth0 down && ip link set eth0 up
eine Adresszuweisung erzwungen, aber Sie können auchrdisc6 eth0
die nächste regelmäßige Router-Ankündigung ausführen oder nur einige Minuten warten.)Mac OS X - standardmäßig aktiviert seit OS X 10.7 Lion:
Temporäre Adressen, falls aktiviert, werden bevorzugt.
FreeBSD :
NetBSD :
Präferenz für temporäre Adressen? Ich habe keine Ahnung. Die Autoconf-Adresse scheint bevorzugt zu sein.
ifconfig
scheint keine Adresseigenschaften aufzulisten.OpenBSD - Unterstützung in 5.2 hinzugefügt ; Standardmäßig aktiviert und bevorzugt in 5.3 .
ifconfig
Zeigt "Autokonfivität" neben temporären Adressen an.Hinweise zur Konfiguration:
Bearbeiten Sie
/etc/sysctl.conf
die Einstellung unter Linux, OS X und allen BSDs, um sie dauerhaft zu machen.Unter Windows werden die Änderungen automatisch beibehalten. (Sie können
store=active
dennetsh
Befehl anhängen , wenn er nur bis zum Neustart gültig sein soll.)Teilweise basierend auf IPv6-Betriebssystemen bei IPv6INT.net. Siehe auch Allgemeine IPv6-Hinweise
Wenn die Hardwareadresse in der IPv6-Adresse verwendet wird, bedeutet dies normalerweise, dass Ihr Netzwerk die zustandslose IPv6-Autokonfiguration verwendet. In diesem Fall können Sie einfach Ihr eigenes Adresssuffix auswählen und IPv6 manuell konfigurieren.
Auch wenn die manuell hinzugefügte Adresse keine Hardwareinformationen enthält, ist sie dennoch statisch (im Gegensatz zu Privacy Addressing, bei dem die Adressen von Zeit zu Zeit geändert werden). Statische Adressen können in einem Netzwerk mit mehr als 2-3 Geräten problematisch sein.
quelle
ifconfig
. Ausgehende Verbindungen verwenden die zufälligeautoconf temporary
Adresse, die sich von Zeit zu Zeit ändert. Gut! Aber für eingehende Verbindungen (wenn in meinem Router geöffnet) kann ich dieautoconf
Adresse weiterhin verwenden . Es macht mir nichts aus, das in DNS-Einträgen offenzulegen (obwohl ich vielleicht auch irgendwie eine andere Adresse dafür wählen könnte).de4d:b33f
sind nicht so schlecht zum Auswendiglernen. Außerdem werden sie von ihrem Eigentümer eingerichtet, wohingegenwhois
Spam a) ärgerlich und b) von Außenstehenden verursacht wird, die nicht die Kontrolle über Ihre Domain haben.ip a
fürpreferred_lft
. Sossh
werden Verbindungen je 40er brechen , wenn Sie diese Funktion aktivieren. Es ist nicht einmal für normale Surfer verwendbar, da jeder Download ebenfalls innerhalb von 40s abgeschlossen sein muss.Zu Ihrer Information, dies gilt nur für bestimmte IP-Adressierungsschemata. Höchstwahrscheinlich verwenden Sie (oder Ihr ISP) die IPv6-Autokonfiguration, für die zunächst ein relativ großer IP-Block erforderlich ist. Die Lösung könnte darin bestehen, diese Funktion auszuschalten. Ihr Internetdienstanbieter verwendet möglicherweise auch DHCP, um Adressen zuzuweisen, was mit IPv6 weiterhin möglich ist.
quelle
/56
: "ISPs, die nur einen einzigen verteilen,/64
verhindern, dass Sie überhaupt ein Subnetz erhalten. Wenn sich das/64
auf der WAN-Schnittstelle befindet, werden Sie in Ihren LANs niemals ein anständiges IPv6 erhalten. Dies ist der ISPs Fehler und sie sollten dies beheben, indem sie eine anständige Menge (/48
oder/56
) von Adressen ausgeben. "