From c4ce5155fef129b306a47fdc2ee441ec7dfac561 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Sat, 25 Jan 2025 18:52:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=BE=20Fail2Ban?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/servers/index.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/servers/index.md b/docs/servers/index.md index 3201547..39e9dbc 100644 --- a/docs/servers/index.md +++ b/docs/servers/index.md @@ -99,7 +99,7 @@ ssh @ -p ```sh # Установка UFW sudo apt update -sudo apt install ufw +sudo apt install ufw -y # Открываем порт, используемый для SSH (по умолчанию 22) sudo ufw allow /tcp @@ -160,7 +160,7 @@ sudo ufw status verbose ```sh sudo apt update -sudo apt install fail2ban +sudo apt install fail2ban -y sudo systemctl enable fail2ban ``` @@ -190,12 +190,33 @@ maxretry = 3 bantime = -1 ``` +!!! tip "Более строгий конфиг для `fail2ban`" + + Если на сервере настроена авторизация по ключу, можно смело использовать такой конфиг. + + При авторизации по ключу, бан возможен только в случае указания неправильного имени пользователя, что исключено при использовании корректно настроенного SSH-конфига. В случае случайного бана всегда можно зайти на сервер через личный кабинет хостинга. + + ```ini + [sshd] + enabled = true + port = + # Если произведена хотя бы одна неудачная попытка логина, + maxretry = 1 + # то банить IP навсегда. + bantime = -1 + ``` + ```sh # Применяем настройки sudo fail2ban-client reload ``` +После установки и первоначальной настройки `fail2ban` лучше перезагрузить сервер, иначе `fail2ban` может не заработать. +```sh +sudo reboot +``` + ??? tip "Дополнительные команды `fail2ban`" ```sh @@ -228,6 +249,9 @@ sudo w sudo grep "Accepted password" /var/log/auth.log | tail -n 20 sudo grep "Failed password" /var/log/auth.log | tail -n 20 sudo grep "Invalid user" /var/log/auth.log | tail -n 20 + +# Очистить логи с попытками входа +sudo truncate -s 0 /var/log/auth.log ``` ## Полезные ссылки