Pull to refresh
4
0
Антон Самсонов@SamsonovAnton

Неуверенный в себе пользователь ЭВМ

Send message

Если прочитать оригинальный материал внимательно и непредвзято, то картина рисуется несколько иная, нежели обрисовал пересказчик:

  • Речь не о российских серверных процессорах вообще (выпускать которые сейчас по силам только зарубежным фабрикам), а конкретно о микросхемах с российскими кристаллами — которые будут выпускаться на российских фабриках.

  • Пока нет серверных процессоров с российскими кристаллами, надо начинать переходить на имеющиеся российские процессоры (произведённые пусть и за рубежом) — а не расслабляться ещё 8 лет.

  • Ориентировочно через 4–5 лет в России появятся фабрики уровня 28 нм, и в течение 3 лет после этого можно наладить выпуск процессоров серверного класса, — это время пролетит быстрее, чем кажется, и готовиться надо уже сейчас.

  • Производить свой собственный х86 нам не дадут — не надо надеяться на то, что российские фабрики появятся и станут штамповать клоны процессоров Intel и AMD. Все отечественные процессоры строятся на базе иных архитектур, и под них необходимо портировать и оптимизировать программное обеспечение.

  • Как надо провести эти 8 лет? Надо не сидеть и ждать, а готовить те самые недостающие кадры (микроэлектронщики, проектировщики аппаратуры, программисты, администраторы), портировать программное обеспечение и оптимизировать его под российскую процессорную архитектуру, проводить внедрения и давать обратную связь разработчикам аппаратного и программного обеспечения. Учитывая ресурсозатратность этого процесса, происходить он должен при поддержке регуляторов — именно поддержке, а не принудиловке.

Сказанное — очевидные соображения, которые относятся ко всем российским процессорам.
Но, разумеется, представитель МЦСТ выражает уверенность, что именно Эльбрус станет первым, кто освоит отечественные техпроцессы и сможет выдать высокопроизводительный продукт, пригодный для использования в продакшне — как у госструктур, так и у частных компаний.

Уточнение: Яндекс написал не NTP-клиента, а SNTP-клиента — примитивную state-less опрашивалку сервера без самостоятельного вычисления коррекции хода часов (позволяющего ограничиваться 4 запросами в час для поддержания миллисекундной точности, или даже 1 запроса раз в несколько часов при менее высоких требованиях к точности).

Отчего так много icmp port unreachable? Это спуфинг или ковровые блокировки ntp-протокола?

Судя по высокому объёму подобного трафика, это всё-таки результат спуфинга — для DRDoS-атаки на чью-то инфраструктуру. Никакого отношения к умным колонкам не имеет, если только они не взломаны и не являются частью ботнета, генерирующего фейковые запросы от имени чужого IP-адреса.

Если только ваш IPv6-трафик не бегает по отдельному каналу и не обрабатывается отдельным роутером, и ваш NTP-сервер также не является узким местом. В противном случае проблемы из-за перегрузки IPv4-трафиком очень даже влияют на доступность вашего IPv6-сервера, а если он ещё и время получает только через Интернет (то есть не имеет локальных источников типа GPS) — то и на точность хода, а оба этих параметра определяют рейтинг вашего сервера в пуле.

Немного статистики:

  • США и Канада — 925 и 150 серверов в пуле соответственно,

  • Германия — 905,

  • Великобритания — 300,

  • Франция — 284,

  • Нидерланды — 273,

  • Швейцария — 150.

Между тем Россия:

  • 2014 год — пик 120 серверов (плавно доросло с 2004), затем резкий спад до 90,

  • 2017 год — пик 140 серверов, затем резкий спад до 70,

  • 2024 год — пик 150 серверов, затем резкий спад до 120 (перед коллапсом).

То есть у нас на 146 млн. населения столько же серверов в пуле, сколько в Канаде (41 млн.) или Швейцарии (9 млн.) и вдвое меньше, чем в Великобритании, Франции (по 68 млн.) или Нидерландах (18 млн.), а сравнивать с Германией и США вообще бесполезно.

Кстати, по-хорошему, производители программно-аппаратных устройств ни в коем случае не должны прописывать обычные адреса пула — xx.pool.ntp.org — вместо этого они должны запросить у пула собственную зону, например yandex.pool.ntp.org, и прописывать именно её, чтобы в случае проблем можно было легко прибить трафик от разбушевавшиихся клиентов.

The NTP Pool for vendors: https://www.ntppool.org/vendors.html

Странно. Как раз на IPv6 никакой беды не случилось — как было 30–40 серверов в российской зоне в течение последних трёх лет, так и осталось, потому что трафик там околонулевой. Проблемы могут быть только у dual-stack серверов — которые участвуют в пуле одновременно как IPv4 и IPv6, и соответственно страдают по части IPv4, но эффект распространяется и на IPv6.

Не похоже это на DDoS — просто потому что:

  • интенсивный трафик наваливается только когда пул включает твой сервер в выдачу клиентам;

  • трафик спадает ниже 1 Мбит/с после того как пул исключает тебя из выдачи.

То есть трафик практически полностью создают клиенты-новички, которые впервые приходят с запросом (в том числе, возможно, настроенные на ускоренную первичную синхронизацию — с увеличенным количеством запросов). Те же, кто остаётся пользоваться сервером для последующих запросов, нагрузки практически не создают.

Если бы это была DDoS-атака типа refrection + amplification и т. д., направленная на сторонние серверы-жертвы (не разу не NTP даже), то трафик не иссякал бы после исключения сервера из выдачи пула, а продолжался бы практически с той же интенсивностью.

Надо смотреть не только на то, как часто идут запросы и сколько их, а ещё и приходят ли ответы. Если ответы не доходят (как раз из-за проблем с перегрузкой серверов), или что-то с ними не так, то запросы так и будут повторяться. Другое дело, что с нормальным NTP-софтом такие запросы в случае отсутствия ответов не должны повторяться чаще, чем раз в минуту, даже если настроена ускоренная начальная синхронизация (iburst).

Предупреждение подмены IP-адресов

Это должны делать Интернет-провайдеры по отношению к своим клиентам (см. BCP38). Вы со своей стороны никак не можете убедиться, что UDP-запрос пришёл от того, чей IP-адрес указан в заголовке.

Ограничение скорости и контроль доступа

Ну да, конечно, это именно то, что нужно для публичного сервера в составе пула.

Использование услуг защиты от DDoS

Пример конкретного решения с поддержкой NTP, которое можно развернуть у себя на сервере, а не заказать как услугу у некоего стороннего провайдера?

На самом деле, сам NTP-софт мог бы применять какие-то лимиты на частоту ответа по каждому IP-адресу:

  • вообще,

  • если приходит только начальный запрос без продолжения диалога,

  • если приходит запрос продолжения при отсутствии начала диалога.

Но тут надо понимать, что за одним IP-адресом могут скрываться тысячи легитимных клиентов провайдера, сидящих за NAT, и даже если у всех провайдеров будут свои NTP-серверы, не все клиентские устройства вообще позволяют задать адрес сервера, и тем более не все клиенты станут это делать.

Да хоть стратум 1 — ставите себе GPS-приёмник с 1PPS и в путь; тем боле что как раз в домашних условиях с этим проще, чем в ЦОД. И в пуле было полно таких любительских серверов. На то пул и нужен, что владелец сервера сам выбирает посильную для себя нагрузку, и если не справляется, то система исключает его из выдачи, пока он не придёт в норму.

А вот если у вас серьёзный сервер, тогда можно его включить и в список https://support.ntp.org/Servers/ для статической конфигурации на нижестоящих серверах, участвующих или не участвующих в пуле. При этом такой сервер также может участвовать в пуле.

Нет, это сам пул удаляет неактивные серверы после некоторого времени.

Признаюсь честно: я прозевал уведомления об готовящемся удалении 2 из 3 моих серверов, привычно проигнорировав очередное письмо от мониторинга пула, посчитав их за рядовые уведомления о временных проблемах доступности — которые мониторинг выявляет раз в месяц минимум, учитывая отсутствие мониторящих хостов в России и частые проблемы с транс-граничной блокировкой NTP (это как когда кто-то на протяжении 20 лет постоянно кричит «Волки! Волки!» по поводу и без повода).

По ссылке написано: Зеленоград.

PS. А пост без заголовка специально, чтобы сложнее было сюда зайти? :-)

Или наоборот, сертификат проверяется и по какой-то причине отбраковывается, после чего всё тут же начинается с начала в надежде получить другой результат при совершении тех же действий.

Моя старая страшилка про Android-планшет

Когда я летом 2014 купил своё первое Android-устройство (планшет Asus Fonepad на роль автонавигатора), то поначалу никак не мог понять, почему система не может проверить наличие обновлений прошивки — только бешено мигает кнопкой «Проверить» при наличии подключения к сети. Так как покупал накануне поездки, разбираться не было времени. Во время поездки обратил внимание, что трафик течёт рекой: когда раньше пользовался Яндекс.Картами на Symbian, то расходовались копейки, а тут за неделю вышло около 1 гигабайта — при том, что основные карты городов я скачал заранее по Wi-Fi. Но самое смешное, что трафик продолжал утекать, даже когда я вернулся домой. После запуска tcpdump на домашнем маршрутизаторе, стало ясно, что планшет ломился на сайт обновлений по HTTPS, получал отлуп, и тут же повторял попытку — и так до бесконечности, по несколько раз в секунду. Если не ошибаюсь, причина была в том, что в [более-менее свежей] заводской версии был установлен устаревший SSL-сертификат, и дело решилось заменой сертификата и прочисткой кэша диспетчера загрузок. Но это я сумел вовремя заметить и разобраться, — а менее опытные пользователи так до скончания жизни устройства и тратили бы свой трафик впустую, ведь автоматически обновиться они так никогда и не смогли бы.

… и меня совершенно не смутило обилие грамматических ошибок у этих профессионалов своего дела.

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

Поэтому, если эксперт сказал, что информация представляет общественную опасность, судья всецело полагается на это авторитетное мнение — ведь сам-то он ничего не смыслит во взрывчатых веществах, у него нет оснований сомневаться в мнении эксперта (который, кстати, несёт ответственность в соответствии с законом). Фраза «Взрывчатка изготовляется из пороха и песка» для обывателя выглядит более чем правдоподобно — уже просто потому, что там есть слово «порох». А песок? Ну что, песок, — в голливудских боевиках персонажи изготавливают бомбу чуть ли не из воздуха; судья, как любой человек, такие фильмы наверняка видел. И то, что в самой Майнкрафтопедии утверждается, будто рецепт не имеет ничего общего с реальным миром, — для судьи так же «существенно», как клятвенное заявление подсудимого, что он ничего плохого не делал.

Так что, если кому и надо отвечать за подобный идиотизм, то только экспертам, — если они привлекались, конечно. Если же не привлекались, и судья поверил прокурору на слово, — тогда, да, можно поставить вопрос об их профессиональном соответствии. Но в статье такие подробности о ходе следствия не раскрываются.

Полная стоимость защиты (включая зарплаты безопасников) должна быть адекватна стоимости защищаемого объекта: то есть точно не превосходить; да и просто быть равной — это тоже перебор.

Ой, да ладно, Фидо уже давно по IP ходит в основном, и IP-only узлы перестали быть экзотикой.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Разработчик приложений, Пресейл инженер
Средний
Bash
C
C++
.NET
PHP
HTML
CSS
SQL
Git
Linux