En mis Macs, cada dirección IPv6 incluye la dirección MAC de un ordenador determinado ( no de mi router). Sitios como ipv6-test.com no solo lo muestran, sino que incluso me dicen que pertenece a una computadora Apple.
Esto se siente como una súper cookie, y podría aplicarse también a otros sistemas operativos. ¿Cómo puedo evitar que mis direcciones MAC se vean expuestas?
Antecedentes: la dirección MAC no está a la vista . Me gusta para 2001:0db8:1:2:60:8ff:fe52:f9d8
:
- Tome los últimos 64 bits (el identificador de host) y añadir ceros a la izquierda:
0060:08ff:fe52:f9d8
. - Pela la
ff:fe
parte del medio. Si estos bytes no están allí, entonces no hay dirección MAC. - Para el primer byte: complemente el segundo bit de orden inferior (el bit universal / local; si el bit es un 1, hágalo 0, y si es un 0, hágalo 1). Entonces:
0x00
(00000000) se convierte en0x02
(00000010). - Presto:
60:8ff:fe52:f9d8
traduce de nuevo a la dirección MAC02:60:08:52:f9:d8
.
Nota: desde 10.12 macOS Sierra, según Ars Technica Apple ha adoptado una nueva forma de generar direcciones estables que no se basan en una dirección MAC , que de Windows al parecer ya había estado haciendo durante años.
Esta pregunta fue una pregunta de superusuario de la semana .
Lea la entrada del blog para más detalles o contribuya al blog usted mismo
fuente
.stack
deberían volver a cargarse ...?Respuestas:
Esto se resuelve con dos extensiones de IPv6:
Al menos uno, pero cada vez más, ambos métodos son compatibles con los sistemas operativos populares.
Tenga en cuenta que estas características son ortogonales. Puede usar ambos al mismo tiempo, si lo desea.
Direcciones privadas estables
En algunos sistemas operativos, la dirección MAC (EUI-48) simplemente ya no se usa para identificadores de interfaz. En cambio, se utiliza un identificador aleatorio o basado en hash, generalmente de acuerdo con RFC 7217.
Windows utiliza un esquema personalizado de manera predeterminada que comienza con Windows Vista.
Para verificar si la función está activa, ejecute un comando de PowerShell:
Para habilitar / deshabilitar la función:
Linux (NetworkManager) admite RFC 7217 a partir de NetworkManager v1.2.0, utilizando el UUID del perfil de conexión como parte de la semilla. Esta característica está activa por defecto en las versiones recientes de NM.
Para habilitar o deshabilitar esta función:
Linux (kernel SLAAC) admite RFC 7217 a partir del kernel v4.1.0; sin embargo, debe activarse manualmente almacenando la semilla secreta a través de sysctl.
La clave secreta es una cadena hexadecimal de 128 bits (con forma de dirección IPv6), que debe almacenarse en el
net.ipv6.conf.default.stable_secret
sysctl. Para hacerlo persistente, se podría poner/etc/sysctl.d/50-rfc7217.conf
o similar:Establecer el secreto activa automáticamente este modo para todas las interfaces de red. Para verificar si la función está activa, busque "addrgenmode stable_secret" en
ip -d link
, o el valor "2" ensysctl net.ipv6.conf.<ifname>.addr_gen_mode
.Direcciones privadas temporales
Como se define en RFC 4941, las direcciones de privacidad temporales se generan aleatoriamente y se rotan cada pocas horas.
Windows admite direcciones temporales a partir de Windows XP SP2.
Para habilitar / deshabilitar esta función:
Tenga en cuenta que Windows ya no utiliza direcciones primarias basadas en direcciones MAC que comienzan con Windows Vista.
Linux (NetworkManager) : las versiones recientes de NetworkManager manejan RA por sí mismas, aunque los dos valores siguientes tienen significados idénticos a sysctl (2 = prefieren la dirección de privacidad, 1 = prefieren la dirección principal):
Además, a partir de 1.2.0, se hizo disponible un modo mejor, que cambia la dirección principal para que ya no esté basada en MAC, sino que sea única para cada red (RFC 7217):
(Tenga en cuenta que el direccionamiento de privacidad es ortogonal al modo addr-gen; es posible usar ambos).
Nota al margen: a partir de 1.4.0, NM también permite aleatorizar la dirección MAC. Configure
wifi.cloned-mac-address
parastable
tener un MAC diferente para cada red (recomendado), orandom
para aleatorizarlo para cada conexión (puede causar problemas).En todos los casos,
<name>
debe ser el nombre de la conexión, por ejemplo, WiFi SSID o"Wired Connection 1"
. Usenmcli con
para enumerar todo.Para que esto sea el valor predeterminado para nuevas conexiones, a partir de 1.2.0 puede cambiar
/etc/NetworkManager/NetworkManager.conf
:Linux (kernel SLAAC) admite direcciones temporales, pero no las usa de manera predeterminada. Se pueden activar a través de sysctls.
Para habilitar direcciones temporales y hacerlas preferidas para conexiones salientes:
Para habilitar la generación de direcciones temporales, pero mantenga la dirección SLAAC estática como prefiera:
La parte
all
odefault
se puede reemplazar con un nombre de interfaz específico; por ejnet.ipv6.conf.eth0.use_tempaddr
.(Solía
ip link set eth0 down && ip link set eth0 up
forzar una asignación de dirección, pero también puede ejecutarrdisc6 eth0
o simplemente esperar unos minutos para el próximo anuncio periódico del enrutador).Mac OS X : habilitado de forma predeterminada desde OS X 10.7 Lion:
Se preferirán las direcciones temporales, si están habilitadas.
FreeBSD :
NetBSD :
Preferencias de direcciones temporales? No tengo idea. La dirección de autoconf parece ser la preferida.
ifconfig
no parece enumerar ninguna propiedad de dirección.OpenBSD - soporte agregado en 5.2 ; habilitado y preferido por defecto en 5.3 .
ifconfig
muestra "autoconfprivacy" junto a las direcciones temporales.Notas sobre la configuración:
En Linux, OS X y todos los BSD, edite
/etc/sysctl.conf
para que la configuración sea permanente.En Windows, los cambios persistirán automáticamente. (Puede agregar
store=active
elnetsh
comando si desea que dure solo hasta que se reinicie).Parcialmente basado en los sistemas operativos IPv6 en IPv6INT.net. Consulte también Notas generales sobre IPv6
Si la dirección de hardware se usa en la dirección IPv6, generalmente significa que su red usa la configuración automática sin estado IPv6. En tal caso, simplemente puede elegir su propio sufijo de dirección y configurar IPv6 manualmente.
Sin embargo, a pesar de que la dirección agregada manualmente no tendrá su información de hardware, seguirá siendo estática (a diferencia de Privacy Addressing, que cambia las direcciones de vez en cuando). Además, las direcciones estáticas pueden ser un problema en una red de más de 2-3 dispositivos.
fuente
ifconfig
. Las conexiones salientes usan laautoconf temporary
dirección aleatoria , que cambia de vez en cuando. ¡Bueno! Pero para las conexiones entrantes (cuando se abren en mi enrutador), todavía puedo usar laautoconf
dirección. No me importa exponer eso en los registros DNS (aunque tal vez podría incluso elegir otra dirección para eso también).de4d:b33f
no son tan malas para memorizar; Además, su propietario los implementa, mientras que elwhois
spam es a) molesto yb) causado por personas externas que no tienen el control de su dominio.ip a
porpreferred_lft
. Por lo tanto, lasssh
conexiones se romperán cada 40 s si habilita esta función. Ni siquiera es utilizable para los internautas normales, ya que cada descarga también debe completarse dentro de los 40 segundos.Para su información, esto solo se aplica a ciertos esquemas de direccionamiento IP. Es más que probable que usted (o su ISP) esté usando la configuración automática de IPv6, lo que requiere un bloque bastante grande de IP para lograr en primer lugar. La solución podría ser desactivar esta función. Su ISP también puede usar DHCP para asignar direcciones, lo que todavía es posible con IPv6.
fuente
/56
: "Los ISP que solo entregan una sola/64
evitan que se haga una subred. Si eso/64
está en la interfaz WAN, nunca obtendrá un IPv6 decente en su LAN (s). Esto es la falla del ISP y deberían arreglar esto dando una cantidad decente (/48
o/56
) de direcciones ".