URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 116899
[ Назад ]

Исходное сообщение
"Endlessh - фиктивный SSH-сервер для борьбы с перебором паролей"

Отправлено opennews , 23-Мрт-19 10:05 
Представлен (https://nullprogram.com/blog/2019/03/22/) проект Endlessh (https://github.com/skeeto/endlessh), в рамках которого подготовлен простой фиктивный SSH-сервер, который пытается максимально долго удерживать установленные соединения открытыми на начальной стадии подключения к SSH-серверу. Endlessh может использоваться для затруднения работы различных вредоносных систем, постоянно перебирающих пароли.

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


Для предотвращения обрыва соединения по таймауту используется особенность протокола SSH, который допускает отправку сервером произвольного числа строк с информацией о сервере до вывода строки "SSH-", сигнализирующей о начале обмена данными для аутентификации. После подключения к Endlessh он периодически  отправляет клиенту случайные строки без вывода приглашения "SSH-", что мешает удалённой стороне завершить соединение по таймауту. Таким образом соединение может оставаться открытым длительное время (несколько дней) и сеанс SSH-клиента оказывается заблокированным.


URL: https://nullprogram.com/blog/2019/03/22/
Новость: https://www.opennet.ru/opennews/art.shtml?num=50379


Содержание

Сообщения в этом обсуждении
"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:05 
trollssh

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Сргей Брин , 23-Мрт-19 10:05 
Интересная идея. Запустить 10 фиктивных копий и сиди, жди, пока сбрутят

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:22 
зачем 10?

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Слава КПСС , 23-Мрт-19 13:01 
Да, 10 маловато будет. N копий

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ivan1986 , 23-Мрт-19 13:45 
N мало, надо K

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено тов. майор , 23-Мрт-19 14:45 
Пусть число танков будет К. Нет, К — мало, возьмем М.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 14:51 
M+1

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено гадалка тётя маня , 23-Мрт-19 19:46 
65535 же

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Корец , 23-Мрт-19 14:14 
А смысл? Запускаешь одну копию и на неё перебрасываешь сразу несколько ненужных портов. Или все.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено аа , 23-Мрт-19 14:37 
Дак сканеры адаптируются да и все. Соединение не рвется 5 сек, игнорим порт, ну и идем сканить следующий порт. Рельаный порт особо защищенней не становится.
Хотя есть же системы которые дедектят скан портов и отрубают клиентв ообще?

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено mikhailnov , 23-Мрт-19 16:56 
Зато сканирование замедлится. Да, есть, например, fail2ban.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Your Mama , 24-Мрт-19 14:53 
CSF гораздо лучше. https://configserver.com/cp/csf.html

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Андрей , 24-Мрт-19 15:25 
> Соединение не рвется 5 сек, игнорим порт

Тогда нужна опция в OpenSSH на задержку соединения. Вот, например, 6 секунд. Тогда брутфорсерам придётся игнорить только после, скажем, 8 секунд. Иначе им будет вообще не достучаться. (Но в любом случае, как заметили выше, начнётся замедление этого непорядка, если присоединиться к этой акции.)


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 25-Мрт-19 01:09 
Зачем детектировать сканы портов? Какая сакральная цель этого упражнения? Security through obscurity? Проверить производительность фаерволла? Если факт наличия слушающего порта нужно скрыть, то явно что-то не так в концепции. Я допускаю сущуствование каких-то пограничных случаев, когда это может быть желательно или необходимо. Но как распространённая практика, на мой взгляд, это бессмысленная трата времени администраторов системы, потенциальный генератор проблем с доступностью ресурсов из-за ложных срабатываний, потенциальный источник проблем с безопасностью из-за ошибок в самом софте, ну и заодно бесцельный расход ресурсов оборудования.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Fedor , 23-Мрт-19 10:08 
Хорошая идея. Вот только мааааленькая проблема, для того чтобы занять 22 порт её нужно будет запустить с рут правами...

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:14 
Это совсем не проблема. Можно форкнуться и стать бичпользователем, как делают адекватные серверы. Хотя, конечно, не факт, что тут сделано нормально.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:28 
Не сделано.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:59 
А можно же и Capabilities
CAP_NET_BIND_SERVICE
Bind a socket to Internet domain privileged ports (port numbers less than 1024).

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено daemontux , 23-Мрт-19 10:16 
Это только для открытия сокета. Потом можно сбросить права

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Fedor , 23-Мрт-19 10:22 
Я о том же. Но в коде ничего такого нет.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Нанобот , 23-Мрт-19 10:31 
в systemd это не проблема:
DynamicUser=yes
AmbientCapabilities=CAP_NET_BIND_SERVICE

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 11:04 
EPETИК.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 11:05 
Это и без systemd не проблема. Надо только, чтобы ФС поддерживала расширенные атрибуты и метки безопасности.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено freehck , 23-Мрт-19 15:32 
В sysv это не проблема:
setcap cap_net_bind_service=+ep /usr/bin/endlessh
start-stop-daemon --start <...> --chuid nobody --exec /usr/bin/endlessh

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 22:21 
Увы, твои знания неактуальны для 2к19 года. Повсеместен именно systemd.

Это как рассказывать всем, как переводится этот текст на древнегреческий.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Michael Shigorin , 23-Мрт-19 22:44 
> Это как рассказывать всем, как переводится этот текст на древнегреческий.

Интересно, что Вы говорили про upstart, когда шляпа съехала на него.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 25-Мрт-19 01:22 
Что upstart не решает концептуальной проблемы инициализации системы и переход на него чуть менее, чем бессмысленен. Systemd — первый значительный шаг в нужном направлении. К сожалению, разработчики допустили много ошибок в общении с коммьюнити (в основном в том, как доносились идеи и цели проекта), но ситуация постепенно выравнивается, да и страсти наконец поутихли.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 25-Мрт-19 01:16 
setcap даёт cap_net_bind_service перманентно. В systemd привелегии даются динамически, при старте юнита. В определённых случаях эта разница может быть важна. В остальном, результат будет конечно же одинаковый — endlessh запущенный от nobody и слушающий порт 22.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено freehck , 26-Мрт-19 07:56 
> setcap даёт cap_net_bind_service перманентно <...>

Ну я на самом деле утрирую. Вещи типа DynamicUser и setcap -- им, безусловно, место в start-stop-daemon.

Впрочем, если бы кому-то было не всё равно на динамический uid или setcap -- давно бы всё там было.

Будем реалистами: Леннарт запилил это чисто для себя любимого.

Для сумневающихся, объясняю:


root@indexer01:/lib/systemd# find . -name \*.service  | wc -l
238
root@indexer01:/lib/systemd# grep -rin DynamicUser= .
./system/systemd-timesyncd.service:28:DynamicUser=yes
root@indexer01:/lib/systemd# grep -rin AmbientCapabilities= .
./system/systemd-resolved.service:30:AmbientCapabilities=CAP_SETPCAP CAP_NET_RAW CAP_NET_BIND_SERVICE
./system/systemd-networkd.service:29:AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
./system/systemd-timesyncd.service:30:AmbientCapabilities=CAP_SYS_TIME

Всё. Из 238 сервисов только 4 используют это. И те -- systemd-шные.

> В остальном, результат будет конечно же одинаковый — endlessh запущенный от nobody и слушающий порт 22.

Ну, вообще-то... DynamicUser и специальный юзер nobody -- это несколько разные вещи... Но в целом да, почти тот же фиг.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 02-Апр-19 08:43 
> start-stop-daemon <...>

Да вы, батенька, ретроград

#!/sbin/openrc-run

pidfile="/var/run/endlessh.pid"
command="/usr/bin/endlessh"
command_args="${ENDLESSH_OPTS}"
start_stop_daemon_args="--user nobody --make-pidfile --background"

depend() {
    need localmount net
    after bootmisc
}
# на счёт depend'а, мягко говоря, не уверен, не разбираюсь в этом


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено burik666 , 23-Мрт-19 10:33 
http://man7.org/linux/man-pages/man7/capabilities.7.html CAP_NET_BIND_SERVICE
Или с помощью iptables можно сделать REDIRECT

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:53 
Docker

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Михайло , 23-Мрт-19 11:35 
можно запустить на любом порте выше 1024 с обычными правами, например 9876 а через iptables сделать redirect:

    iptables -t nat -I PREROUTING -m tcp -p tcp --dport 1:79 -j DNAT --to-destination x.x.x.x:9876
    iptables -t nat -I PREROUTING -m tcp -p tcp --dport 81:442 -j DNAT --to-destination x.x.x.x:9876


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено FreeBDSM , 23-Мрт-19 11:59 
идея в том, чтобы сделать ханипот, а для этого надо работать именно на 22 порту

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Michael Shigorin , 23-Мрт-19 18:00 
>> а через iptables сделать redirect
> а для этого надо работать именно на 22 порту

а через iptables сделать redirect


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено вейланд , 23-Мрт-19 19:41 
Xinetd.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Урри , 25-Мрт-19 09:38 
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 12345

Выполнить один раз и запускай потом свой фейкссш от любого пользователя хоть обзапускайся.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Фноним , 23-Мрт-19 10:13 
Надо вывесить на 22 порту своих впсок, пусть балуются. s

Пусть брутфорс станет ещё более бесполезным и трудозатратным.
Пока он долбится в эту заглушку, ssh живёт на другом порту и по ключу)

С миру по нитке - каккеру петля :D


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 11:10 
На другом порту + Port Knocking

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено анон , 23-Мрт-19 11:29 
+TOTP RFC 6238

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:21 
Вообще, глупая затея. Быстро поправят сканеры.
Я подобным образом развлекался, в ответ на сканинг phpMyAdmina я вывод /dev/urandom посылал.
Так через несколько недель сканер перестал качать гигабайты :)

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:28 
Тоже когда-то ощутил китайских ботов у себя - заменил 403 и 404 на 200 с рандомом. Не уверен, сильно ли это повлияло, но они исчезли. Давно было правда

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Michael Shigorin , 23-Мрт-19 18:05 
> Тоже когда-то ощутил китайских ботов у себя - заменил 403 и 404
> на 200 с рандомом.

А я 402/204 кому-то возвращал...


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 21:17 
Надо было 418 возвращать. Пусть боты пытаются понять, что это значит.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ключевский , 23-Мрт-19 19:11 
У игрушечного веб-сервера Caddy есть прекрасный плагин nobots
https://github.com/Xumeiquer/nobots/blob/master/README.md

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 20:46 
> в ответ на сканинг phpMyAdmina я вывод /dev/urandom посылал.

Сколько времени ушло, чтобы загрузить все ядра на 100%?


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 10:23 
Отличная идея. Хотелось запустить, но не буду так как не хочу на другой порт перевешивать ssh

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено анон , 23-Мрт-19 11:30 
fail2ban+totp для вас.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Умная Маша , 23-Мрт-19 11:47 
А хорошая идея, запустить сабж на другом порту, и чтоб fail2ban вместо -j DROP добавлял -j DNAT --to-destination ... <побежала строчить пулреквест>

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено пох , 23-Мрт-19 11:53 
хмм... интересная идея, и тамада хороший. И blacklistd пуллреквестов не нать, он штатно такое может.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено EuPhobos , 23-Мрт-19 12:15 
Пулреквест на что? 0_о
Сабж умеет вешаться на любой порт, если хочется на порт <1024 - то стандартными средствами типа iptables Вам в помощь.
От сюда не понятен мне пулреквест.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ordu , 23-Мрт-19 16:48 
Пуллреквест в fail2ban, как я понимаю. Чтобы тот незаметно для внешнего взгляда перенаправлял фейлов на нестандартный порт, где висит endlessh.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено _ , 24-Мрт-19 20:53 
Дык всё равно не понятно ... прописать в fail2ban action ... и всё? Или я чего то не учёл?

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 10:19 
Отличная идея. просто blocktype нужно соответствующий прописать и будет всё работать само.
И порт менять не придется.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено пох , 23-Мрт-19 11:49 
это отличный способ самому себя зобанить побыстрому. А потом и с незабаненного ip не суметь подключиться, потому как T взять негде.

неплохо работал запрет insecure ssh (то бишь коннектов с unprivileged port), но пуссиэкзешники-разработчики совершенно не понимали в чем смысл этой технологии (ведь пуссиэкзе ее не умеет), поэтому в новых версиях openssh она уничтожена.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено YetAnotherOnanym , 23-Мрт-19 12:34 
> T взять негде

Ваш пост обижает сотрудников Всероссийского НИИ Физико-технических и радиотехнических измерений.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Michael Shigorin , 23-Мрт-19 18:06 
> не хочу на другой порт перевешивать ssh

А зря, это в любом разе хорошая идея, даже если авторизуете только по ключам: кратно меньше спама в логах.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 18:15 
По ключам не авторизуют, а аутентифицируют, всезнающий ты наш.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Анонимус2 , 28-Мрт-19 20:23 
И авторизуют тоже

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено бублички , 23-Мрт-19 13:03 
и потом вдруг, на пике популярности, внезапно обнаружится наличие утечек чувствительной информации в этих вот случайных строках. никогда ещё такого не было и вот вдруг опять

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 13:40 
Подумал о том же. Надо поглядеть, откуда он "черпает рандом".

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ordu , 23-Мрт-19 16:45 
static int
randline(char *line, int maxlen, unsigned long s[1])
{
    int len = 3 + rand16(s) % (maxlen - 2);
    for (int i = 0; i < len - 2; i++)
        line[i] = 32 + rand16(s) % 95;
    line[len - 2] = 13;
    line[len - 1] = 10;
    if (memcmp(line, "SSH-", 4) == 0)
        line[0] = 'X';
    return len;
}

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Антонидас , 23-Мрт-19 13:15 
Не совсем понятно зачем это нужно, если в нетфильтре есть TARPIT?

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 14:16 
tarpit уровнем ниже работает. да и то только против ламерских ботов -- на уровне протокола намного эфективнее

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 13:42 
Какие няши. На первое апреля пойдёт.
Есть вариант, что брутоделы быстро адаптируютя.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено tonys , 23-Мрт-19 13:46 
kippo лучше устроен. У кул-хацкеров появляется иллюзия успешного взлома и повышается ЧСВ.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено имя , 25-Мрт-19 15:34 
kippo ж давно заброшен в пользу форка cowrie

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Stax , 23-Мрт-19 14:04 
Так а чем (в плане решения проблемы) плох fail2ban?.. Работает же, вроде эффективный...

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено бублички , 23-Мрт-19 14:08 
плох тем, что новость не о нём

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено angra , 23-Мрт-19 17:52 
Эффективный он только пока к тебе ломятся с десятка хостов, а вот когда счет идет на тысячи вреда от fail2ban больше, чем пользы. Хотя сабж в этом случае тем более не нужен.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ключевский , 23-Мрт-19 19:13 
Да ладно, а мужики-то не знают. fail2ban+ipset и твои тысячи хостов курят в коридоре.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено DiabloPC , 23-Мрт-19 19:28 
Нука-нука
А поподробнее можно?
Есть какое-то вменяемое руководство по настройке??

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ключевский , 23-Мрт-19 20:36 
> Нука-нука
> А поподробнее можно?
> Есть какое-то вменяемое руководство по настройке??

Открываешь jail.local, находишь там строчки с banaction и banaction_allports, меняешь с iptables-что-то там на
banaction = iptables-ipset-proto6
banaction_allports = iptables-ipset-proto6-allports

Ну да, не забудь доставить ipset, если он у тебя не стоит. Все давно работает из коробки, просто по дефолту, не знаю уж почему, правило для iptables врублено.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 23-Мрт-19 14:14 
идее 100 лет в обед. в том же постфикс давно завезли sleep, чтобы спамеры страдали.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ivan_83 , 23-Мрт-19 18:43 
Идиотия.
Самый простой способ борьбы с переборщиками пароля - поставить длинный RSA host key, хотя бы 16к. Тогда у того кто подключается придётся нехило напрячь проц чтобы его обработать. А раз уж мы держим фейковый сервер то нам после отдачи такого ключа можно больше вообще ничего не делать, только кипаливы слать или по одному байту в 10 секунд из рандома.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено пох , 23-Мрт-19 19:21 
> Тогда у того кто подключается придётся нехило напрячь проц

это не их проц, это проц того, кому пароль уже подобрали, им его не жаль совсем.

а вот пока он с тебя байты coceт в час по чайной ложечке - он и тебе в лог не мусорит, и на других позже перейдет.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ivan_83 , 23-Мрт-19 20:00 
Может хоть так тот кого ломанули как то заметит и начнёт лечение.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено админ локалхоста , 24-Мрт-19 01:00 
> Может хоть так тот кого ломанули как то заметит и начнёт лечение.

Не начнет. В лучшем случае перезагрузит свой ролтор, потому что "интернет тормозит".


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ключевский , 24-Мрт-19 19:31 
Самый простой способ борьбы с переборщиками паролей
PasswordAuthentication no
в твоем /etc/ssh/sshd_config и fail2ban который банит за первое же обращение. Использование пароля для ssh — признак чайника, при чем чайника тупого и агрессивного.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 20:10 
Ловко ты мазанул разработчиков разных ssh.

Утешает, что на этом форуме не тупые и агрессивные чайники с мировыми именами, вроде них, а такие славные никому не известные парни, как ты.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ддд , 24-Мрт-19 10:09 
... в ответ этот псевдосервер бесконечно посылает текст песни «Золотая чаша, золотая» не давая нападающему вырваться

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 12:14 
Удачи проекту и развития. Например, признаваться удалённому коннекту, что ты - OpenSSH такой версии, которая имеет незакрытые CVE и готовые эксплойты. Если там - всего лишь человек, то просто не давать залогиниться, называя неправильными все пароли и все ключи. А если хакер, то при попытке воспользоваться эксплойтом хакнуть его самого, узнать реальный IP и отправить запрос в ФБР

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено бублички , 25-Мрт-19 05:17 
> при попытке воспользоваться эксплойтом хакнуть его самого, узнать реальный IP и отправить запрос в ФБР

ты ещё бабушке пожалуйся


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Xasd5 , 24-Мрт-19 13:34 
> Для предотвращения обрыва соединения по таймауту используется особенность протокола SSH, который допускает отправку сервером произвольного числа строк с информацией о сервере до вывода строки "SSH-"

надеюсь во всех ssh-клиентах и клиентских библиотеках -- этот баг пофикшен..

быть ведь такого не может чтобы строка бесконечного размера (и времени) приходила бы в момент рукопожатия/авторизации. (и для случая от сервера к клиенту, и для случая от клиента к серверу)


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 20:17 
Не надейся, это часть стандарта, о чём говорил автор в пресс релизе.
Там же говорилось, что можно слать любой мусор, кроме собственно строки "SSH-".
Пока не сработает какой-либо таймаут на транспортном уровне.
Автор придумал добавить атаку slow clients прямо на сервер.
Интересно, что из этого выйдет.



"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 17:57 
Эта фигня обходится на раз. Кроме того, требует "нестандартной" конфигурации, что уже идёт вразрез с идеей стандартов.

Куда практичнее просто делать проверку: ошибка авторизации? Погоди чуток, секунд 5-10, потом отправляй ответ. Таким образом не пострадают легальные юзеры. Разумеется, 5 фэйлов с одного IP банятся нещадно - очевидный признак перебора. А таких IP у "хацкеров" не так уж много, особенно если через пару минут натравить аналитику и забанить сразу всю подсеть.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ordu , 24-Мрт-19 18:56 
> Кроме того, требует "нестандартной" конфигурации, что уже идёт вразрез с идеей стандартов.

Стандарты нужны для того, чтобы их можно было бы нарушать. Скажем пускать на 22 порт только того, кто сначала постучался на порт 1354, затем на 9999, затем на 1001 и только после этого на 22. Причём именно в этом порядке. Всем остальным говорить, что на 22 порту нет ничего, так же как и на всех остальных. Совершенно вразрез со всеми стандартами, зато фига с два кто оставит хоть одну failed авторизацию в логах.

Security through obscurity отлично работает против ботов. Если конечно, ты свои запутанные идеи не ставишь на поток и не превращаешь в стандарт. Как только ты такое решение сделаешь стандартом, так сразу оно прекратит работать.

> А таких IP у "хацкеров" не так уж много, особенно если через пару минут натравить аналитику и забанить сразу всю подсеть.

Офигенный способ вырубать подсети, достаточно поиметь один роутер там, и -- хоп -- минус подсеть. Лет 20-25 назад я бы таким занялся с громадным удовольствием. Сутками бы сидел, и выключал бы подсетки. Сейчас, правда, сломать что-нибудь ради удовольствия сломать, по-моему, не популярное развлечение в среде молодёжи. 20 лет назад дефейс сайта ради удовольствия написать "здесь был вася" крупными буквами, было нормальным, постоянно люди этим занимались. А сейчас я не вижу такого. Хотя, может быть, дело лишь в том, что я не смотрю. Давненько я не шарился по детским хакерским форумам.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Michael Shigorin , 24-Мрт-19 19:34 
> А сейчас я не вижу такого.

Давно коммерциализировано.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено x3who , 25-Мрт-19 03:09 
> Офигенный способ вырубать подсети, достаточно поиметь один роутер там, и -- хоп -- минус подсеть.

Всё просто - сканируешь порты по адресу брутфорсера, заходишь на найденное по http. Идентифицируешь устройство или сервер (часто это как раз роутер). Гуглишь дефолтный пароль. Всё. Ботнет почему-то не меняет пароли после захвата устройств (ну я не так много их проверил, но все, что попадались - там 100% рабочий дефолтный пароль был).

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


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним84701 , 25-Мрт-19 16:11 
> вдруг там человеку, например, скорую нужно срочно вызвать, а роутер у него был единственной связью с миром.

Учитывая перевод телефонной сети на чистый VoIP (когда в выдаваемый клиенту роутер встраиваются подключалка-адаптер для аналогового телефона, а "унутрях" оно теперь работает через SIP-клиент) -- это уже давно совсем не экзотическая редкость, а реальность. Как минимум, для пары десятков миллионов человек.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 25-Мрт-19 10:46 
>20 лет назад дефейс сайта ради удовольствия написать "здесь был вася" крупными буквами, было нормальным, постоянно люди этим занимались. А сейчас я не вижу такого.

Написать "Здесь был Вася" крупными буквами мешает ст. 272 УК?


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Ordu , 25-Мрт-19 18:54 
>>20 лет назад дефейс сайта ради удовольствия написать "здесь был вася" крупными буквами, было нормальным, постоянно люди этим занимались. А сейчас я не вижу такого.
> Написать "Здесь был Вася" крупными буквами мешает ст. 272 УК?

Может быть. Откуда я знаю? Двадцать лет назад она не мешала никому. Может быть сейчас мешает.


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 24-Мрт-19 21:34 
я как-то для нгинкса сделал искалку ботов, которые заходят на мой гносайт. за месяц сдетектил около 5000 ип адресов и это я даже не старался их вычислять по особо по явным следам типа запроса урла без единой картинки. в общем, нужно их банить, а не коннект подольше. а еще лучше сделать единую базу данных с серверами куда попадая ип адреса будут жить сутки. бот только пернул неправильно и улетел в бан в трети инторнетов, меняй ип адрес.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено psv , 25-Мрт-19 12:52 
Ну и выкупят просто держателя этого "списка" спамеры, как только этот "список" начнут массово использовать.

Так например стало с емайл базой ботов. Мы поставив обычный деадмх первым в днс получили в грейлисте последующем несколько сот тысяч ип новых ботов в месяц (падение спама было процента 3 в месяц). Все эти блокировки автоматом попадали в блеклист для почтовиков ...

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


"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 26-Мрт-19 01:23 
я чет не понял как спамерам поможет этот офигенный список ипшников со спамо ботами и почему он должен быть обязательно централизованным для последующей его продажи. я просто намекаю на то, что несколько крупных компаний могут создать консорциум по борьбе с говном в интернете и обмениваться данными только между собой + публиковать списки для всех. получится автоматизированный ркн, но абсолютно бесплатный не за бюджетные деньги и действительно борющийся с говном в интернетах.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 25-Мрт-19 10:07 
В свое время написал для подобных целей программку: https://github.com/ertaquo/port2ban . Тупо банит в iptables всех, кто лезет на определенные порты. Периодически по крону баны чищу и доволен.

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 25-Мрт-19 21:26 
Засуну ка ее в контейнер

"Endlessh - фиктивный SSH-сервер для борьбы с перебором парол..."
Отправлено Аноним , 26-Мрт-19 18:18 
имх, самый простой способ борьбы с брутфорсом это ipset и фаервол и fail2ban особенно не нужен, просто блок на час, чтоб успокоился ))
статистика iptables:

[117756:6898429] -A INPUT -m set --match-set net_drop src,dst -j DROP

в net_drop по cron-у сливается файлик из https://lists.blocklist.de/lists/ssh.txt (главное в скрипте не забыть проверять, чтоб свои ip-ки не забанить :) ).

[132415:7902908] -A SSH -p tcp -m recent --update --seconds 3600 --hitcount 1 --name SSH --mask 255.255.255.255 --rsource -j DROP

[22534:1251425] -A SSH -p tcp -m recent --set --name SSH --mask 255.255.255.255 --rsource

[22534:1251425] -A SSH -j ACCEPT

минус такого подхода, что себя ограничиваешь, но к нему привыкаешь )