#dns

14 постов
пост №1921Разработка и инженерия

Подъехал пост-мортем от Амазона.

С одной стороны, хочется поржать над DNS Enactor, DropletWorkflow Manager (DWFM), Network Manager и прочими — это Galactic от Krazam, только в реальном мире и на очень серьезных щщах.

Если без шуток, то цепочка такая:

1. сначала сломался доступ к dynamodb из-за рейс-кондишена системы управления DNS — два таска начали писать в DNS одновременно, первый старую версию записей, второй — более новую новую, в результате часть записей в DNS оказалась новая, часть старая, второй процесс запустил cleanup, который удалил все старые записи и из такого разломанного состояния система сама восстановиться не могла. Сломалось в полночью, за 50 минут поняли в чем дело и ещё за 40 минут починили руками.

2. из-за сломанного dynamodb, система управления железом не могла обновить статус физических серверов и начала отмечать их как «недоступные», поэтому не могла запустить новые виртуальные машины; после восстановления dynamodb, по-идее всё должно было встать само, но из-за большого объема железа, стоящего в очереди, обновление статуса занимало дольше, чем таймаут — и очередь не разгребалась, а только росла. Коллапс. Стандартной процедуры восстановления для такого случая прописано не было, через 2 часа попыток что-то разрулить, инженеры ограничили число входящих запросов и начали перезапускать тачки с системой управления; это помогло, теперь можно было создать новые виртуальные машины;

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

4. из-за этой задержки появления сети на машинах, моргали статусы серверов в лоад-балансерах, отмечая живые инстансы как мертвые и триггерились дополнительные переключения нагрузки (привет, DNS!) и перегрузилась система проверки здоровья серверов,
пришлось её на время выключить.

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

Раздел «что мы поменяем» удивительно короткий и очень технический: починят рейс кодишен в DNS, ограничат объем серверов, который может выключить лоад-балансер и т. д. Ну и заканчивают «извините, в будущем будем более лучше стараться».

Интересно, что они не делают никаких философских выводов из ситуации. Видимо, считают, что идейно всё верно. Я сам такими огромными системами (и командами) не управлял и поэтому осторожно предположу, что, наверное, технически, можно сделать систему проще, но учитывая, что над ней работают десятки независимых команд — это, наверное, минимальный доступный объем сложности и допустимый объем ошибок. Было бы интересно услышать мнение «настоящих сварщиков».

Коллеги советуют замечательную статью на тему безопасности сложных систем. Она не дает ответов, но предостерегает от попытки найти «root cause», «причину аварии» и предлагает посмотреть на безопасность систем по-новому, через другие линзы, чем я привык. Очень рекомендую.

пост №1917Разработка и инженерия

Большая часть облачных сервисов AWS лежала почти 3 часа. Если у вас глючили Слек, Зум, Сигнал и прочие — это всё от этого. Уже поднимаются. Официальный статус тут.

Как обычно, система поддержки AWS тоже легла. Говорят, что из-за проблем с DNS отвалилась база данных DynamoDB на восточном побережье США, ну а дальше эффект домино. Ждем официального post mortem.

Время шутки, что один сервак в hetzner может дать больший аптайм, чем вся современная облачная инфраструктура.

пост №1731Интернет и платформы

30 января на несколько часов сломались сайты .ru

Это произошло из-за проблем с DNS — одним из старейших протоколов интернета, которым мы пользуемся до сих пор.

Обсудили с сотрудником ICANN Мишей Анисимовым, как он устроен и что пошло не так. Слушайте здесь: Apple, Google, Яндекс, Spotify, Castbox, Overcast, веб-версия.

пост №1676Разработка и инженерия

Как незаметно ускоряется интернет или история с цифровыми полтергейстами.

Случайно наткнулся на то, что теперь сайты открываются не только по IP-адресам, указанным в A и AAAA записях, но и по адресам, указанным в SVCB-записях в DNS.

Это новый тип DNS записи (type 65), при наличии которой, свежие браузеры (Safari, например) сразу открывают сайт по https, а точнее — по QUICK, причем используют ключ шифрования из DNS. Такая схема работы ускоряет первое открытие сайтов на существенные десятки, если не сотни миллисекунд (а также сильно мешает Роскомнадзору) и Cloudflare уже публикует эту запись для всех своих клиентов (рекомендую их объяснение протокола, RFC не простой).

Обнаружил я это, когда пытался заблокировать себе некоторые сайты на компьютере, чтобы не заходить на них бездумно. Обычно я заношу их в /etc/hosts, а тут для некоторых сайтов именно в Сафари это не работало. Похоже на историю с полтергейстами, но к счастью, после некоторого поиска нашелся ответ на StackOverflow, который расставил всё по местам и напомнил об SVCB.

Для меня это ещё одно доказательство того, что не-профильные части бизнеса стоит делегировать профессионалам. Мало кто из «обычных админов» сайтов использует эти новые протоколы — все ведь работает и по-старинке. А если используешь Cloudflare для хостинга сайтов — то получаешь все эти десятки, если не сотни довольно неочевидных оптимизации в комплекте. Примерно как когда заказываешь у нас разработку.

Ах да, если хотите заблокировать себе какие-то сайты на компьютере под маком — то рекомендую Little Snitch Mini — это прекрасная утилита, которая показывает, к каким сайтам подключаются программы на вашем компьютере и позволяет блокировать их одним кликом (1,5 евро в месяц). Аналог под Windows — NetLimiter.

пост №1555Интернет и платформы

Случайно обнаружил, что на моем домашнем интернете DNS-серверы от Cloudflare (1.1.1.1) в 4 раза быстрее, чем DNS-серверы Google (8.8.8.8).

А ещё можно заблочить себе порнуху, используя DNS-сервер Cloudflare Family (1.1.1.3).

Рекомендую.

О том, что такое DNS мы подробно говорили в выпуске подкаста про блокировку интернета.

Обратите внимание на разницу в дизайнах лендингов от Гугла и Cloudflare 🤷‍♀️

пост №1419Разработка и инженерия

ФБ рассказал, почему они упали в понедельник.

Началось все с человеческой ошибки. В ходе обычной работы, кто-то дал системе команду, которая отключила все дата-центры Фейсбука от ее скоростной внутренней сети, которая связывает дата-центры Фейсбук друг-с-другом и со внешним интернетом.

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

В этот момент все сервера Фейсбука пропали с радаров интернета, Фейсбук для внешнего мира сломался.

Все было бы ничего, инженеры могли бы быстро включить все обратно, но у фейсбука есть специальная автоматизированная система, которая проверяет связность DNS серверов с дата-центрами компании и в случае проблем — отключает эти серверы от интернета. В понедельник, эта система отключила все DNS-серверы компании от интернета.

DNS — адресная книга интернета. Эта система переводит человеческий адрес Facebook.com в машинный айпи-адрес 157.240.224.35. Формально, интернет может работать и без DNS, в реальности на работе DNS завязано почти ВСЁ. Например, внутренние сервисы — инструменты, которыми пользуются инженеры фейсбука для решения проблем. Да что там сервисы, сотрудники фб в офисы не могли попасть, потому что автоматической системе контроля дверей тоже нужна DNS.

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

В общем, горячие были 6 часов у инженеров. Респект фб, что так быстро описали суть произошедшего и жаль, что подробный отчет, по которому, безусловно, можно снять боевик — мы вряд ли увидим.

Конкретно от этой проблемы фб вряд ли пострадает во второй раз — программу проверки команд теперь будут тестировать на порядок лучше, да и DNS в будущем, вряд ли будет отключаться так легко. При этом, мы говорим об очень сложных системах и в них рано или поздно что-то пойдет не так. Такие крупные аварии, «идеальные штормы» происходят каждые несколько лет. Этот — не последний.

Нам же, простым смертным, это очередное напоминание, что стоит подстелить соломки и сделать так, чтобы наши сервисы, наши бизнесы продолжали работать, не теряли клиентов, даже если сломался такой гранд, как вацап или фейсбук. Когда все твои конкуренты вне доступа из-за крупной аварии — это шанс получить много новых клиентов, если ты продолжаешь работать. Хоть и баян, но: кризис — время возможностей.

пост №1417Разработка и инженерия

ФБ начал возвращаться в строй. Сетевая связность восстановлена, заработал DNS. Приложения, скорее всего, тоже скоро очухаются.

Вот хороший обзор ситуации и объяснение механизма падения от Cloudflare https://blog.cloudflare.com/october-2021-facebook-outage/

Теперь ждём технического пост-мортема от фб.

Пойду спать, спокойной ночи, друзья.

пост №1251Разработка и инженерия

Сервис общего редактирования документов и командной работы Notion упал из-за DNS. Что происходит пока не понятно, но 3 минуты назад они попросили у себя в твиттере «у кого есть контакты name.com». 😲

Текущая оценка Notion — 2 миллиарда долларов.

Upd: починили, ждем постмортем 🍿

пост №1035Технологии и общество

Хорошие новости: майкрософт планирует внести изменения в работу DNS в Windows, которые помогут бороться с цензурой и повысят нашу безопасность в сети.
Что такое DNS? Когда вы даете команду открыть ютуб, ваш компьютер или телефон сначала узнают числовой адрес ютуба (74.125.130.91, айпи) в «телефонной книге интернета» называемой DNS.

С DNS есть две проблемы:
1. Общение с DNS-серверами никак не защищено — значит хакер может подслушать, на какие сайты вы заходите и даже увести вас на поддельный сайт вместо настоящего.
2. DNS-серверы обычно предоставляются провайдерами. Владелец DNS-сервера видит, какие сайты вы посещаете и может выборочно блокировать к ним доступ, просто отдавая вместо настоящего числового адреса адрес сайта-заглушки. Это самый дешевый способ блокирования интернета, им пользуются многие русские провайдеры; именно так Турция блокировала твиттер во время массовых протестов.

Microsoft обещает решить обе проблемы. Сначала первую, путем поддержки шифрованного протокола DNS over HTTPS, а затем вторую — предлагая обычным пользователям выбрать, каким DNS-сервером они хотят пользоваться.

Объяснить простому человеку, зачем выбирать DNS-сервер и какие последствия имеет этот выбор — непростая UX-задача. В профессиональных кругах мы давно обсуждаем эти вопросы.

Не мы одни понимаем важность DNS. 🇺🇸 Недавно американские провайдеры были пойманы на том, что лоббировали конгрессменов США против шифрованного DNS (очень грязно, перетасовывая и перевирая факты) — они собирают и продают данные о том, какие сайты посещают их пользователи. 🇬🇧 Правительство Великобритании выступает против шифрования DNS — это помешает им блокировать сайты. На прошлой встрече IETF меня круто осадила девушка-представитель правительства Великобритании, красноречиво предъявив аргумент «а как же защита детей», на который я не нашелся как быстро ответить. 🇷🇺 Ну и конечно, «суверенная DNS-инфраструктура» есть в «законе об изоляции рунета».

Непривычно и очень круто, что Microsoft первыми из технических гигантов начали публично говорить об этом аспекте интернет-безопасности.

P.S. Привет из Сингапура, с очередной встречи инженерного совета интернета IETF. Картинка для привлечения внимания с балкона, где написан этот пост.

пост №855Разработка и инженерия

Вообще, герой дня, я думаю, не только МТС, но и https://platformalp.ru (какая-то система для быстрой сборки лендосов), на которой припаркован этот прекрасный поддомен.

Вот про эту ситуацию точно был бы бомбический доклад на конференцию, жаль никто не расскажет :((

Я бы на месте безопасников МТС вырубил домен по-быстрому (но у них такой возможности нет, TTL большой). Это, кстати, одна из причин, почему стандартным TTL доменов нужно устанавливать 5 минут.