habrahabr

VPN: последний выпуск. Завтра об этом писать нельзя

  • воскресенье, 1 декабря 2024 г. в 00:00:07
https://habr.com/ru/articles/862198/

До принятия закона №406-ФЗ не было явного запрета на распространение информации о VPN. Основное регулирование касалось работы VPN-сервисов, а не частных лиц, которые их рекомендовали или обсуждали. Новый закон вводит жёсткие ограничения на распространение информации о способах обхода блокировок, включая использование VPN.

Я, Григорий Мельников, создатель сервиса защиты сайта KillBot, сегодня напомню:

  • Какие данные о нас сохраняют интернет провайдеры с VPN и без.

  • Что о VPN рассказывать можно, а что - нельзя.

  • VLESS - современный аналог VPN.

  • Как на стороне сайта выявить, что пользователь использует Proxy или VPN.


Имя домена - это всё, что видят провайдеры

Во время начала TLS-рукопожатия браузер отправляет незашифрованный запрос с именем домена в поле SNI. При использовании закрытого HTTPS-протокола ни страницы которые вы посещаете внутри сайта ни данные, которые вводите в формы интернет провайдеры НЕ видят.

  • В США с 2017 года провайдеры имеют право ПРОДАВАТЬ историю посещений пользователей без их согласия. Это было сделано для усиления конкуренции с интернет-гигантами вроде Google и Facebook.

  • В России это «закон Яровой», который обязывает провайдеров собирать и хранить данные о посещаемых сайтах. Эти данные передаются правоохранительным органам по запросу.


ПОРНХАБ: я не хочу, чтобы провайдер знал, что я им пользуюсь

Используй VPN вместо режима инкогнито: так провайдер не сможет отследить, какие сайты ты посещаешь. Он увидит только IP-адрес и порт VPN-сервера. Однако помни, что VPN-сервер получает доступ ко всему твоему трафику, поэтому важно выбирать надежные сервисы, которые используют собственные DNS-серверы для дополнительной конфиденциальности.

НО Google всё еще видит, что ты заходишь на Порнхаб

На PornHub установлена Google Аналитика, которая, в отличие от провайдера, сохраняет все URL которые мы посещаем, данные которые вводим, куда и чем платим.

Любые аналитические скрипты сохраняют всю нашу интернет активность: и Яндекс Метрика и Facebook Pixel — и любые другие.

Поэтому, помимо использования VPN сервера нужно установить расширение блокирующее аналитические трекеры. Для этого можно использовать это расширение: https://chromewebstore.google.com/detail/adblock-–-блокировка-рекл/gighmmpiobklfepjocnamgkkbiglidom (AdBlock), и в его настройках включить блокировку трекеров, которые сливают данные о всем, что мы делаем в интернете.


Что нельзя писать о VPN и обходе блокировок с 30 ноября?

Новый закон вводит жёсткие ограничения на распространение информации о способах обхода блокировок, что делает размещение информации о создании или использовании VPN (и аналогичных технологий) потенциально противозаконным.

Допустим, я хочу рассказать о современной альтернативе VPN - протоколе VLESS.

VLESS применяет транспортные протоколы, такие как WebSocket и HTTP/2. При использовании шифрования TLS или XTLS его запросы практически неотличимы от стандартных HTTPS-запросов.

  • Если в статье будет прямое указание на то, что VLESS используется для обхода блокировок, это, скорее всего, будет квалифицироваться как нарушение. Например, фраза вроде «используйте VLESS для доступа к заблокированным ресурсам» точно попадёт под действие закона.

  • Если вы описываете VLESS как инструмент для оптимизации сетевого трафика, обеспечения безопасности соединения или используете технический контекст без упоминания блокировок, это, скорее всего, не будет нарушением. Например: «VLESS — это современный протокол, использующий WebSocket и TLS для повышения производительности сети».

  • Так же если вы рекомендуете приобрести роутер с поддержкой VLESS, то это не нарушает закон, если это подано без привязки к обходу блокировок. Например: «Роутеры с поддержкой VLESS позволяют улучшить работу с сетью за счёт современных технологий шифрования и маршрутизации».

Как начать использовать современный VLESS?

  • Можно купить роутер с поддержкой VLESS — это удобное решение для домашней или корпоративной сети. С таким роутером весь исходящий интернет-трафик может быть автоматически перенаправлен через серверы VLESS, для повышения производительности сети.

  • Можно использовать VLESS на компьютере, для этого нужно купить VLESS ключ: https://vpn-key.online/shop/vless/ — там же предоставляются VLESS клиенты для скачивания.

  • Можно сконфигурировать свой сервер VLESS на облачных серверах.


Как выявить, что на твой сайт заходит пользователь через прокси или VPN?

  1. Проверяем доступен ли заблокированный роскомнадзором сайт на стороне клиента. Для этого с сайта клиента можно сделать JS кросс-запрос на любой запрещенный URL. Если запрос успешен, значит клиент использует инструмент для обхода блокировки:

fetch("https://deny-rostelecom-example.net/favicon.ico", { mode: 'no-cors'})
        .then(response => {            
            //vpn используется, запрещенный роскомнадзором сайт доступен	    
        })
        .catch(error => {                                
            //запрещенный роскомнадзором сайт НЕ доступен	    
        });
  • Через TTL. При выборе VPN или прокси поставщики часто предлагают выбрать, какой отпечаток операционной системы использовать. Обычно эту настройку игнорируют и используют VPN с отпечатком Linux, хотя пользователь сидит под Windows с соответствующим User-Agent. Ниже код на пайтоне, который это проверяет:

from scapy.all import *

def check_os_by_ttl(ttl):
    if ttl < 64:
        return "Linux, Mac, Android, iOS"
    elif ttl < 128:
        return "Windows"
    elif ttl < 255:
        return "UNIX"
    else:
        return "Unknown OS"

def packet_callback(packet):
    if IP in packet:
        ttl = packet[IP].ttl
        os_type = check_os_by_ttl(ttl)
        print(f"TTL: {ttl} - Операционная система: {os_type}")

# Начинаем захват пакетов
print("Запуск захвата пакетов...")
sniff(prn=packet_callback, filter="ip", store=0)
  • Выявление прокси и VPN по DNS-запросам. Для выявления прокси или VPN-соединений можно создать собственный DNS-сервер и отслеживать запросы, поступающие на него для разрешения IP-адресов в доменные имена. Процесс выглядит следующим образом:

    1. Настройка DNS-сервера: Разворачиваем свой DNS-сервер. В запросе, отправляемом из JavaScript на веб-странице, используем свой домен, который будет обрабатываться именно этим сервером.

    2. Анализ DNS-запросов: На нашем DNS-сервере мы анализируем, с какого IP-адреса поступает запрос. Если VPN или прокси-сервер использует DNS-серверы, отличные от стандартных провайдерских, то набор этих DNS-серверов будет отличаться.

Важно! пользователь не обязательно использует прокси или ВПН если TTL и DNS не соответствуют. Так же заблокированный Роскомнадзором сайт может быть доступен, если провайдер не следует обязательствам по блокировке.

Для выявления использования прокси, VPN или специализированного программного обеспечения можно воспользоваться антифрод API: https://killbot.ru/API

Рекомендую прочитать: как настроить защиту сайта от парсинга через DNS-прокси.


Как выявить прокси КЛИК-бота и подвесить его сервер?

Это пост в моём телеграмм канале. А в одном из следующих постов я расскажу как привёл 300 сайтов за месяц в свой антифрод сервис. Поэтому, подписывайтесь на канал, чтобы не пропустить этот интересный материал.