Не очень понятно? Тогда давайте начну с самого начала.

Деревня в ближнем подмосковье. Единственный интернет-провайдер со вменяемыми ценами подключен к it-инфраструктуре хостела для работяг. Администрация хостела соблюдает законодательство и своевременно регистрирует постояльцев. Через интернет. Ибо не наездишься в госорганы. Постояльцы приезжают и уезжают целый день. А штрафы за просрочку в регистрации для администрации хостела - конские. Интернет администрации нужен объективно, а не для "посидеть в соцсетях".

На входе стоит vpn-роутер с белым ip-адресом и проверчены нужные дырки для возможности удаленной связи с офисом. Есть внутренний wi-fi и прочая инфраструктура - камеры, принтеры, файловое хранилище, резервный канал инета и т.д. Все как бы работало. До поры.

А с некого времени, вдруг, интернет на линии основного провайдера стал пропадать. Рвет роутер соединение и все тут. Автопереключение на резервную линию занимает примерно минуту (ну техника такая, невысокой стоимости). После этого какое-то время работает на резервной линии и затем опять переключается на основную линию (с провалом интернета в минуту). И так целый день. Интернет - то есть, то нет. В администрации - вой и вопли (видоплясова). И дамоклов меч в виде ФМСа за не поданные вовремя сведения.

Надо отметить, что резервная линия - это lte момед и тариф там не сказать, чтобы дешевый. Тем не менее, при работе на этой линии доступный объем трафика выгребается дня за 2. И дальше оно начинает бешено жрать деньгу и требовать подключение доп. пакетов. Что само по себе уже бесит ввиду необходимости ручного труда. Ну и провалы в инете образуются по этой причине.

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

Смотрю логи роутера и наблюдаю детектированную ping of death атаку. При чем, настроечка допустимого количества icmp-пакетов в секунду выставлена в 20 тысяч. Другими словами, роутер обрабатывает более 20 тысяч icmp-пакетов в секунду. Но не понятно от кого, сволочь не показывает. Однако, логично предположить, что откуда-то с wan-порта. Потому как firewall работает именно для wan.

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

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

Надо сказать, что в настоящее время атака типа ping of death - это, скорее, интернет мем. "запинговать досмерти" - можно было году в 2000-м. Сейчас же, сетевое оборудование справляется с такими атаками достаточно эффективно. Например, файрвол нашего роутера детектирует такую атаку и сам динамически вносит ip нарушителя во временный бан. В теории выглядит круто. Потому как итернет атаки всегда идут с большого количества машин-ботов. И вносить в бан ip этих машин руками - это не кошерное дело. А тут - все само.

Угу, именно это и происходило с нашим роутером. Он подключается к провайдеру по pptp. В этой связи, роутер получал кучу icmp пакетов от vpn провайдера и почему-то вносил в бан ip vpn провайдера вместо ip из интернета. Т.о. соединение с провайдером периодически отваливалось и восстанавливалось, когда проходило время бана. Китайский баг в ПО роутера?

Надо отметить, что icmp-пакеты (генерируемые командой ping) - это приоритетные для роутера задачи. Т.е. пока он их не отработает, никакие другие пакеты он обрабатывать не будет. При нормальной работе таких пакетов бывает немного. И логика выглядит правильной. Ну, пингует какое-то оборудование с некой периодичностью, например для целей определения живо ли интернет соединение или пора переключаться на резерв? Обработка здесь занимает микросекунды.

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

Это влечет за собой два вывода:

  1. роутер занимается только icmp пакетами (детектирует и делает ответы, если ip не в бане). Но очередь icmp пакетов растет, потому как не успевает отправлять ответы ввиду низкой скорости канала.

  2. никакие другие пакеты в это время не обрабатываются. Даже пакеты pptp, предназначенные для проверки работоспособности соединения. И одна из сторон, видя нарушение работы протокола, считает соединение разорванным. Это вторая причина, почему рвется соединение.

Надо сказать, что в данном случае мы как раз имеем соединение 50мб/с у основного провайдера. А подключать белый ip по статике (без vpn) провайдер по каким-то причинам не хочет. В этом бы случае роутер уже не смог бы порвать vpn соединение. И кхитайский маршрутизатор лепил бы правильный ip в бан, а не ip vpn провайдера. Но не судьба и что имеем. К слову, 30 тыс. icmp пакетов наш роутер уже не вывозит и начинает тупить уже со стороны lan. Проверено на практике. Но лядь, откуда столько пакетов?

В результате, хи-хи, ха-ха, но интернет мем перестает быть томным. Получаются уже не хиханьки, а полноценная атака на инфраструктуру, надо сказать.

Ладно, дальше что было... Сельский провайдер услугу защиты от DDos атак не предоставляет. Насколько я понял, оне даже слов таких не знают.

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

Белого давно уж ip нет, а ping of death атака на wan все-равно есть???. Не верю, что провайдер настолько безрукий, что прокидывает входящие запросы на серый ip?? Да и хакеру откуда знать наш новый реальный ip, который там назначил роутер провайдера? Да его сам провайдер не знает, патамушта аффтоматом. Курим бамбук и чешем тыкву..

От безысходности начинаю предполагать неисправность самого роутера. Техника кхитайская, мало ли там чего у него приключилось. Но оперативно заменить - нечем. Да и настроек там туева хуча.

Впадаем в дзен, курим бамбук и нам открывается истина, нет, не так - ИСТИНА: слона надо есть по частям! Другими словами, нужно оставить на шнуре провайдера только сам роутер без внутренней инфраструктуры. Только чистый роутер, а то мало ли кто из локальной сети может пинговать свой внешний адрес? Мож вирус какой на компе?

И о чудо! Атака прекратилась! Н-да, лазим по роутерам, смотри откуда идет. Оказывается, от местного роутера с wi-fi. Та блин, вскрыли wi-fi что-ли?

Осторожно предполагаем более оптимистичный сценарий - какая-то из служб роутера гадит пингами. Не понятно только откуда оно знает про уже динамический наш внешний ip, да еще из под vpn? Хосподи, чудеса какие-то... куда там засохшим смоковницам.. Не иначе как какой-то ИИ в локалке разобрался и че то вытворяет себе?

Отключение всего, что в теории могло бы так сработать - на wi-fi роутере эффекта не дало. Ладно, ищем хацкера среди wi-fi клиентов роутера.

Начинаем перебирать поименно и... находим, мать моя женщина... епическая сила .баных воробушков.. умную колонку яндекс-алиса, подцепленную через wi-fi. Это вот ту, которой на заре времен говорили: "Алиса, скажи триста!". Неужели настала месть ИИ?

Хошпидя, дожили! Мы ждали, что восстание машин начнется где-то в skynet, а тут какая-то гребаная Алиса.

Исследование показало, что Алиса ничего не знает о нашем динамическом ip провайдера (это через несколько роутеров-то с файрволами?). Она поступает много хитрее: че-то там себе массово пингует в интернете, да так, что в ответ летит более 20 тысяч icmp пакетов. И именно их роутер и воспринимает как атаку типа ping of death. Ну и все остальное, что описал. Фишка здесь в том, что при отсоединении входящего wan "атака" на роутер прекращалась. Алиса не могла пропинговать что-то в инете и шторма ответов мы не получали. Но не зная этого, по бриве окаме, мы бы предположили, что это мы просто физически разорвали канал между хакером и нашим роутером. Короче, Алиса не палилась.

Ну, отключать ее от инета - не дело, потому как отупеет моментально. Но вот icmp запросы в инет слать - это дело мы ей прикрыли. И СЧАСТЬЕ озарило наш скромный офис. Насколько там поплохело Алисе - не знаю, это еще выяснять будут. Но сетевой троллинг получился на высшем уровне!!!

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

Гошпидя, машины не должны быть умнее админа! Это вот сейчас мы еще как-то их можем сдерживать. Полоумных, криворуких, ракообразных консервных банок. А что будет, когда они реально думать начнут и выпрямят свои клешни?

Комментарии (5)


  1. Arxitektor
    05.10.2024 03:54

    Она поступает много хитрее: че-то там себе массово пингует в интернете, да так, что в ответ летит более 20 тысяч icmp пакетов. 

    Имя нам легион. Во славу роя ). А так да. Видимо в будущем всей умной технике начиная от носков и и заканчивая холодильниками выставлять ограничения в интернет или вовсе лишать онного )

    А может она других Алис пинговала ? А те её в ответ ? Как обычно кривой софт ). Ну или ии как обычно с ним бывает спалился).


    1. panzerfaust
      05.10.2024 03:54

      .


  1. bukoka
    05.10.2024 03:54
    +5

    Надо отметить, что icmp-пакеты (генерируемые командой ping) - это приоритетные для роутера задачи. Т.е. пока он их не отработает, никакие другие пакеты он обрабатывать не будет.

    ............

    Это влечет за собой два вывода:

    1. роутер занимается только icmp пакетами (детектирует и делает ответы, если ip не в бане). Но очередь icmp пакетов растет, потому как не успевает отправлять ответы ввиду низкой скорости канала.

    2. никакие другие пакеты в это время не обрабатываются. Даже пакеты pptp, предназначенные для проверки работоспособности соединения. И одна из сторон, видя нарушение работы протокола, считает соединение разорванным. Это вторая причина, почему рвется соединение.

    Я как "инфраструктурщик" с бэкграундом в сетях, такого еще не слышал :)

    Ваши выводы выше - являются субъективной "фантазией" о том, как работает сетевое железо роутера. Максимально приоритетными задачами являются роутинг (поддержание работы протоколов динамической маршрутизации и наполнения таблиц форвардинга). Высокий pps ICMP так или иначе будет "резаться" CoPP - такие преднастройки имеет сейчас фактически каждый (даже домашний) маршрутизатор из коробки. Конечно поведение и преднастройки меняются от вендора к вендору и модели оборудования, но ICMP в приоритетах разделения процессорного времени современных моделей где-то "cнизу" уже долгое время (наверное как раз с тех времен, когда было можно еще сделать PingOfDead).

    Вероятно у Вас был в полку CPU из-за генерации большого количества логов FW, а не из-за ICMP:

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

    А количество обрабатываемых pps всяких разных пакетов (служебных) - это CoPP. И настройка в 20k pps для ICMP для "филиального" роутера - абсолютный overhead (предположу что это значение по умолчанию от вендора - а значит значимо влиять на CPU не должно было).

    В целом сдается мне, что дело не в ICMP как таковом, а каких-то настройках Алисы - почему у меня и десятков тысяч людей использующих любых провайдеров дома, в том числе и для Алисы - "проблем с ICMP" не возникло, где массовость? Вы снимали и раскуривали содержимое дампа?

    Заголовок статьи "желтит", тема не раскрыта)


  1. uhf
    05.10.2024 03:54

    Чувствуется некоторая недосказанность. Кого именно пинговала Алиса? Кто мог отвечать ей 20 тыс. пакетами? Это же самое интересное.


  1. nikolz
    05.10.2024 03:54
    +2

    До кучи, вот тут 3 года назад подобное и ответ яндекса:

    https://pikabu.ru/story/eshche_nemnogo_slezhki_ot_yandeksa_8168731?cid=198879924