fail2ban запрещает меня после серии *успешный* логины

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

4
задан 17 March 2011 в 03:15
4 ответа

У меня была аналогичная ситуация. Даже когда успешный вход в систему происходит, 'Неудавшееся' сообщение появляется в sshd файле журнала (/var/log/messages), Это вызывается этим регулярным выражением (см. Chris S ответ):

^%(__prefix_line)sFailed [-/\w]+ for .* from <HOST>(?: port \d*)?(?: ssh\d*)?$

согласующие отрезки длинной линии как это из/var/log/messages файла:

Apr 18 14:07:02 hostname sshd[20972]: Failed none for root from 123.45.67.89 port 
50472 ssh2

Когда пользователь входит в систему успешно, 'Неудавшийся ни один' не обменивается сообщениями, все еще появляется в файле сообщений.

Для разрешения этого, я изменил sshd_config файл (/etc/ssh/sshd_config) для определения

LogLevel INFO

вместо

LogLevel VERBOSE

Это останавливается, 'Неудавшийся ни один' не обменивается сообщениями для успешных логинов, но сохраняет его для отказов входа в систему.

Я также рассмотрел обновление конфигурационного файла sshd.conf fail2ban и добавление, что что-то к 'ignoreregex' строке, но обновляющий sshd является более чистым решением.

5
ответ дан 3 December 2019 в 02:33

Мой sshd.local файл имеет эту строку для решения подобной проблемы. Сравните Ваш, это должно быть подобно:

failregex = ^%(__prefix_line)s(?:error: PAM: )?[A|a]uthentication (?:failure|error) for .* from <HOST>\s*$
            ^%(__prefix_line)sDid not receive identification string from <HOST>$
            ^%(__prefix_line)sFailed [-/\w]+ for .* from <HOST>(?: port \d*)?(?: ssh\d*)?$
            ^%(__prefix_line)sROOT LOGIN REFUSED.* FROM <HOST>\s*$
            ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$
            ^%(__prefix_line)sUser \S+ from <HOST> not allowed because not listed in AllowUsers$
            ^%(__prefix_line)sauthentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=<HOST>(?:\s+user=.*)?\s*$
            ^%(__prefix_line)srefused connect from \S+ \(<HOST>\)$
2
ответ дан 3 December 2019 в 02:33

Можно использовать опцию конфигурации ignoreip сказать fail2ban игнорировать IP.

http://www.fail2ban.org/wiki/index.php/Commands

В/etc/fail2ban/jail.conf добавляют что-то как

ignoreip = 127.0.0.1 192.168.0.0/24
3
ответ дан 3 December 2019 в 02:33

Это не решает вашу проблему, но, надеюсь, даст вам представление о том, почему это происходит.

Клиент ssh использует ключи ssh, как вы описали. Я предполагаю, что у вашего клиента есть более одного ключа ssh в указанном агенте ssh (ssh-add -l). В такой настройке ssh-клиент подключается к серверу и пытается аутентифицировать использование «одного из ключей».

Итак, что происходит, так это то, что ssh-клиент пробует один ключ за другим, пока один из них не будет принят сервером.

Предполагая 3 ключа ssh, в худшем случае будут две неудачные попытки, за которыми последует успешный вход. Подключение несколько раз с "findtime" fail2ban ... И вас забанят.

Я тоже сейчас ищу решение. Когда найду, поделюсь. ;)

1
ответ дан 3 December 2019 в 02:33

Теги

Похожие вопросы