LINUX.ORG.RU
ФорумAdmin

Таймаут между попытками логина по SSH. Возможно ли?


0

0

Здравствуйте.
Сегодня случайно по логам обнаружил, что кто-то уже несколько дней подрят брутфорсит пароль рута моего инет-шлюза (с привязкой домена по DynDNS) через SSH. Пока безрезультатно. Закрыть наружу SSH не предлагать, т.к. сам им пользуюсь. Есть идея сделать некий таймаут секунд в 5-10 между попытками логина, чтобы сильно тормознуть брутфорс. Возможно ли это?
Система Zenwalk Core 5.2.

лучше чтонибудь из этого 

Port:   sshblock-1.0
Path:   /usr/ports/security/sshblock
Info:   Block abusive SSH login attempts
Maint:  anders@FreeBSD.org
B-deps: perl-5.8.9_1
R-deps: p5-File-Tail-0.99.3 perl-5.8.9_1
WWW:    http://www.bsdconsulting.no/tools/

Port:   sshguard-1.3
Path:   /usr/ports/security/sshguard
Info:   Protect hosts from brute force attacks against ssh and other services
Maint:  mij@bitchx.it
B-deps:
R-deps:
WWW:    http://sshguard.sourceforge.net

Port:   sshit-0.6_4
Path:   /usr/ports/security/sshit
Info:   Checks for SSH/FTP bruteforce and blocks given IPs
Maint:  rafan@FreeBSD.org
B-deps:
R-deps: p5-IPC-Shareable-0.60_1 p5-Proc-PID-File-1.24 p5-Unix-Syslog-1.1 perl-5.8.9_1
WWW:    http://anp.ath.cx/sshit/

hizel ★★★★★
()
Ответ на: комментарий от ahonymous

> Около 100% брутфорза тормознётся об одну единственную строчку в
> sshd_config:

> Port 2224 (например)


К сожалению, этого я сделать не могу, т.к. серваком пользуется еще несколько людей, всем сообщать, что сменился порт - муторно.

2 hizel:
Спасибо. Попробовал первые 2 утилиты - с первого раза не собралось, дальше пока не разбирался. Вообще хочется найти какой-нибудь способ, не прибегая к стороннему софту. Неужели нет такой элементарной вещи в openssh, как таймаут между попытками логина?

InfectedM
() автор топика
Ответ на: комментарий от InfectedM

ну или эти параметры покрутить

     MaxAuthTries
             Specifies the maximum number of authentication attempts permitted
             per connection.  Once the number of failures reaches half this
             value, additional failures are logged.  The default is 6.

     MaxStartups
             Specifies the maximum number of concurrent unauthenticated con-
             nections to the SSH daemon.  Additional connections will be
             dropped until authentication succeeds or the LoginGraceTime
             expires for a connection.  The default is 10.

             Alternatively, random early drop can be enabled by specifying the
             three colon separated values ``start:rate:full'' (e.g.
             "10:30:60").  sshd(8) will refuse connection attempts with a
             probability of ``rate/100'' (30%) if there are currently
             ``start'' (10) unauthenticated connections.  The probability
             increases linearly and all connection attempts are refused if the
             number of unauthenticated connections reaches ``full'' (60).

(c) man sshd_config 

hizel ★★★★★
()

3 неудачные попытки логина и бан на 5 мин.:

iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshd --set
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshd --update --seconds 300 --hitcount 3 -j DROP

SlavikSS ★★
()
Ответ на: комментарий от SlavikSS

> iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshd --set
> iptables -A INPUT -p tcp --syn --dport 22 -m recent --name sshd --update --seconds 300 --hitcount 3 -j DROP

Вот это круто! Вот это да! Поясни, плиз, как оно определяет, что логин неудачный, а то я в iptables не очень то.. )

InfectedM
() автор топика
Ответ на: комментарий от InfectedM

Я малость соврал). Оно реагирует на создание нового соединения (-p tcp --syn). Если в sshd_config стоит MaxAuthTries 2, то получится 6 попыток.
Если задать --hitcount 1 и MaxAuthTries 3, то получим 3 попытки!

SlavikSS ★★
()
Ответ на: комментарий от hizel

> дополнительный модуль для iptables ставить >>recent<<

у меня он есть по умолчанию (ASP 11.2)

SlavikSS ★★
()

не мучайся... я лично позвонил провайдеру, узнал диапазоны айпишников, которые мне могут быть выданы, и прописал их на серваке... типа если порт 22 и айпи <диапазон1> -j ACCEPT если порт 22 и айпи <диапазон2> -j ACCEPT если порт 22 и айпи <диапазон3> -j ACCEPT если порт 22 и айпи <диапазон4> -j ACCEPT и т.д.

Даже МТС свои диапазоны дали =) Теперь и с мобилки выйти могу )

k4m454k
()
Ответ на: комментарий от hizel

Как вариант могу предложить DenyHost

http://denyhosts.sourceforge.net/

Устанавливаешь количество попыток ввода пароля, после которых IP переборщика будет помещён в чёрный список с полным запретом подключения к SSH.

Witaliy
()
Ответ на: комментарий от blackst0ne

>Отключи возможность зайти под рутом удаленно

И выключи нафиг PasswordAuthentication. И пусть брутфорсят, это стимулирует развитие.

DonkeyHot ★★★★★
()

use fail2ban кроме ssh еще много чего от брутфорса защищает. у меня даже от спамеров помогает ))

Somewho ★★
()
Ответ на: комментарий от Somewho

fail2ban +1

странно, что только один человек упомянул. Мега утилита + простота настройки.

zooooo
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.