Na moich komputerach Mac każdy adres IPv6 zawiera adres MAC określonego komputera ( nie mojego routera). Strony takie jak ipv6-test.com nie tylko go pokazują, ale nawet mówią mi, że należy do komputera Apple.
To wydaje się być super ciasteczkiem i może dotyczyć również innych systemów operacyjnych. Jak mogę uniknąć ujawnienia moich adresów MAC?
Tło: adres MAC nie jest widoczny . Jak dla 2001:0db8:1:2:60:8ff:fe52:f9d8
:
- Weźmy ostatnie 64 bity (identyfikator hosta) i dodać zer:
0060:08ff:fe52:f9d8
. - Zdejmij
ff:fe
część ze środka. Jeśli tych bajtów nie ma, to nie ma adresu MAC. - Dla pierwszego bajtu: uzupełnij drugi bit niskiego rzędu (bit uniwersalny / lokalny; jeśli bit jest 1, ustaw go na 0, a jeśli jest 0, ustaw go na 1). Tak więc:
0x00
(00000000) staje się0x02
(00000010). - Presto:
60:8ff:fe52:f9d8
tłumaczy z powrotem na adres MAC02:60:08:52:f9:d8
.
Uwaga: od czasu macOS 10.12 Sierra, według Ars Technica, Apple wprowadził nowy sposób generowania stabilnych adresów, które nie są oparte na adresie MAC , co Windows najwyraźniej robił już od lat.
To pytanie było pytaniem superużytkownika tygodnia .
Przeczytać wpis w blogu więcej szczegółów lub przyczynić się do bloga samemu
ipv6
privacy
mac-address
Arjan
źródło
źródło
.stack
powinny zostać ponownie przesłane ...?Odpowiedzi:
Rozwiązuje to dwa rozszerzenia IPv6:
Popularne systemy operacyjne obsługują co najmniej jedną, ale coraz częściej obie metody.
Pamiętaj, że te funkcje są ortogonalne. Możesz użyć obu jednocześnie, jeśli chcesz.
Stabilne adresy prywatne
W niektórych systemach operacyjnych adres MAC (EUI-48) po prostu nie jest już używany do identyfikacji interfejsów. Zamiast tego stosuje się losowy lub oparty na skrócie identyfikator, ogólnie zgodnie z RFC 7217.
System Windows domyślnie korzysta ze schematu niestandardowego, zaczynając od systemu Windows Vista.
Aby sprawdzić, czy funkcja jest aktywna, uruchom polecenie PowerShell:
Aby włączyć / wyłączyć tę funkcję:
Linux (NetworkManager) obsługuje RFC 7217 od NetworkManager v1.2.0, wykorzystując UUID profilu połączenia jako część materiału źródłowego. Ta funkcja jest domyślnie aktywna w najnowszych wersjach NM.
Aby włączyć lub wyłączyć tę funkcję:
Linux (jądro SLAAC) obsługuje RFC 7217 od jądra v4.1.0; należy go jednak ręcznie aktywować, przechowując tajne nasiona za pomocą sysctl.
Tajny klucz to 128-bitowy ciąg szesnastkowy (w kształcie adresu IPv6), który musi być przechowywany w
net.ipv6.conf.default.stable_secret
sysctl. Aby był trwały, można go umieścić w/etc/sysctl.d/50-rfc7217.conf
podobny sposób:Ustawienie hasła automatycznie aktywuje ten tryb dla wszystkich interfejsów sieciowych. Aby sprawdzić, czy funkcja jest aktywna, poszukaj „addrgenmode stable_secret” w
ip -d link
lub wartości „2” wsysctl net.ipv6.conf.<ifname>.addr_gen_mode
.Tymczasowe adresy prywatne
Jak zdefiniowano w RFC 4941, tymczasowe adresy prywatności są generowane losowo i zmieniane co kilka godzin.
System Windows obsługuje adresy tymczasowe od wersji Windows XP SP2.
Aby włączyć / wyłączyć tę funkcję:
Należy pamiętać, że system Windows nie używa już adresów podstawowych opartych na adresach MAC, począwszy od systemu Windows Vista.
Linux (NetworkManager) : Najnowsze wersje NetworkManager obsługują RA samodzielnie, chociaż dwie poniższe wartości mają identyczne znaczenie jak sysctl (2 = preferuj adres prywatności, 1 = preferuj adres główny):
Ponadto od wersji 1.2.0 udostępniono lepszy tryb, który zmienia adres główny na nie oparty na MAC, ale unikalny dla każdej sieci (RFC 7217):
(Pamiętaj, że adresowanie prywatności jest ortogonalne w trybie addr-gen; możliwe jest użycie obu).
Uwaga dodatkowa: Począwszy od wersji 1.4.0, NM również pozwala na losowe przydzielanie samego adresu MAC. Ustaw,
wifi.cloned-mac-address
abystable
mieć inny MAC dla każdej sieci (zalecane) lubrandom
losowo dla każdego połączenia (może powodować problemy).We wszystkich przypadkach
<name>
musi być nazwą połączenia, np. SSID Wi-Fi lub"Wired Connection 1"
. Użyj,nmcli con
aby wyświetlić listę wszystkich.Aby ustawić tę opcję jako domyślną dla nowych połączeń, od wersji 1.2.0 możesz zmienić
/etc/NetworkManager/NetworkManager.conf
:Linux (jądro SLAAC) obsługuje adresy tymczasowe, ale domyślnie ich nie używa. Można je aktywować za pomocą sysctls.
Aby włączyć adresy tymczasowe i ustawić je jako preferowane dla połączeń wychodzących:
Aby włączyć tymczasowe generowanie adresu, ale zachowaj statyczny adres SLAAC zgodnie z preferencjami:
Część
all
lubdefault
można zastąpić określoną nazwą interfejsu; npnet.ipv6.conf.eth0.use_tempaddr
.(Kiedyś
ip link set eth0 down && ip link set eth0 up
wymuszałem przypisanie adresu, ale możesz także uruchomićrdisc6 eth0
lub poczekać kilka minut na następną okresową reklamę routera).Mac OS X - domyślnie włączony od OS X 10.7 Lion:
Preferowane będą adresy tymczasowe, jeśli są włączone.
FreeBSD :
NetBSD :
Preferencje adresów tymczasowych? Nie mam pojęcia. Adres automatycznego uwierzytelnienia wydaje się być preferowany.
ifconfig
nie wyświetla żadnych właściwości adresu.OpenBSD - obsługa dodana w 5.2 ; włączony i preferowany domyślnie w 5.3 .
ifconfig
pokazuje „autoconfprivacy” obok adresów tymczasowych.Uwagi dotyczące konfiguracji:
W systemie Linux, OS X i wszystkich plikach BSD dokonaj edycji,
/etc/sysctl.conf
aby ustawić to na stałe.W systemie Windows zmiany zostaną zachowane automatycznie. (Możesz dołączyć
store=active
donetsh
polecenia, jeśli chcesz, aby trwało tylko do ponownego uruchomienia.)Częściowo oparty na systemach operacyjnych IPv6 w IPv6INT.net. Zobacz także Ogólne uwagi dotyczące IPv6
Jeśli adres sprzętowy jest używany w adresie IPv6, zwykle oznacza to, że twoja sieć używa bezstanowej autokonfiguracji IPv6. W takim przypadku możesz po prostu wybrać własny sufiks adresu i ręcznie skonfigurować IPv6.
Jednak nawet jeśli ręcznie dodany adres nie będzie zawierał informacji o twoim sprzęcie, nadal będzie statyczny (w przeciwieństwie do Adresowania Prywatności, które zmienia adresy co jakiś czas). Ponadto adresy statyczne mogą stanowić problem w sieci większej niż 2-3 urządzenia.
źródło
ifconfig
. Połączenia wychodzące używają losowegoautoconf temporary
adresu, który zmienia się co jakiś czas. Dobry! Ale w przypadku połączeń przychodzących (po otwarciu w routerze) nadal mogę używaćautoconf
adresu. Nie mam nic przeciwko ujawnieniu tego w rekordach DNS (choć może mógłbym nawet w jakiś sposób wybrać inny adres).de4d:b33f
nie są takie złe do zapamiętywania; są one również wprowadzane przez ich właściciela, podczas gdywhois
spam jest a) denerwujący i b) spowodowany przez osoby z zewnątrz, które nie mają kontroli nad Twoją domeną.ip a
napreferred_lft
. Tak więcssh
połączenia będą przerywać co 40s, jeśli włączysz tę funkcję. Nie jest to nawet przydatne dla zwykłych internautów, ponieważ każde pobieranie musi zostać ukończone w ciągu 40 lat.Do Twojej wiadomości odnosi się to tylko do niektórych schematów adresowania IP. Bardziej niż prawdopodobne jest, że ty (lub twój dostawca usług internetowych) korzystasz z autokonfiguracji IPv6, co wymaga przede wszystkim dość dużego bloku adresów IP. Rozwiązaniem może być wyłączenie tej funkcji. Twój dostawca usług internetowych może również używać DHCP do przypisywania adresów, co jest nadal możliwe w przypadku IPv6.
źródło
/56
: „Dostawcy usług internetowych, którzy rozdają tylko jednego/64
, w ogóle uniemożliwiają podsieci. Jeśli/64
jest to interfejs WAN, nigdy nie uzyskasz przyzwoitego IPv6 w sieci LAN. ISP przyczepić i powinni to naprawić poprzez rozdawanie przyzwoitą kwotę (/48
lub/56
) adresów.”