ping6.net
Безопасность

Расширения приватности IPv6: остановите отслеживание адресов

IPv6-адреса могут раскрыть ваш MAC-адрес и отслеживать вас в сетях. Расширения приватности исправляют это. Вот как их включить.

ping6.net14 декабря 2024 г.6 min read
IPv6приватностьбезопасностьотслеживаниерасширения приватности

Когда вы подключаетесь к сети с IPv6, ваше устройство может транслировать постоянный идентификатор, выведенный из MAC-адреса вашей сетевой карты. Это делает вас отслеживаемым в разных сетях и веб-сайтах.

TL;DR - Краткое резюме

Ключевые моменты:

  • EUI-64 раскрывает ваш MAC-адрес в IPv6-адресе, позволяя отслеживание между сетями
  • Расширения приватности (RFC 4941) генерируют случайные, меняющиеся адреса для исходящих соединений
  • Включены по умолчанию на Windows/macOS/iOS/Android — требуют конфигурации на Linux/серверах
  • Устройства поддерживают как стабильный адрес (для серверов), так и временные адреса (для приватности)
  • Тестируйте с ip -6 addr show на Linux или ifconfig на macOS для проверки временных адресов

Перейти к: Включить на Linux | Включить на Windows | Проверить статус

Проблема приватности#

Оригинальная схема адресации IPv6 использует EUI-64 для генерации Interface ID из MAC-адресов. MAC вашей сетевой карты 00:1a:2b:3c:4d:5e становится частью вашего IPv6-адреса как 021a:2bff:fe3c:4d5e.

Вот как работает конверсия:

MAC-адрес:      00:1a:2b:3c:4d:5e
Вставить FF:FE: 00:1a:2b:ff:fe:3c:4d:5e
Инвертировать 7-й бит: 02:1a:2b:ff:fe:3c:4d:5e
Interface ID:   021a:2bff:fe3c:4d5e

Инверсия 7-го бита (universal/local бит) — часть стандарта EUI-64. 00 становится 02, потому что этот бит указывает, является ли адрес глобально уникальным.

Это создаёт несколько проблем:

  • Отслеживание между сетями: Ваше устройство несёт тот же Interface ID, находитесь ли вы дома, в кофейне или в публичном WiFi
  • Постоянная идентификация: Веб-сайты могут коррелировать посещения во времени, даже если вы очищаете куки
  • Раскрытие MAC-адреса: Ваш идентификатор оборудования раскрыт в каждом пакете

В отличие от NAT в IPv4, который скрывает внутренние адреса, IPv6 обычно назначает глобально маршрутизируемые адреса непосредственно устройствам. Без расширений приватности вы транслируете один и тот же идентификатор везде.

Как работают расширения приватности#

RFC 4941 (обновлённый RFC 8981) вводит временные адреса, которые заменяют адреса, выведенные из EUI-64. Вместо использования вашего MAC-адреса ваше устройство генерирует случайные Interface ID.

Механизм создаёт два типа адресов:

Стабильный адрес: Генерируется из вашего MAC или случайного seed. Используется для входящих соединений и остаётся постоянным для сети. Не используется для исходящего трафика.

Временный адрес: Случайно сгенерированный, используется для исходящих соединений, ротируется периодически (обычно каждые 24 часа в большинстве систем).

Когда вы просматриваете веб или делаете исходящие соединения, ваша ОС использует временный адрес. Стабильный адрес остаётся доступным для сервисов, которым нужно достичь вашего устройства.

Ваше устройство поддерживает несколько IPv6-адресов одновременно:

2001:db8:1234:5678:021a:2bff:fe3c:4d5e  # Стабильный (EUI-64 или stable private)
2001:db8:1234:5678:a4b2:c9d1:e3f4:5a6b  # Временный (сейчас активен)
2001:db8:1234:5678:1234:5678:9abc:def0  # Временный (устаревший, истекает)

Ротация происходит автоматически. Старые адреса входят в состояние «deprecated» перед полным истечением, гарантируя, что активные соединения не сломаются.

Включение расширений приватности#

Windows#

Расширения приватности включены по умолчанию в Windows с Vista. Проверьте с помощью PowerShell:

Get-NetIPv6Protocol | Select-Object UseTemporaryAddresses

Вывод 2 означает включено для исходящих соединений. Настройте вручную:

# Включить временные адреса
Set-NetIPv6Protocol -UseTemporaryAddresses Enabled
 
# Отключить (не рекомендуется)
Set-NetIPv6Protocol -UseTemporaryAddresses Disabled

Проверьте ваши текущие адреса:

Get-NetIPAddress -AddressFamily IPv6 -PrefixOrigin RouterAdvertisement

Временные адреса показывают значения времени жизни Preferred, которые обратно отсчитываются.

macOS#

Включено по умолчанию на современных macOS. Проверьте:

sysctl net.inet6.ip6.use_tempaddr

Возвращает 1, если включено. Настройте с помощью:

# Включить
sudo sysctl -w net.inet6.ip6.use_tempaddr=1
 
# Сделать постоянным
echo "net.inet6.ip6.use_tempaddr=1" | sudo tee -a /etc/sysctl.conf

Время жизни временного адреса (в секундах):

sysctl net.inet6.ip6.temppltime  # Preferred lifetime
sysctl net.inet6.ip6.tempvltime  # Valid lifetime

Linux#

Конфигурация варьируется по дистрибутивам. Большинство современных дистрибутивов включают расширения приватности по умолчанию, но проверьте:

sysctl net.ipv6.conf.all.use_tempaddr
  • 0 = отключено
  • 1 = включено, предпочитать публичные адреса
  • 2 = включено, предпочитать временные адреса (рекомендуется)

Включите правильно:

sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2
sudo sysctl -w net.ipv6.conf.default.use_tempaddr=2

Сделайте постоянным, редактируя /etc/sysctl.conf или создав /etc/sysctl.d/99-ipv6-privacy.conf:

net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2

Применить изменения:

sudo sysctl -p

Проверьте активные адреса:

ip -6 addr show scope global

Временные адреса помечены флагом temporary и показывают значения preferred_lft и valid_lft.

Мобильные устройства#

iOS: Расширения приватности включены по умолчанию с iOS 4.3. Пользовательская конфигурация недоступна.

Android: Включено по умолчанию в Android 8.0+. Более ранние версии могут использовать стабильные адреса. Проверьте в Настройки → О телефоне → Статус, хотя обычно вы не можете отключить расширения приватности.

Когда НЕ использовать расширения приватности#

Расширения приватности ломают сценарии, требующие стабильные адреса:

Серверы и сервисы: Если вы запускаете веб-сервер, SSH-демон или любой сервис, который нуждается во входящих соединениях, отключите расширения приватности или настройте сервис для привязки к стабильному адресу конкретно.

# Linux: отключить для специфичного интерфейса
sudo sysctl -w net.ipv6.conf.eth0.use_tempaddr=0

DNS-записи: Вы не можете указать DNS на ротирующийся адрес. Серверам нужны стабильные IP.

Сетевое оборудование: Маршрутизаторы, файрволы и сетевая инфраструктура должны использовать стабильную адресацию для управления.

Правила файрвола: Если вы включаете в белый список специфичные адреса, временные адреса сломаются при ротации.

Логирование и мониторинг: Корреляция логов при изменении адресов становится сложной. Для внутренних сетей, где приватность не является проблемой, стабильные адреса упрощают отладку.

За пределами расширений приватности#

Расширения приватности защищают только Interface ID. Ваш префикс /64 всё ещё раскрывает вашего провайдера и общее расположение. Дополнительные меры:

VPN с поддержкой IPv6: Туннелирует весь трафик через адресное пространство IPv6 провайдера VPN. Проверьте, что ваш VPN действительно маршрутизирует IPv6-трафик; многие отключают IPv6 полностью, что приводит к утечке вашего реального IPv6-адреса.

Тест на утечки на test-ipv6.com при подключении к вашему VPN.

Ротация префикса: Некоторые провайдеры ротируют ваш префикс /64 периодически. Это редко и не стандартизировано. Большинство домашних подключений сохраняют тот же префикс неограниченно.

Tor: Tor поддерживает IPv6 на выходных узлах, но многие релеи только IPv4. Ваш трафик может выходить через IPv4, даже если у вас есть IPv6-связность.

NAT66: Network Address Translation для IPv6 существует, но ломает принцип end-to-end и является спорным. Не рекомендуется.

Самая практичная комбинация: расширения приватности включены на клиентских устройствах + VPN для полной маскировки адреса при необходимости.

Проверьте вашу текущую позицию приватности, посетив ping6.net и отметив, меняется ли ваш Interface ID со временем (должен с включёнными расширениями приватности).

Расширения приватности — базовая мера безопасности, которая должна быть включена на всех клиентских устройствах. Они не идеальная защита, но они устраняют наиболее очевидный вектор отслеживания в адресации IPv6.

Связанные статьи#

  • Безопасность IPv6 — Изучите более широкие соображения безопасности для IPv6-сетей
  • DHCPv6 против SLAAC — Поймите, как расширения приватности работают с SLAAC

Проверьте вашу приватность

Используйте валидатор IPv6 для проверки вашего IPv6-адреса и посмотрите, использует ли он временные адреса.