Дисклеймер: я сам много пользуюсь CloudFlare и считаю, что они делают большое дело, помогают развивать интернет, дают бесплатно крутые продукты, и в целом отличные ребята. Статья описывает проблемы глобализации и новые угрозы, когда децентрализованный интернет становится централизованным.
Когда CloudFlare только появился, это была настоящая революция в веб-хостинге: в два клика, без переезда на другой сервер, к своему сайту можно было подключить профессиональный CDN, который экономил кучу трафика, ускорял загрузку статических файлов и еще защищал от DDoS. Раньше позволить себе такое могли только компании за большие деньги, а теперь это стало доступно каждому, еще и бесплатно!
С тех пор CloudFlare сильно вырос и сегодня проксирует через свою инфраструктуру треть интернета. Из-за этого появились проблемы, которых раньше не существовало. В посте мы разберем, как CloudFlare угрожает нормальной работе интернета, мешает обычным людям пользоваться сайтами, имеет доступ к зашифрованному трафику, и что с этим делать.
Как сломать треть интернета
2 июля 2019 года в результате ошибки CloudFlare полностью сломался. В результате были недоступны все сервисы, так или иначе использующие их сеть. Среди наиболее известных: Discord, Reddit, Twitch. Это коснулось не только веб-сайтов, но и игр, мобильных приложений, терминалов и т.д. При этом, даже те сервисы, которые не используют напрямую CloudFlare, испытали проблемы в работе из-за сторонних API, которые стали недоступны.
В большинстве случаев, для использования CloudFlare, клиенты направляют свои домены на их DNS-серверы. В момент аварии стала недоступна также и контрольная панель и API, из-за чего клиенты не могли перенаправить свои домены в обход сети CloudFlare, таким образом оказавшись в ловушке: нельзя было оперативно отключить проксирование и вернуться на свою инфраструктуру. Единственным выходом было делегировать домен на свои собственные DNS-серверы, но такое обновление могло занять более суток, и большинство клиентов не были к такому готовы и не имели запасных мастер-DNS серверов на такой случай.
Несмотря на то, что даунтайм был небольшим, всего несколько часов, это существенно сказалось на всей индустрии. Из-за неработающих платежных сервисов компании несли прямые убытки. Этот инцидент вскрыл очевидную проблему, которая до этого обсуждалась только в теории: если интернет настолько зависим от одного поставщика услуг, в какой-то момент все может сломаться.
Если одна компания контролирует такую большую часть интернета, это угрожает устойчивости сети как с технической стороны, так и с экономической.
Сама концепция интернета предполагает децентрализацию и устойчивость к подобным ошибкам. Даже в случае отключения части сети, система маршрутизации автоматически перестраивается. Но когда одна компания управляет такой большой частью трафика, сеть становится уязвима перед ее ошибками, саботажем, взломами, а так же недобросовестными действиями для извлечения прибыли. Эта идея важна для понимания остальных проблем, которые мы обсудим далее.
Вы выглядите подозрительно
Если фирменные алгоритмы определения вредоносного трафика CloudFlare сочтут, что вы недостойный пользователь интернета, веб-серфинг превратится в мучение: на каждом пятом сайте вы будете видеть требования пройти унизительную капчу.
Капча от CloudFlare может преследовать вас по всему интернету
Автор этих строк выходит в интернет с офисного IP-адреса, за которым сидят сотни других сотрудников. Видимо CloudFlare посчитал, что мы все выглядим как боты, и стал показывать всем очень злую капчу. Иногда это доходит до абсурда, когда некоторые мобильные приложения не могут залогиниться. В итоге, чтобы нормально ходить по интернету, приходится подключать VPN.
Получается, CloudFlare в любой момент может отключить вас лично от большой части интернета, если вы ей не понравитесь, или из-за ошибочного детектирования превратить обычное использование сервисов в мучение.
Мы можем видеть сквозь HTTPS
Чтобы правильно кешировать и фильтровать контент, серверы CloudFlare должны иметь возможность видеть расшифрованный HTTP трафик. Для этого они всегда работают в режиме MiTM (Man-in-the-middle), подставляя конечному посетителю сайта свой SSL-сертификат.
Картинки в инструкциях по настройке HTTPS могут вводить в заблуждение, будто в режиме Full, на всем пути следования трафика используется шифрование. На самом деле сервер CloudFlare расшифровывает трафик от сервера и шифрует его заново своим сертификатом уже для посетителя сайта.
В любом режиме работы CloudFlare расшифровывает SSL-трафик
Даже если вы имеете на своей стороне действующий SSL-сертификат, CloudFlare все равно будет иметь доступ ко всем передаваемым данным. Это дискредитирует всю идею SSL, которая предполагает шифрование от клиента до конечного сервера без расшифровки по пути.
В случае ошибки или взлома серверов CloudFlare, весь конфиденциальный трафик будет доступен злоумышленникам. Достаточно вспомнить уязвимость с утечкой памяти , из-за которой сервера CloudFlare выплевывали случайное содержимое памяти прямо в контент страницы. Среди таких данных могли быть cookie, учетные записи, номера кредитных карт и т.д.
Также нужно иметь в виду, что спецслужбы той страны, в юрисдикции которой работает компания Cloudflare Inc, могут запрашивать доступ к расшифрованному трафику, даже если оригинальный сервер находится в другой юрисдикции. Это превращает основную идею SSL в фикцию.
Не только инфраструктура, но и цензура
Изначально, компания Cloudflare заявляла, что будет только предоставлять инфраструктуру для клиентов и не планирует цензурировать ресурсы по содержимому, обещая ограничиваться только законными требования от государственных органов. Так было с сайтом знаменитой группировки LulzSec, которые координировали взломы и DDoS-атаки. По этому поводу Cloudflare выпустили заявление.
Однако спустя время, Cloudflare решает отказать сайту 8chan в обслуживании на основании своих представлений о морали. При этом никаких судебных решений или иных формальных причин для этого не было — просто они так решили. Это вызвало общественную дискуссию о том, может ли провайдер сам решать, какой сервис достоин обслуживаться на его инфраструктуре, а какой нет. Статья с размышлениями на эту тему в New York Times: Why Banning 8chan Was So Hard for Cloudflare: ‘No One Should Have That Power’.
Заключение
Несмотря на то, что Cloudflare невероятно полезный сервис и помогает значительно ускорить доставку контента, а так же развивает интернет, его опасный рост и грядущая монополия угрожает устойчивости всего интернета. Попробуем резюмировать все вышесказанное в простых тезисах:
- Нельзя хранить все яйца в одной корзине. Это просто небезопасно, цена ошибки в таком случае слишком высока. Если все секреты мира будут у одной компании, она всегда может быть взломана, допустить ошибку или просто действовать нечестно для выдавливания конкурентов с рынка.
- Коммерческая компания всегда заинтересована в одном — зарабатывании денег. Если ключевые элементы узлы интернета захватит одна компания, она сможет монопольно управлять ценами на услуги, уничтожать конкурентов и диктовать свои правила, задавливая конкурентов в зачатке.
- SSL больше не защищает данные от третьих лиц. Все ваши шифрованные данные, передаваемые по сети Cloudflare, доступны этому самому третьем лицу — CloudFlare. Это дает неограниченный доступ к чувствительным данным миллионов пользователей.
Данный пост не призывает отказываться от Cloudflare, а только описывает, чем в перспективе угрожает такой бурный рост и влияние этой компании. Подумайте, действительно ли использование Cloudflare необходимо для ваших задач, и если без него никак, предусмотрите план Б, на случай экстренного переезда.
Для тех, кто ищет надежные серверы, мы запустили акцию: ISPmanager три месяца бесплатно. И плюс традиционные 10% скидка для читателей Хабра:
aleksandr99
Интересно вышло Можно отслеживать, у какой статьи будет выше рейтинг
Vizrok
Еще интереснее то, что судя по транслитерации это аккаунты одного и того же человека
Calc
Удалили уже, а что там было?
Theodor
Эта же статья, в этом же блоге, с другого аккаунта =)
aleksandr99
Кстати, на момент удаления у той статьи были 4 плюса при 79 просмотрах. А у этой 2 при 360 просмотрах. Надо было ту оставлять