Назад | Перейти на главную страницу

Как заблокировать IP-адреса, пытающиеся войти в систему как root с помощью ssh

Я уже заблокировал вход в систему как root с помощью ssh, поэтому я знаю, что любая попытка сделать это злонамеренна. Я знаю, что у них ничего не получится (sshd этого не допустит), но, тем не менее, я хотел бы немедленно заблокировать данный IP-адрес. Как мне это сделать?

Я использую Gentoo Linux, и у меня уже работает fail2ban. Я не хочу банить всех за одну неудачную попытку регистрации, поэтому просто установить для попытки fail2ban значение 1 не вариант. Root - единственная учетная запись, на которую я бы хотел применить этот немедленный запрет.

Я устанавливаю два разных правила Fail2Ban:

  1. Если они попробуют ввести неверное имя пользователя, их заблокируют с первой попытки навсегда. У меня не так много людей, и никого из них никогда не забанили таким образом; но это может быть проблемой поддержки, если у вас много людей, входящих в систему. В моих системах root не является допустимым входом по ssh.

    Я использую систему FreeBSD, поэтому вам, возможно, придется немного изменить это правило. Создайте файл ssh-invaliduser.local в каталоге filter.d:

    failregex = ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$
    

    Установите параметры этого правила, как обычно, в jail.local файл.

  2. Второе правило блокирует попытки 10 раз ошибочного пароля в течение 10 минут. При средней скорости 1 пароль в минуту взламывать никто не собирается.

Если вы используете стандартный вывод журнала sshd и в вашей системе работает оболочка tcp tcpdпопробуйте следующее:

Сначала добавьте эту строку в /etc/hosts.deny:

sshd: /tmp/root_ban.list

Затем запланируйте cron для запуска следующей команды:

awk '/invalid user root from/{print $13}' /var/log/ssh_auth.log | sort -u > /tmp/root_ban.list

Если вывод команды awk не работает, скорректируйте часть условия: неверный пользовательский root из чтобы соответствовать вашим журналам sshd. Вам также может потребоваться изменить номер поля, захваченный awk. В моих журналах ip находится на 13-й позиции (13 долларов США).

И, чтобы не блокировать вас, вы можете добавить доверенные IP-адреса в файл /etc/hosts.allow:

sshd: 123.123.123.123 222.222.222.222