The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

23.03.2019 10:01

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

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

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

  1. Главная ссылка к новости (https://nullprogram.com/blog/2...)
  2. OpenNews: Уязвимость в OpenSSH, позволяющая определить наличие пользователей
  3. OpenNews: Выпуск сканера сетевой безопасности Nmap 7.70
  4. OpenNews: Обход защиты OpenSSH, препятствующей определению наличия пользователя
  5. OpenNews: Уязвимость, позволяющая обойти защиту от BruteForce-атак в OpenSSH
  6. OpenNews: Зафиксирована новая ботнет-сеть, распространяющаяся через подбор паролей по SSH
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50379-ssh
Ключевые слова: ssh, bruteforce
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (98) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:05, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +63 +/
    trollssh
     
  • 1.2, Сргей Брин (?), 10:05, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересная идея. Запустить 10 фиктивных копий и сиди, жди, пока сбрутят
     
     
  • 2.8, Аноним (8), 10:22, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    зачем 10?
     
     
  • 3.29, Слава КПСС (?), 13:01, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, 10 маловато будет. N копий
     
     
  • 4.34, Ivan1986 (?), 13:45, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +12 +/
    N мало, надо K
     
     
  • 5.42, тов. майор (?), 14:45, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Пусть число танков будет К. Нет, К — мало, возьмем М.
     
     
  • 6.43, Аноним (43), 14:51, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    M+1
     
  • 4.58, гадалка тётя маня (?), 19:46, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    65535 же
     
  • 2.38, Корец (?), 14:14, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А смысл? Запускаешь одну копию и на неё перебрасываешь сразу несколько ненужных портов. Или все.
     
  • 2.41, аа (?), 14:37, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дак сканеры адаптируются да и все. Соединение не рвется 5 сек, игнорим порт, ну и идем сканить следующий порт. Рельаный порт особо защищенней не становится.
    Хотя есть же системы которые дедектят скан портов и отрубают клиентв ообще?
     
     
  • 3.47, mikhailnov (ok), 16:56, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зато сканирование замедлится. Да, есть, например, fail2ban.
     
     
  • 4.70, Your Mama (?), 14:53, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    CSF гораздо лучше. https://configserver.com/cp/csf.html
     
  • 3.71, Андрей (??), 15:25, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Соединение не рвется 5 сек, игнорим порт

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

     
  • 3.86, Аноним (86), 01:09, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зачем детектировать сканы портов? Какая сакральная цель этого упражнения? Security through obscurity? Проверить производительность фаерволла? Если факт наличия слушающего порта нужно скрыть, то явно что-то не так в концепции. Я допускаю сущуствование каких-то пограничных случаев, когда это может быть желательно или необходимо. Но как распространённая практика, на мой взгляд, это бессмысленная трата времени администраторов системы, потенциальный генератор проблем с доступностью ресурсов из-за ложных срабатываний, потенциальный источник проблем с безопасностью из-за ошибок в самом софте, ну и заодно бесцельный расход ресурсов оборудования.
     

  • 1.3, Fedor (??), 10:08, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хорошая идея. Вот только мааааленькая проблема, для того чтобы занять 22 порт её нужно будет запустить с рут правами...
     
     
  • 2.5, Аноним (5), 10:14, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Это совсем не проблема. Можно форкнуться и стать бичпользователем, как делают адекватные серверы. Хотя, конечно, не факт, что тут сделано нормально.
     
     
  • 3.11, Аноним (11), 10:28, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не сделано.
     
  • 3.16, Аноним (16), 10:59, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А можно же и Capabilities
    CAP_NET_BIND_SERVICE
    Bind a socket to Internet domain privileged ports (port numbers less than 1024).
     
  • 2.6, daemontux (?), 10:16, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это только для открытия сокета. Потом можно сбросить права
     
     
  • 3.9, Fedor (??), 10:22, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я о том же. Но в коде ничего такого нет.
     
  • 2.13, Нанобот (ok), 10:31, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    в systemd это не проблема:
    DynamicUser=yes
    AmbientCapabilities=CAP_NET_BIND_SERVICE
     
     
  • 3.17, Аноним (11), 11:04, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    EPETИК.
     
  • 3.18, Аноним (16), 11:05, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это и без systemd не проблема. Надо только, чтобы ФС поддерживала расширенные атрибуты и метки безопасности.
     
  • 3.44, freehck (ok), 15:32, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +14 +/
    В sysv это не проблема:
    setcap cap_net_bind_service=+ep /usr/bin/endlessh
    start-stop-daemon --start <...> --chuid nobody --exec /usr/bin/endlessh
     
     
  • 4.63, Аноним (63), 22:21, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Увы, твои знания неактуальны для 2к19 года. Повсеместен именно systemd.

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

     
     
  • 5.64, Michael Shigorin (ok), 22:44, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Это как рассказывать всем, как переводится этот текст на древнегреческий.

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

     
     
  • 6.88, Аноним (86), 01:22, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что upstart не решает концептуальной проблемы инициализации системы и переход на него чуть менее, чем бессмысленен. Systemd — первый значительный шаг в нужном направлении. К сожалению, разработчики допустили много ошибок в общении с коммьюнити (в основном в том, как доносились идеи и цели проекта), но ситуация постепенно выравнивается, да и страсти наконец поутихли.
     
  • 4.87, Аноним (86), 01:16, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    setcap даёт cap_net_bind_service перманентно. В systemd привелегии даются динамически, при старте юнита. В определённых случаях эта разница может быть важна. В остальном, результат будет конечно же одинаковый — endlessh запущенный от nobody и слушающий порт 22.
     
     
  • 5.101, freehck (ok), 07:56, 26/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я на самом деле утрирую Вещи типа DynamicUser и setcap -- им, безусловно, ме... большой текст свёрнут, показать
     
  • 4.104, Аноним (104), 08:43, 02/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > 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'а, мягко говоря, не уверен, не разбираюсь в этом

     
  • 2.14, burik666 (ok), 10:33, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +9 +/
    http://man7.org/linux/man-pages/man7/capabilities.7.html CAP_NET_BIND_SERVICE
    Или с помощью iptables можно сделать REDIRECT
     
  • 2.15, Аноним (15), 10:53, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Docker
     
  • 2.22, Михайло (??), 11:35, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    можно запустить на любом порте выше 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

     
     
  • 3.26, FreeBDSM (?), 11:59, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –8 +/
    идея в том, чтобы сделать ханипот, а для этого надо работать именно на 22 порту
     
     
  • 4.49, Michael Shigorin (ok), 18:00, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> а через iptables сделать redirect
    > а для этого надо работать именно на 22 порту

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

     
  • 2.57, вейланд (?), 19:41, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Xinetd.
     
  • 2.91, Урри (?), 09:38, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    $ sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 12345

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

     

  • 1.4, Фноним (?), 10:13, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо вывесить на 22 порту своих впсок, пусть балуются. s

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

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

     
     
  • 2.19, Аноним (16), 11:10, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На другом порту + Port Knocking
     
     
  • 3.20, анон (?), 11:29, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    +TOTP RFC 6238
     

  • 1.7, Аноним (7), 10:21, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вообще, глупая затея. Быстро поправят сканеры.
    Я подобным образом развлекался, в ответ на сканинг phpMyAdmina я вывод /dev/urandom посылал.
    Так через несколько недель сканер перестал качать гигабайты :)
     
     
  • 2.12, Аноним (1), 10:28, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже когда-то ощутил китайских ботов у себя - заменил 403 и 404 на 200 с рандомом. Не уверен, сильно ли это повлияло, но они исчезли. Давно было правда
     
     
  • 3.50, Michael Shigorin (ok), 18:05, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Тоже когда-то ощутил китайских ботов у себя - заменил 403 и 404
    > на 200 с рандомом.

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

     
     
  • 4.62, Аноним (62), 21:17, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Надо было 418 возвращать. Пусть боты пытаются понять, что это значит.
     
  • 3.53, Ключевский (?), 19:11, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    У игрушечного веб-сервера Caddy есть прекрасный плагин nobots
    https://github.com/Xumeiquer/nobots/blob/master/README.md
     
  • 2.61, Аноним (61), 20:46, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > в ответ на сканинг phpMyAdmina я вывод /dev/urandom посылал.

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

     

  • 1.10, Аноним (8), 10:23, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отличная идея. Хотелось запустить, но не буду так как не хочу на другой порт перевешивать ssh
     
     
  • 2.21, анон (?), 11:30, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    fail2ban+totp для вас.
     
     
  • 3.23, Умная Маша (?), 11:47, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А хорошая идея, запустить сабж на другом порту, и чтоб fail2ban вместо -j DROP добавлял -j DNAT --to-destination ... <побежала строчить пулреквест>
     
     
  • 4.25, пох (?), 11:53, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    хмм... интересная идея, и тамада хороший. И blacklistd пуллреквестов не нать, он штатно такое может.
     
  • 4.27, EuPhobos (ok), 12:15, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пулреквест на что? 0_о
    Сабж умеет вешаться на любой порт, если хочется на порт <1024 - то стандартными средствами типа iptables Вам в помощь.
    От сюда не понятен мне пулреквест.
     
     
  • 5.46, Ordu (ok), 16:48, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Пуллреквест в fail2ban, как я понимаю. Чтобы тот незаметно для внешнего взгляда перенаправлял фейлов на нестандартный порт, где висит endlessh.
     
     
  • 6.80, _ (??), 20:53, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Дык всё равно не понятно ... прописать в fail2ban action ... и всё? Или я чего то не учёл?
     
  • 4.67, Аноним (8), 10:19, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Отличная идея. просто blocktype нужно соответствующий прописать и будет всё работать само.
    И порт менять не придется.
     
  • 3.24, пох (?), 11:49, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это отличный способ самому себя зобанить побыстрому. А потом и с незабаненного ip не суметь подключиться, потому как T взять негде.

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

     
     
  • 4.28, YetAnotherOnanym (ok), 12:34, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > T взять негде

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

     
  • 2.51, Michael Shigorin (ok), 18:06, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > не хочу на другой порт перевешивать ssh

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

     
     
  • 3.73, Аноним (61), 18:15, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По ключам не авторизуют, а аутентифицируют, всезнающий ты наш.
     
     
  • 4.103, Анонимус2 (?), 20:23, 28/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И авторизуют тоже
     

  • 1.30, бублички (?), 13:03, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    и потом вдруг, на пике популярности, внезапно обнаружится наличие утечек чувствительной информации в этих вот случайных строках. никогда ещё такого не было и вот вдруг опять
     
     
  • 2.32, Аноним (32), 13:40, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Подумал о том же. Надо поглядеть, откуда он "черпает рандом".
     
  • 2.45, Ordu (ok), 16:45, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    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;
    }
     

  • 1.31, Антонидас (?), 13:15, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не совсем понятно зачем это нужно, если в нетфильтре есть TARPIT?
     
     
  • 2.40, Аноним (40), 14:16, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    tarpit уровнем ниже работает. да и то только против ламерских ботов -- на уровне протокола намного эфективнее
     

  • 1.33, Аноним (32), 13:42, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Какие няши. На первое апреля пойдёт.
    Есть вариант, что брутоделы быстро адаптируютя.
     
  • 1.35, tonys (??), 13:46, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    kippo лучше устроен. У кул-хацкеров появляется иллюзия успешного взлома и повышается ЧСВ.
     
     
  • 2.96, имя (?), 15:34, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    kippo ж давно заброшен в пользу форка cowrie
     

  • 1.36, Stax (ok), 14:04, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так а чем (в плане решения проблемы) плох fail2ban?.. Работает же, вроде эффективный...
     
     
  • 2.37, бублички (?), 14:08, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    плох тем, что новость не о нём
     
  • 2.48, angra (ok), 17:52, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Эффективный он только пока к тебе ломятся с десятка хостов, а вот когда счет идет на тысячи вреда от fail2ban больше, чем пользы. Хотя сабж в этом случае тем более не нужен.
     
     
  • 3.54, Ключевский (?), 19:13, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да ладно, а мужики-то не знают. fail2ban+ipset и твои тысячи хостов курят в коридоре.
     
     
  • 4.56, DiabloPC (ok), 19:28, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нука-нука
    А поподробнее можно?
    Есть какое-то вменяемое руководство по настройке??
     
     
  • 5.60, Ключевский (?), 20:36, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Нука-нука
    > А поподробнее можно?
    > Есть какое-то вменяемое руководство по настройке??

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

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

     

  • 1.39, Аноним (40), 14:14, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    идее 100 лет в обед. в том же постфикс давно завезли sleep, чтобы спамеры страдали.
     
  • 1.52, Ivan_83 (ok), 18:43, 23/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Идиотия.
    Самый простой способ борьбы с переборщиками пароля - поставить длинный RSA host key, хотя бы 16к. Тогда у того кто подключается придётся нехило напрячь проц чтобы его обработать. А раз уж мы держим фейковый сервер то нам после отдачи такого ключа можно больше вообще ничего не делать, только кипаливы слать или по одному байту в 10 секунд из рандома.
     
     
  • 2.55, пох (?), 19:21, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тогда у того кто подключается придётся нехило напрячь проц

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

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

     
     
  • 3.59, Ivan_83 (ok), 20:00, 23/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Может хоть так тот кого ломанули как то заметит и начнёт лечение.
     
     
  • 4.65, админ локалхоста (ok), 01:00, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Может хоть так тот кого ломанули как то заметит и начнёт лечение.

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

     
  • 2.76, Ключевский (?), 19:31, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Самый простой способ борьбы с переборщиками паролей
    PasswordAuthentication no
    в твоем /etc/ssh/sshd_config и fail2ban который банит за первое же обращение. Использование пароля для ssh — признак чайника, при чем чайника тупого и агрессивного.
     
     
  • 3.78, Аноним (78), 20:10, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ловко ты мазанул разработчиков разных ssh.

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

     

  • 1.66, Ддд (?), 10:09, 24/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ... в ответ этот псевдосервер бесконечно посылает текст песни «Золотая чаша, золотая» не давая нападающему вырваться
     
  • 1.68, Аноним (68), 12:14, 24/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Удачи проекту и развития. Например, признаваться удалённому коннекту, что ты - OpenSSH такой версии, которая имеет незакрытые CVE и готовые эксплойты. Если там - всего лишь человек, то просто не давать залогиниться, называя неправильными все пароли и все ключи. А если хакер, то при попытке воспользоваться эксплойтом хакнуть его самого, узнать реальный IP и отправить запрос в ФБР
     
     
  • 2.90, бублички (?), 05:17, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > при попытке воспользоваться эксплойтом хакнуть его самого, узнать реальный IP и отправить запрос в ФБР

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

     

  • 1.69, Xasd5 (?), 13:34, 24/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Для предотвращения обрыва соединения по таймауту используется особенность протокола SSH, который допускает отправку сервером произвольного числа строк с информацией о сервере до вывода строки "SSH-"

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

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

     
     
  • 2.79, Аноним (78), 20:17, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не надейся, это часть стандарта, о чём говорил автор в пресс релизе.
    Там же говорилось, что можно слать любой мусор, кроме собственно строки "SSH-".
    Пока не сработает какой-либо таймаут на транспортном уровне.
    Автор придумал добавить атаку slow clients прямо на сервер.
    Интересно, что из этого выйдет.


     

  • 1.72, Аноним (72), 17:57, 24/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Эта фигня обходится на раз. Кроме того, требует "нестандартной" конфигурации, что уже идёт вразрез с идеей стандартов.

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

     
     
  • 2.75, Ordu (ok), 18:56, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Кроме того, требует "нестандартной" конфигурации, что уже идёт вразрез с идеей стандартов.

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

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

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

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

     
     
  • 3.77, Michael Shigorin (ok), 19:34, 24/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А сейчас я не вижу такого.

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

     
  • 3.89, x3who (?), 03:09, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Офигенный способ вырубать подсети, достаточно поиметь один роутер там, и -- хоп -- минус подсеть.

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

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

     
     
  • 4.97, Аноним84701 (ok), 16:11, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > вдруг там человеку, например, скорую нужно срочно вызвать, а роутер у него был единственной связью с миром.

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

     
  • 3.94, Аноним (94), 10:46, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >20 лет назад дефейс сайта ради удовольствия написать "здесь был вася" крупными буквами, было нормальным, постоянно люди этим занимались. А сейчас я не вижу такого.

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

     
     
  • 4.98, Ordu (ok), 18:54, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>20 лет назад дефейс сайта ради удовольствия написать "здесь был вася" крупными буквами, было нормальным, постоянно люди этим занимались. А сейчас я не вижу такого.
    > Написать "Здесь был Вася" крупными буквами мешает ст. 272 УК?

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

     

  • 1.83, Аноним (83), 21:34, 24/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    я как-то для нгинкса сделал искалку ботов, которые заходят на мой гносайт. за месяц сдетектил около 5000 ип адресов и это я даже не старался их вычислять по особо по явным следам типа запроса урла без единой картинки. в общем, нужно их банить, а не коннект подольше. а еще лучше сделать единую базу данных с серверами куда попадая ип адреса будут жить сутки. бот только пернул неправильно и улетел в бан в трети инторнетов, меняй ип адрес.
     
     
  • 2.95, psv (??), 12:52, 25/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и выкупят просто держателя этого "списка" спамеры, как только этот "список" начнут массово использовать.

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

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

     
     
  • 3.100, Аноним (83), 01:23, 26/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    я чет не понял как спамерам поможет этот офигенный список ипшников со спамо ботами и почему он должен быть обязательно централизованным для последующей его продажи. я просто намекаю на то, что несколько крупных компаний могут создать консорциум по борьбе с говном в интернете и обмениваться данными только между собой + публиковать списки для всех. получится автоматизированный ркн, но абсолютно бесплатный не за бюджетные деньги и действительно борющийся с говном в интернетах.
     

  • 1.92, Аноним (92), 10:07, 25/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В свое время написал для подобных целей программку: https://github.com/ertaquo/port2ban . Тупо банит в iptables всех, кто лезет на определенные порты. Периодически по крону баны чищу и доволен.
     
  • 1.99, Аноним (99), 21:26, 25/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Засуну ка ее в контейнер
     
  • 1.102, Аноним (102), 18:18, 26/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    имх, самый простой способ борьбы с брутфорсом это 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

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру