Comments 32
Не похоже на брутфорс, а просто проверка "дефолтных" паролей. Я уже давно забыл, что такое пароли в SSH, спасибо за экскурс в историю.
Спасибо, очень интересно. В детстве любил читать описания вирусов под DOS (aidsvir.txt), там тоже кто-то делал безвредную ерунду, кто-то лечил другие вирусы перед тем, как заразить собой, кто-то делал что-то реально вредное. Забавно, как через столько лет такое похожее поведение, но другим способом распространения.
off по-моему на Хабре была или статья или комментарий, в котором упоминалось, что "китайские хакеры" - это продвинутые пользователи, которые хотят на халяву сделать себе прокси/впн через великий файервол.
пару недель стоит с открытым 22 портом. Этого достаточно, чтобы его заметили и начали атаковать.
Шта? Несколько раз вывешивал 22 порт на белом IP — массированные атаки начинаются уже через несколько часов. А если IP хостера то уже через 20 минут у вас полный лог «любопытных».
по возможности переносите SSH на нестандартный порт.
Практически бесполезно. Не спасает. Проверено.
Можно по вкусу добавить fail2ban.
А вот это гораздо эффективнее.
Если переносить порт не на xx22, а на любой другой (например, 1995) — отлично спасает. Проверено.по возможности переносите SSH на нестандартный порт.Практически бесполезно. Не спасает. Проверено.
PS: fail2ban против распределённого брутфорса через ботнет совершенно бесполезен. Тоже проверено.
Если переносить порт не на xx22, а на любой другой (например, 1995) — отлично спасает. Проверено.
Гм-м.. Возможно, меня не спасло потому, что я переносил 22-е порты как раз таки на xxx22.
P.S. Глянул конфиг, почему-то был разрешён доступ по паролю. Исправил этот момент. Буду смотреть, что будет дальше.
Можно использовать разрешающее правило для доверенных подсетей или адресов, а других лимитировать в одно подключение в минуту, например:
-A INPUT -s x.x.x.x/x --dport 22 -j ACCEPT
-A INPUT --dport 22 -m limit --limit 1/min --limit-burst 1 -j ACCEPT
Способ хорошо работает совместно с нестандартным портом и fail2ban
На некоторых объемах fail2ban`у несколько плохеет. Собственно проблема даже не в нем а в iptables, фильтрация списками в несколько десятков тысяч адресов, видимо, очень затратна.
Странно, у меня в iptables стоит добавление в чёрный список на неделю всех, кто стучится на закрытые порты, десятки тысяч адресов, проблем нет. Fail2ban тоже стоит, но до него не доходит, все брутфорсеры блокируются чёрным списком.
Попробуйте для бана использовать ipset. 10к вообще не заметно, больше пока не нападали.
Просто суппер держать ssh открытым для всех
Кто отменял:
-- Доступ с определенных IP
del
На личном сервер у меня стоит такой и уже набралось 3 702 146 подключений (период времени, к сожалению, не подскажу, но уже достаточно давно, больше года). Часть отключаются за 10-30 секунд самостоятельно, но есть и упорные. Мой рекорд — удержание сессии 14656108.380 секунд (169 дней, 15 часов, 8 минут и 28 секунд).
UPD: Коммент отмечен удаленным, но поток бесполезной, но прикольной информации не остановить!
… случайно заметил в логах ошибки странные и пошел в более подробный лог
application/json
1626430994.449 283 62.113.119.91 TCP_MISS/200 395 GET api.steampowered.com/IPlayerService/GetOwnedGames/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430994.624 320 185.209.31.239 TCP_MISS/200 447 GET api.steampowered.com/IPlayerService/GetSteamLevel/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430994.702 391 80.85.140.27 TCP_MISS/200 495 GET api.steampowered.com/ISteamUser/GetPlayerBans/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430994.707 1092 116.202.162.213 TCP_TUNNEL/200 4350 CONNECT steamcommunity.com:443 — HIER_DIRECT/92.122.104.90 — 1626430994.723 337 176.113.80.223 TCP_MISS/200 395 GET api.steampowered.com/IPlayerService/GetOwnedGames/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430994.801 282 194.87.234.35 TCP_MISS/200 447 GET api.steampowered.com/IPlayerService/GetSteamLevel/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430994.837 430 193.124.131.53 TCP_MISS/200 591 GET api.steampowered.com/ISteamUser/GetFriendList/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430994.911 2790 157.90.19.174 TCP_TUNNEL/200 3694 CONNECT www.bitcoinpenguin.com:443 — HIER_DIRECT/104.18.31.133 — 1626430995.025 656 185.87.49.162 TCP_MISS/200 2017 GET api.steampowered.com/ISteamUser/GetFriendList/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430995.060 379 176.113.80.223 TCP_MISS/200 495 GET api.steampowered.com/ISteamUser/GetPlayerBans/v1? — HIER_DIRECT/92.122.104.90 application/json
1626430995.083 936 176.113.80.223 TCP_MISS/200 686 GET api.steampowered.com/ISteamUser/GetPlayerSummaries/v2? — HIER_DIRECT/92.122.104.90 application/json
Есть же ssh honeypot [cowrie](https://github.com/cowrie/cowrie), который еще и сочетается с smtp honeypot [mailoney](https://github.com/awhitehatter/mailoney). В свое время были разные сценарии после подбора: кто-то пытался запустить майнер, кто-то просто удалял все данные, а кто-то пытался использовать как прокси к публичным smtp-серверам для рассылки спама. Настраивал редирект на локальный smtp-honeypot, смторел что шлют и куда. Заоодно хорошее дело - спамер думает что письма отправлены и потенциально будет меньше слать.
Интересно, а можно сделать порткнокинг? Особенно если многоуровневый. Создать вайтлист, куда кидается белый список тех, кто отправил на определенный порт последовательность или просто пакет определенной длины, да просто пинг с длиной пакета. Остальным доступ на все управляющие порты закрыт. Кто пытается перебирать последовательности в замок-порт - сразу в бан. Сидите, смотрите сайт.
Можно, конечно. Порт открывается после отправки определенной последовательности пакетов на порты. Можно сочетать разные протоколы (TCP, UDP, ICMP). Делается через iptables. Есть надстройка над iptables csf, которая позволяет делать такое одной строкой в конфиге. Можно последовательной посылкой пингов с разной длиной пакета. Можно сочетать с предыдущим способом. Это все через iptables, простого способа не знаю. Есть очень интересный проект fwknop вообще с посылкой одного кодированного пакета.
Самый широко используемый способ, это создание словарей на основе сливов взломов популярных сайтов. Люди как правило используют один и тот же пароль везде
Et tu, Brute? Что хотят от нас брутфорсеры?