Про интернет от киевстара
Mar. 27th, 2026 11:32 amС машиной, ssh порт которой смотрит в публичный интернет, бывают неприятные особенности - туда ломятся и начинают подбирать пароли по словарю. Нестандартный порт спасает, ненадолго, у нас его за несколько лет нашли, например. В какой-то момент ломящихся становится много, каждую секунду идет 5..10 попыток ввода пароля. Банить ip-аддреса бесполезно, они очень быстро меняются. Я в итоге банил даже /8 подсети, таких подсетей забанил штук 50. Это улучшило ситуацию, но полностью не спасло.
И вот узнал я, что есть port knocking. Выглядит это так, что запускается демон knockd и если ему в течении сконфигурированного времени (10..30сек) на заданные порты придут пакеты, это воспринимается как стук в дверь, и он добавляет src-аддрес в iptables. После этого можно с этого ip-аддреса заходить по ssh. А всем остальным (кроме белого списка, разумеется) - бан.
Настроил, проверил - работает. Ну а как проверить? Через 4g сотового оператора. Через какое-то время думаю - дай ка еще раз проверю. Проверяю - не работает. Начинаю копать. Выясняется: киевстар каждое новое tcp-соединение начал делать с разных ip-аддресов. Пакеты на нужные порты приходят - адрес источника у них у всех разный. Так происходит у киевстара не всегда. Например, сегодня адрес источника меняется реже, но все равно меняется.
Ну то есть - раз так сделал киевстар, значит и любой другой говнопровайдер может так сделать. Таким образом, port knocking выглядит красиво, но работать будет не стабильно.
ИИ предлагает fwknop. Это другая технология, в ней 1 пакет с зашифрованной информацией открывает порт ssh во внешний мир на какое-то небольшое время.
И вот узнал я, что есть port knocking. Выглядит это так, что запускается демон knockd и если ему в течении сконфигурированного времени (10..30сек) на заданные порты придут пакеты, это воспринимается как стук в дверь, и он добавляет src-аддрес в iptables. После этого можно с этого ip-аддреса заходить по ssh. А всем остальным (кроме белого списка, разумеется) - бан.
Настроил, проверил - работает. Ну а как проверить? Через 4g сотового оператора. Через какое-то время думаю - дай ка еще раз проверю. Проверяю - не работает. Начинаю копать. Выясняется: киевстар каждое новое tcp-соединение начал делать с разных ip-аддресов. Пакеты на нужные порты приходят - адрес источника у них у всех разный. Так происходит у киевстара не всегда. Например, сегодня адрес источника меняется реже, но все равно меняется.
Ну то есть - раз так сделал киевстар, значит и любой другой говнопровайдер может так сделать. Таким образом, port knocking выглядит красиво, но работать будет не стабильно.
ИИ предлагает fwknop. Это другая технология, в ней 1 пакет с зашифрованной информацией открывает порт ssh во внешний мир на какое-то небольшое время.