Как стать автором
Обновить

Комментарии 32

НЛО прилетело и опубликовало эту надпись здесь

Не похоже на брутфорс, а просто проверка "дефолтных" паролей. Я уже давно забыл, что такое пароли в SSH, спасибо за экскурс в историю.

Спасибо, очень интересно. В детстве любил читать описания вирусов под DOS (aidsvir.txt), там тоже кто-то делал безвредную ерунду, кто-то лечил другие вирусы перед тем, как заразить собой, кто-то делал что-то реально вредное. Забавно, как через столько лет такое похожее поведение, но другим способом распространения.

off по-моему на Хабре была или статья или комментарий, в котором упоминалось, что "китайские хакеры" - это продвинутые пользователи, которые хотят на халяву сделать себе прокси/впн через великий файервол.

пару недель стоит с открытым 22 портом. Этого достаточно, чтобы его заметили и начали атаковать.

Шта? Несколько раз вывешивал 22 порт на белом IP — массированные атаки начинаются уже через несколько часов. А если IP хостера то уже через 20 минут у вас полный лог «любопытных».
Мой рекорд 2 минуты.

по возможности переносите SSH на нестандартный порт.

Практически бесполезно. Не спасает. Проверено.

Можно по вкусу добавить fail2ban.

А вот это гораздо эффективнее.

по возможности переносите SSH на нестандартный порт.
Практически бесполезно. Не спасает. Проверено.
Если переносить порт не на xx22, а на любой другой (например, 1995) — отлично спасает. Проверено.

PS: fail2ban против распределённого брутфорса через ботнет совершенно бесполезен. Тоже проверено.

Если переносить порт не на xx22, а на любой другой (например, 1995) — отлично спасает. Проверено.

Гм-м.. Возможно, меня не спасло потому, что я переносил 22-е порты как раз таки на xxx22.

Распределённый брутфорс ещё словить надо. У меня SSH на нестандартном порту xx22 и 443 (sslh), долбятся только так, некоторые присасываются на несколько суток, перебирая по паре логин-пароль каждую секунду. От таких fail2ban спасает просто отлично. А вот HTTP-сервер на стандартных портах, что интересно, уже практически не трогают.

P.S. Глянул конфиг, почему-то был разрешён доступ по паролю. Исправил этот момент. Буду смотреть, что будет дальше.
Распределённый брутфорс ловить не надо. Он сам вас поймает. У меня 4 сервера в разных странах и раньше на всех порт был сдвинут на xx22 — все сервера брутфорсили гигантским ботнетом. Подавить его удалось только с помощью связки iptables+ipset — в общей сумме было забанено порядка 40000 IP-адресов. А потом я на всех серверах поменял порт на другой — не на xx22. И всё. Уже года полтора как тишина и покой.

Можно использовать разрешающее правило для доверенных подсетей или адресов, а других лимитировать в одно подключение в минуту, например:

-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 тоже стоит, но до него не доходит, все брутфорсеры блокируются чёрным списком.

banaction = iptables-ipset-proto6-allports
Попробуйте для бана использовать ipset. 10к вообще не заметно, больше пока не нападали.

Обязательно опробую. Спасибо.

НЛО прилетело и опубликовало эту надпись здесь

Ведь есть же простое американское слово "mazafaka", зачем все эти изыски? )))

Ну либо испанское madre...

murderfucker

Просто суппер держать ssh открытым для всех
Кто отменял:
-- Доступ с определенных IP

динамические ипы клиентов

На Хабре было упоминание endlessh, тарпита, который заставляет подвешиваться атакующих.

На личном сервер у меня стоит такой и уже набралось 3 702 146 подключений (период времени, к сожалению, не подскажу, но уже достаточно давно, больше года). Часть отключаются за 10-30 секунд самостоятельно, но есть и упорные. Мой рекорд — удержание сессии 14656108.380 секунд (169 дней, 15 часов, 8 минут и 28 секунд).

UPD: Коммент отмечен удаленным, но поток бесполезной, но прикольной информации не остановить!
К нему еще надо установить вебсервер с gzip бомбой :)
тестовый сервер, оставил прокси сервер без пароля…
… случайно заметил в логах ошибки странные и пошел в более подробный лог

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

Я как то вот q-injection словил

Есть же 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 вообще с посылкой одного кодированного пакета.

Надо глянуть будет, интересно. Я только на микротах порткнокинг освоил.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий