Мессенджеры, приватность и интернет — изнутри

Приватность

Шрифты Google, Vercel и Cloudflare: как сайт незаметно передаёт IP за рубеж

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

Хостингом оказался американский Vercel — при каждом заходе он видел IP, браузер и открытые страницы. Шрифты загружались с Google Fonts на всех 33 страницах, и браузер сам ходил к Google за файлами, отдавая ему IP-адрес. На странице проверки договора две библиотеки для чтения PDF и Word подгружались с cdnjs, а это инфраструктура Cloudflare.

Сами договоры через эти каналы не проходили, но технические данные посетителей утекали регулярно. С точки зрения статьи 12 закона 152-ФЗ трансграничная передача — это передача персональных данных на территорию другого государства иностранному лицу. Физически «отправлять файл» не обязательно: юристы давно относят сюда любые иностранные сервисы, к которым попадают данные.

Самый спорный момент — считается ли персональными данными IP-адрес. Суды решают по-разному, но Роскомнадзор толкует широко: IP вместе с cookie, браузером и историей посещений позволяет отличить одного человека от другого, и проверять будут именно по такому толкованию. Показателен пример из Германии: в 2022 году суд Мюнхена (Landgericht München I, 3 O 17493/20) присудил посетителю компенсацию за то, что сайт подключал Google Fonts и IP уходил в США без согласия.

В России аналогичных дел пока не найдено, но логика та же: строчку <link href="https://fonts.googleapis.com/..."> в страницу вписывает владелец сайта, и именно он инициирует передачу. С 1 марта 2023 года до начала трансграничной передачи нужно подать в Роскомнадзор отдельное уведомление о намерении передавать данные за рубеж. США и Евросоюза нет в перечне стран с «адекватной защитой», поэтому после уведомления придётся ждать десять рабочих дней — регулятор вправе запретить или ограничить передачу.

Отдельного штрафа за отсутствие такого уведомления в КоАП нет, нарушение квалифицируют по части 1 статьи 13.11, а это от 150 до 300 тысяч рублей для юрлица. Если же иностранный сервис принимает данные из форм — заявку, телефон, почту, — добавляется часть 8: персональные данные россиян при сборе должны сначала записываться в базы на территории России, и штраф возрастает до 1–6 миллионов рублей. Скрытая передача чаще всего прячется в местах, которые не воспринимаются как канал утечки: хостинг и CDN (Vercel, Netlify, Cloudflare в режиме прокси расшифровывает весь трафик), шрифты (Google Fonts, Adobe Fonts), библиотеки с публичных CDN (cdnjs, jsDelivr), аналитика и пиксели (Google Analytics, Hotjar), капча (reCAPTCHA собирает поведение), встроенные блоки (YouTube, карты Google), формы (Google Forms, Typeform), корпоративная почта на Gmail, мониторинг ошибок (Sentry) и даже Telegram-боты, чьи серверы находятся за рубежом.

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

Вкладка Network показала подробности. Хостинг проверил отдельно через nslookup — домен указывал на cname.vercel-dns.com. На странице проверки договора в списке оказалось четыре домена: два у Google, Cloudflare и Яндекс Метрика.

После правок остался только mc.yandex.ru, который находится в России. Исправления заняли полдня. Шрифты Inter и Fira Code скачал к себе — только кириллицу и латиницу, 8 файлов общим объёмом 256 КБ, и заменил подключение на своём CSS на всех 33 страницах, убрав 52 строчки preconnect к Google.

Библиотеки pdf.js и mammoth (около 2 МБ) положил рядом с сайтом, чтобы они грузились с того же сервера. Сам сайт перенёс на российский хостинг, попутно исправив истёкший сертификат для адреса с www. В политике конфиденциальности теперь прямо указано, что сайт и все его ресурсы размещены в России.

Если полностью отказаться от иностранного сервиса невозможно, стоит хотя бы подать оба уведомления в Роскомнадзор, убрать из передаваемых данных всё лишнее и честно описать ситуацию в политике конфиденциальности. Безупречной такую передачу это не сделает, но отделит осознанные действия от незнания. Главный урок, который автор вынес для себя: проверять нужно не только сервис, но и сайт, собранный по типовым руководствам, где Google Fonts и CDN — просто «так принято».

кибербезопасность приватность домены разработка

Оригинал

Обсуждение

Комментариев пока нет.

Похожие новости