Блокировка VPN и реальность

Интернет – штука интересная, но всё же приземлённая и довольно простая. Совсем недавно мне довелось объяснять новому сотруднику, как всё работает в сетевой инфраструктуре моей организации, и в связи с недавними событиями в мировой сфере ИТ это стоит повторить, потому что многие не понимают, и не должны, но интересуются. Эта статья не будет интересна профессионалам, но простым пользователям многое объяснит.

Интернет «бухтит» и показывает, потому что пересылает туда-сюда пакеты с данными и служебными заголовками. Вот так всё просто. Для простоты скажем, что на самом нижнем уровне физических линий связи (электрических проводов витой пары, оптоволокна или спутниковых линий) ходят т.н. Ethernet пакеты, также известные, как «кадры». Традиционно они были размером полтора килобайта, но с развитием сетей появилась поддержка увеличенных пакетов, чтобы повысить соотношение объёма полезных данных к заголовкам, и размер увеличили до четырёх или девяти килобайт. Заголовок пакета Ethernet содержит адреса физических устройств — сетевых адаптеров, которым предназначается пакет. Они имеют смысл и значение только при передаче по одному отрезку физической линии — от адаптера к адаптеру. Это т.н. MAC-адреса, о которых некоторые слышали. Примером такой линии является кабель, ведущий от маршрутизатора или компьютера в квартире к коммутатору или маршрутизатору провайдера в подъезде или целом доме.

Внутри оставшейся части Ethernet пакета содержится пакет более высокого уровня. В Интернет это пакеты протокола IP. У них тоже есть заголовок, который содержит уже IP-адреса отправителя и получателя, и вот они-то могут указывать куда-то далеко за физический отрезок линии связи, по которому передаются. Примером может служить поисковый движок или соцсеть, находящиеся в другом городе или стране. Как осуществляется перенаправление этих пакетов, для данной статьи не имеет значения. Просто скажем, что умные устройства на их пути знают, как это делать.

В свою очередь внутри пакета IP хранятся пакеты протоколов более высокого уровня, например TCP, используемый для большинства традиционных служб, таких как HTTP (страницы сайтов), FTP (файловые хранилища), SMTP (электронная почта) и других, а также UDP (обмен сообщениями и другие) или ICMP (сетевая диагностика).

Так как внутри одного пакета Ethernet не всегда помещается необходимый объём данных протоколов более высокого уровня, они дробятся, то есть один пакет разбивается на несколько пронумерованных кадров Ethernet при отправке, а при получении собирается в один. За это отвечают сетевые драйверы на устройстве-приёмнике, а пользователь почти никогда этого не замечает.

Итак, автор подвёл читателя к пониманию того, как устройства обмениваются данными. Теперь рассмотрим один конкретный тип данных, а именно туннель виртуальной частной сети, VPN. Как и всё в сфере ИТ, это не волшебство, и ничего сложного в них нет. От просмотра интернет-страниц VPN почти не отличается. В обоих случаях происходит запрос на соединение, обмен ключами шифрования, и дальше зашифрованные данные летают туда-сюда. Как же их заблокировать, чтобы невозможно было пользоваться зарубежными услугами? Для понимания этого необходимо знать ещё несколько фактов о топологии Интернет внутри страны и за её пределами.

Интернет в общем представляет собой фрактальное дерево. Его стволом является т.н. «позвоночник» - самые толстые каналы связи между государствами, которые пролегают от крупнейших владельцев физических линий связи одного государства к такому же в другом, будь это волоконно-оптические кабели или спутниковые каналы. Между странами таких может быть один или несколько. Внутри страны они начинают ветвиться от крупных операторов к меньшим и так до потребителя. Каждая веточка имеет в начале и конце по одному MAC-адресу и одному или несколько IP-адресов, потому что одному физическому сетевому адаптеру можно назначить больше одного IP-адреса при необходимости. Этих адресов много: почти четыре миллиарда, если не считать IPv6, которые в этой статье не рассматриваются. Каждый интернет-провайдер знает только свои IP-адреса и адреса своего провайдера и своих пользователей. Остальной массив адресов его не слишком волнует.

Теперь в эту схему привносится необходимость заблокировать возможность подключаться по VPN к зарубежным адресам. Для этого нужно ответить на ряд вопросов, главный из которых — это кто и как будет за это отвечать. На слух — это простой вопрос, но у него есть масса осложнений. Как автор уже упомянул, интернет-провайдеры, раздающие Интернет рядовым пользователям, понятия не имеют, куда идут эти пакеты VPN. Для них они все одинаковые. Какая разница для провайдера подъезда или многоквартирного дома, что жилец Петя из тридцатой квартиры установил VPN-соединение с адесом, например 5.10.15.20? Этот провайдер понятия не имеет, что это за адрес. Понять, что это VPN, можно только проанализировав заголовки и найдя в них номер протокола. Понять, что это пакет уходит за границу, труднее, потому что для этого нужно знать геолокацию, а она не надёжна, потому что даже если допустить, что она точная, она может не учитывать нахождение имущества национальных организаций за границей.

Для Пети это может быть жизненно важно, потому что он удалённо работает на свой банк или вычислительный центр завода. Но если сам провайдер обязан заблокировать весь поток данных VPN, как таковой, то у него нет выхода, кроме как настроить правило брандмауэра в своей инфраструктуре, чтобы дальше не передавались пакеты протокола UDP, в которых содержатся пакеты протоколов следующего более высокого уровня IPSEC или L2TP, которые используют VPN.

Что в этом случае произойдёт? Не только старшеклассник Олег из пятой квартиры, настроивший VPN для доступа к зарубежному ресурсу, но и программист Петя из тридцатой квартиры, настроивший VPN для доступа к своему работодателю в этом же городе, потеряют доступ. Скорее всего Петя будет справедливо возмущён, как и его работодатель. По той же самой причине перестанет работать банкомат в фойе здания, платёжные терминалы в магазине и парикмахерской на первом этаже, а также камеры наблюдения, умные счётчики и домофон, если они подключены по VPN. Да, этот протокол так широко используется для обеспечения безопасности соединений и удобства управления ими. Значит, так делать нельзя. Но как иначе поступить?

Скорее всего сотрудники провайдера этого дома обратятся к их собственному, более крупному провайдеру с предложением перенести блокировку выше, туда, где можно принять более осмысленное и обоснованное решение о том, следует ли передавать пакеты дальше или нет, а тот ещё выше и т.д. И тут мы подходим к единственно правильному и возможному решению этой задачи: только на границе государства можно с уверенностью сказать, позволено ли пакету, несущему нагрузку VPN, покинуть страну. Почему это неоднозначно? Да потому, что даже между государствами может существовать потребность в разрешении VPN-соединений, например для связи с посольствами и консульствами, международных банковских переводов, телефонной связи и многих других законных применений. Только те, кого я упомянул первыми, а именно владельцы физических линий связи между государствами, могут точно знать, какой пакет VPN протокола передавать, а какой нет. Внутри страны определить это практически невозможно.

Только на смотрящих за рубеж маршрутизаторах этих самых крупных провайдеров страны, являющихся «позвоночником» Интернет, можно завести правила с белым списком разрешённых международных VPN-соединений, а остальные запретить, не нарушая экономику самой страны. Только там эти списки могут быть ограниченными и управляемыми, потому что только там достоверно известно, что если пакет, имеющий признаки VPN, приходит с внутреннего сетевого адаптера и направляется через внешний в другую страну, то он подлежит блокировке. Только так правило можно сформулировать просто и реализуемо. Любое другое решение окажется излишне трудоёмким и дорогостоящим, о чём нельзя забывать. Всем остальным провайдерам нижнего уровня придётся сообщить адреса этого белого списка, что не всегда возможно, потому что какая-то его доля секретная, какая-то является коммерческой тайной, а какая-то может периодически меняться. То есть это не однократная мера, а кропотливая работа на годы вперёд. Также нельзя сбрасывать со счетов возможности ошибок коммуникаций и ввода данных, которые будут умножены на число провайдеров, участвующих в процессе. Представьте себе титанический объём работ по созданию и поддержанию актуальными правил брандмауэров на десятках или сотнях тысяч маршрутизаторов. Представьте себе стоимость этих мер, которые потребуют увеличение нагрузки на маршрутизаторы и брандмауэры с соответствующим ценником. Такое решение напрашивается на катастрофу.

Почему и зачем вообще возникла технология VPN? Вовсе не для того, чтобы спрятать запрещённые обращения и данные от регулирующих органов, а чтобы обезопасить соединения, несущие ценные данные, и упростить сетевые топологии. VPN позволяет пользователю оказаться как бы внутри сети, в которой находится другой конец соединения — сервер или другой пользователь. При этом все данные, которыми они обмениваются, дополнительно зашифрованы сильнее, чем HTTPS. Проще говоря, VPN является ответом на риск перехвата данных, а не на желание пользователя смотреть ТикТок там, где он запрещён — это лишь побочный эффект от существования VPN. Простой пример: если камеры наблюдения за дорожным движением просто подключены к глобальному Интернет, то к ним может попытаться получить доступ кто угодно и откуда угодно, но если они подключены по VPN, то это становится по крайней мере затруднительно, а при правильной организации инфраструктуры вообще невозможно: на VPN камера просто не слышит посторонние обращения. То же самое относится к банкоматам, платёжным терминалам и массе других устройств и ПО. Поэтому полный запрет на VPN внутри страны не практичен с точки зрения его реализации у провайдеров нижнего уровня.


Рецензии