Nos meus Macs, cada endereço IPv6 inclui o endereço MAC de um computador específico ( não do meu roteador). Sites como o ipv6-test.com não apenas o mostram, mas até me dizem que pertence a um computador Apple.
Parece um super cookie e pode se aplicar a outros sistemas operacionais também. Como evitar que meus endereços MAC sejam expostos?
Antecedentes: o endereço MAC não está à vista . Como para 2001:0db8:1:2:60:8ff:fe52:f9d8
:
- Pegue os últimos 64 bits (o identificador de host) e adicionar zeros à esquerda:
0060:08ff:fe52:f9d8
. - Tira a
ff:fe
parte do meio. Se esses bytes não estão lá, então não há endereço MAC. - Para o primeiro byte: complemente o segundo bit de baixa ordem (o bit universal / local; se o bit for 1, faça-o 0 e, se for 0, faça-o 1). Então:
0x00
(00000000) se torna0x02
(00000010). - Presto:
60:8ff:fe52:f9d8
traduz de volta para o endereço MAC02:60:08:52:f9:d8
.
Nota: desde o macOS 10.12 Sierra, de acordo com a Ars Technica, a Apple adotou uma nova maneira de gerar endereços estáveis que não são baseados em um endereço MAC , o que aparentemente o Windows já fazia há anos.
Esta pergunta foi uma pergunta da semana para superusuários .
Leia a entrada do blog para obter mais detalhes ou contribua com o blog você mesmo
fonte
.stack
devam ser carregadas novamente ...?Respostas:
Isso é resolvido por duas extensões ao IPv6:
Pelo menos um, mas cada vez mais, ambos os métodos são suportados por sistemas operacionais populares.
Observe que esses recursos são ortogonais. Você pode usar os dois ao mesmo tempo, se quiser.
Endereços privados estáveis
Em alguns sistemas operacionais, o endereço MAC (EUI-48) simplesmente não é mais usado para identificadores de interface. Em vez disso, é utilizado um identificador aleatório ou baseado em hash, geralmente de acordo com a RFC 7217.
Por padrão, o Windows usa um esquema personalizado a partir do Windows Vista.
Para verificar se o recurso está ativo, execute um comando do PowerShell:
Para ativar / desativar o recurso:
O Linux (NetworkManager) suporta RFC 7217 a partir do NetworkManager v1.2.0, usando o UUID do perfil de conexão como parte da semente. Esse recurso está ativo por padrão nas versões recentes do NM.
Para ativar ou desativar esse recurso:
O Linux (kernel SLAAC) suporta RFC 7217 a partir do kernel v4.1.0; no entanto, ele deve ser ativado manualmente, armazenando a semente secreta via sysctl.
A chave secreta é uma cadeia hexadecimal de 128 bits (com o formato de um endereço IPv6), que deve ser armazenada no
net.ipv6.conf.default.stable_secret
sysctl. Para torná-lo persistente, ele pode ser colocado/etc/sysctl.d/50-rfc7217.conf
ou similar:Definir o segredo ativa automaticamente esse modo para todas as interfaces de rede. Para verificar se o recurso está ativo, procure por "addrgenmode stable_secret" em
ip -d link
ou o valor "2" emsysctl net.ipv6.conf.<ifname>.addr_gen_mode
.Endereços privados temporários
Conforme definido na RFC 4941, os endereços de privacidade temporários são gerados aleatoriamente e alternados a cada poucas horas.
O Windows suporta endereços temporários a partir do Windows XP SP2.
Para ativar / desativar esse recurso:
Observe que o Windows não usa mais endereços principais baseados em endereço MAC, começando no Windows Vista.
Linux (NetworkManager) : as versões recentes do NetworkManager gerenciam RA por conta própria, embora os dois valores abaixo tenham significados idênticos aos do sysctl (2 = preferem o endereço de privacidade, 1 = preferem o endereço principal):
Além disso, a partir da versão 1.2.0, tornou-se disponível um modo melhor, que altera o endereço principal para não ser mais baseado em MAC, mas exclusivo para todas as redes (RFC 7217):
(Observe que o endereçamento de privacidade é ortogonal ao modo addr-gen; é possível usar os dois.)
Nota lateral: A partir do 1.4.0, o NM também permite aleatoriamente o próprio endereço MAC. Defina
wifi.cloned-mac-address
parastable
ter um MAC diferente para cada rede (recomendado) ourandom
para randomizá-lo para cada conexão (pode causar problemas).Em todos os casos,
<name>
deve ser o nome da conexão, por exemplo, WiFi SSID ou"Wired Connection 1"
. Usenmcli con
para listar tudo.Para tornar isso o padrão para novas conexões, a partir da versão 1.2.0, você pode alterar
/etc/NetworkManager/NetworkManager.conf
:O Linux (kernel SLAAC) suporta endereços temporários, mas não os usa por padrão. Eles podem ser ativados através de sysctls.
Para habilitar endereços temporários e torná-los preferidos para conexões de saída:
Para habilitar a geração temporária de endereços, mas mantenha o endereço SLAAC estático como preferencial:
A peça
all
oudefault
pode ser substituída por um nome de interface específico; por exemplonet.ipv6.conf.eth0.use_tempaddr
.(Eu costumava
ip link set eth0 down && ip link set eth0 up
forçar uma atribuição de endereço, mas você também pode executarrdisc6 eth0
ou esperar alguns minutos pelo próximo anúncio periódico de roteador.)Mac OS X - ativado por padrão desde o OS X 10.7 Lion:
Endereços temporários, se ativados, serão preferidos.
FreeBSD :
NetBSD :
Preferência de endereços temporários? Eu não faço ideia. O endereço de autoconf parece ser o preferido.
ifconfig
não parece listar nenhuma propriedade de endereço.OpenBSD - suporte adicionado no 5.2 ; ativado e preferido por padrão no 5.3 .
ifconfig
mostra "autoconficiência" ao lado de endereços temporários.Notas sobre configuração:
No Linux, OS X e todos os BSDs, edite
/etc/sysctl.conf
para tornar a configuração permanente.No Windows, as alterações persistirão automaticamente. (Você pode anexar
store=active
aonetsh
comando se quiser que ele dure apenas até a reinicialização.)Parcialmente baseado em sistemas operacionais IPv6 em IPv6INT.net. Veja também Notas gerais sobre IPv6
Se o endereço de hardware for usado no endereço IPv6, geralmente significa que sua rede usa a Configuração automática sem estado IPv6. Nesse caso, você pode simplesmente escolher seu próprio sufixo de endereço e configurar o IPv6 manualmente.
No entanto, mesmo que o endereço adicionado manualmente não tenha suas informações de hardware, ele continuará estático (diferente do Endereço de Privacidade, que altera os endereços de vez em quando). Além disso, endereços estáticos podem ser um problema em uma rede maior que 2-3 dispositivos.
fonte
ifconfig
. As conexões de saída usam oautoconf temporary
endereço aleatório , que muda de vez em quando. Boa! Mas para conexões de entrada (quando abertas no meu roteador), ainda posso usar oautoconf
endereço. Não me importo de expor isso nos registros DNS (embora talvez eu possa de alguma forma escolher outro endereço para isso também).de4d:b33f
não são tão ruins para memorizar; além disso, eles são criados pelo proprietário, enquanto owhois
spam é a) irritante eb) causado por pessoas de fora que não têm controle do seu domínio.ip a
parapreferred_lft
. Portanto, asssh
conexões serão interrompidas a cada 40s se você ativar esse recurso. Nem sequer é utilizável para internautas normais, pois cada download também deve ser concluído dentro de 40s.Para sua informação, isso se aplica apenas a certos esquemas de endereçamento IP. É mais provável que você (ou seu ISP) esteja usando a configuração automática do IPv6, o que exige um bloco bastante grande de IPs para ser realizado em primeiro lugar. A solução poderia ser desativar esse recurso. Seu ISP também pode usar o DHCP para atribuir endereços, o que ainda é possível com o IPv6.
fonte
/56
: "Os ISPs que distribuem apenas um/64
impedem qualquer sub-rede. Se isso/64
estiver na interface WAN, você nunca obterá IPv6 decente em suas LANs. Isso é os ISPs falham e eles devem corrigir isso, fornecendo uma quantidade decente (/48
ou/56
) de endereços ".