кандидат технических наук, доцент, лауреат премии Правительства в области образования 2017 года, чемпион мира ACM ICPC 2009 года
«Они сражались за Родину». О «белом списке» IP-адресов
Публикуем второй текст в рамках цикла «Они сражались за Родину», посвященного блокировке IP-адресов сервиса Telegram и последствиям этого. Кандидат технических наук, лауреат премии Правительства в области образования 2017 года, чемпион мира по программированию 2009 года Максим Буздалов рассказывает, почему предложение создать «белые списки» IP-адресов не решит проблем доступа к облачным серсисам Google, Amazon и Microsoft.
Советник Президента по вопросам развития Интернета Герман Клименко предложил создать «белый список» IP-адресов, которые не будут блокироваться Роскомнадзором. Предполагается, что добросовестные ресурсы не должны использовать IP-адреса, не входящие в этот список, при работе на территории России.
На самом деле, облачные сервисы, предоставляющие вычислительные узлы, устроены так, что в наиболее востребованном диапазоне IP-адресов (в котором предоставляются небольшие по размеру виртуальные машины, удобные для быстрого разворачивания интернет-сервисов) любой IP-адрес может быть использован мессенджером Telegram.
Дело в том, что на каждом таком IP-адресе сидит десяток-другой виртуальных машин, которые отличаются между собой только доменными именами и даже не подозревают о существовании друг друга. Под одним IP-адресом могут одновременно существовать как сервер Telegram (фактически маленький прокси-сервер, просто передающий приходящие данные на другой адрес), так и десяток вполне легитимных маленьких серверов небольших интернет-компаний. Более того, под этим же адресом может одновременно находиться и фрагмент файлового хранилища, которым пользуются для сохранения своих данных еще несколько сервисов.
Иными словами, блокировка IP-адреса по причине того, что по этому адресу находится сервер Телеграма, больше похожа на расстрел из орудий жилого дома вместе с жильцами на основании того, что в этом доме живет мужчина, вчера спьяну поколотивший жену.
Поэтому предложение Германа Клименко следует читать несколько иначе: «Добросовестные ресурсы не должны использовать облачные сервисы Amazon, Microsoft и Google, а также много кого еще».
Эффект от этого предложения будет разным для российских и иностранных компаний.
Для российских компаний это фактически означает следующее: облачными сервисами не из России пользоваться запрещается! При этом состояние российских «облачных» компаний сейчас довольно далеко от того, что можно было бы назвать «надежно и легко в использовании». Например, в этом обзоре утверждается, что большинство российских «облачных» компаний до сих пор предлагают решения вида «программное обеспечение как сервис» (Software-as-a-Service, SaaS).
Сервисы же указанных выше облачных гигантов, блокировка которых привела к нынешней ситуации, относятся к категории «инфраструктура как сервис» (Infrastructure-as-a-Service, IaaS). Компании на российском рынке, предоставляющие такие услуги, можно пересчитать по пальцам: в упомянутом обзоре их всего четыре — DataLine, Stack Group, Сервионика и Крок.
Я не уверен, что эти российские компании «дозрели» для того, чтобы заменить собой Amazon, Microsoft и Google, — у них меньше и опыта (отсюда следует и более низкое качество услуг), и самой инфраструктуры (это приводит к более высоким ценам, меньшему ассортименту услуг, большему проценту недоступности сервисов и большие риски утраты данных). К тому же при отсутствии зарубежной конкуренции указанным компаниям будет незачем совершенствоваться (улучшать свои сервисы, предлагать больший выбор, снижать цены). Поэтому неочевидно, что «облака», предоставляемые российскими компаниями, все еще будут выгодны организациям, и они не вернутся к работе исключительно на своем «железе».
Каковы альтернативные решения? Например, можно арендовать в зарубежных компаниях выделенные серверы — в датацентрах, в которых они находятся, может не быть серверов другого типа. Поэтому блокировка IP-адресов до них может и не добраться. Действительно, аренда выделенного сервера стоит на порядок-два больше, чем аренда виртуальной машины, что приводит к тому, что появление в этом диапазоне IP-адресов серверов, имеющих отношение к Телеграму, менее вероятно. Но для российской компании это скорее недостаток: слишком уж это дорого — арендовать выделенный сервер «на любой чих». Выгода от переноса сервисов в «облака» при такой стратегии существенно снижается, если вообще остается.
Еще одним альтернативным решением проблемы является выделение статического IP-адреса из «белого» списка для каждой своей виртуальной машины, даже самой маленькой. Технически это сделать возможно, но все упирается в то, что число IP-адресов очень мало. Напомню, что речь идет об IPv4, и в этом стандарте число адресов не превышает 2 в степени 32, или чуть больше четырех миллиардов, а на следующий стандарт, IPv6, человечество перейдет еще нескоро. Это только кажется, что четыре миллиарда — это много. На самом деле последний IP-адрес был передан от центрального регистратора клиенту 03.02.2011, уже семь лет назад, и с этих пор IP-адреса только арендуются и перепродаются. Так что, если государство обяжет российские компании при аренде облачных ресурсов пользоваться только выделенными IP-адресами, в скором времени весь «белый» список будет занят. Что тогда? Перепродажа адресов? Сдача в аренду уже арендованных ресурсов? Неконтролируемый рост цен на IP-адреса? И где же гарантия, что Телеграм не просочится и сюда? Ну и для иностранных компаний этот сценарий, конечно, работать не будет — кому-то бросить российских клиентов будет выгоднее, чем биться за айпишники, а остальные компании вычерпают «белый» список в несколько раз быстрее, чем российские компании сами по себе.
Теперь перейдем к иностранным компаниям. Для них предложение советника Президента звучит гораздо более категорично: «Вы нам не нужны». Он фактически призывает всех облачных «гигантов» создать специальный пул IP-адресов для обслуживания как российских компаний-клиентов (даже не хранения данных российских граждан, а просто обслуживания компаний!), так и зарубежных компаний, желающих иметь бизнес в России. При этом эти гиганты каким-то образом должны обеспечить то, чтобы ни на одном сервере, находящемся в этом пуле IP-адресов, не должно быть серверов, имеющих отношение к Телеграму.
Очевидно, что, во-первых, облачные лидеры не станут заводить у себя специальную инфраструктуру только для того, чтобы обслуживать 146 миллионов человек из отдельно взятой страны. Вполне возможно, что убытки будут меньше, если из упомянутой страны уйти совсем. Во-вторых, даже если такая инфраструктура и будет создана, она не сможет при всем желании функционировать по «плану Клименко», и вот почему:
1. Не пустить Telegram в заданный диапазон IP-адресов с дешевыми виртуальными машинами просто не получится. Наивно думать, что все такие машины арендуются одним и тем же юридическим лицом. Также наивно считать, что по реквизитам юридического лица можно заранее понять, появится ли когда-нибудь на арендованной им инфраструктуре программное обеспечение Телеграма. Вполне может случиться и так, что юридическое лицо, на инфраструктуре которого появится сервер заблокированного мессенджера, будет об этом вообще не в курсе.
2. Остается только юридический путь — обязать компании, арендующие сервера в зарезервированном пуле IP-адресов, обеспечивать отсутствие программного обеспечения Телеграма в их инфраструктуре, а в противном случае блокировать. Нужно ли говорить, что многим таким компаниям, опять же, дешевле вообще не иметь дела с Россией, чем организовывать охоту на своих клиентов?
По указанной причине не существует решения, основанного исключительно на списках IP-адресов (хоть «черных», хоть «белых»), которое одновременно полностью блокировало бы Телеграм и давало бы возможность иностранным компаниям работать без перебоев на территории Российской Федерации. Либо Телеграм блокируется не до конца (это равнозначно тому, что он не блокируется совсем), либо сервисы иностранных компаний работают с большими перебоями (если вообще работают).