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 ``` ## Полезные ссылки