Как ограничить число попыток входа через терминал в Debian, Ubuntu
Добрый день уважаемые читатели блога pyatilistnik.org, сегодня хочу рассказать о, том как ограничить число попыток входа через терминал в Ubuntu, Debian. Предположим у вас есть ubuntu vps и вот ни с того ни сего у вас начинаются проблемы с производительностью, вы начинаете копать и выясняется, что ваш сервер активно пытались взломать, путем подбора пароля от root пользователя. Это было видно по огромным логам входа (>10Mb) он, кстати, находится в /var/log файлы auth.log. Логично, что вы хотите это пресечь. Немного порывшись по правильным форумам, было решено установить утилиту под названием Denyhosts, которая должная была решить ваши проблемы.
Логинимся в терминал вашего ubuntu vps и устанавливаем и вводим: в Ubuntu 14 так не пашет описание установки пониже
Как установить denyhosts в Debian
И подтверждаем установку.
Скрипт следит за логами системы, о неудачных попытках авторизации. После обнаружения ложных вводов логина-пароля блокирует IP адрес, с которого производилась атака (вносит IP адрес в /etc/hosts.deny)
Запускается в качестве системной службы (init скрипт), либо по расписанию через cron.
Вся радость denyhosts не только в блокировании хостов, пытающихся пробиться к вашему SSH серверу, но и в том, что можно синхронизировать свой "черный список" с серверами denyhosts. Таким образом создается коллективный список хостов, содержащий всех нападающих.
Далее идем к редактированию файла
Я увеличил количество попыток входа из под root до 3:
DENY_THRESHOLD_ROOT = 3
но уменьшил количество попыток входа с неверным паролем до той же цифры 3:
DENY_THRESHOLD_VALID = 3
Сохраняем файл настроек.
3) Перезапускаем сервер:
Но в дальнейшем будьте аккуратны при вводе пароля.
На всякий случай, файл с блокированным IP адресами находится здесь:
/etc/hosts.deny
Как установить denyhosts в Ubuntu 14.
Если вы видите такую ошибку
apt-get install denyhosts
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package denyhosts
не спешите расстраиваться, все решаемо.
cd /tmp/ && wget http://downloads.sourceforge.net/project/denyhost/denyhost-2.8/denyhosts-2.8.tar.gz
cd DenyHosts*
sudo python setup.py install
sudo cp /usr/local/bin/daemon-control-dist /etc/init.d/denyhosts
Дальше нужно отредактировать sudo vi /etc/init.d/denyhosts
DENYHOSTS_BIN = “/usr/local/bin/denyhosts.py”
DENYHOSTS_LOCK = “/run/denyhosts.pid”
DENYHOSTS_CFG = “/etc/denyhosts.conf”
PYTHON_BIN = “/usr/bin/env python”
В файле sudo vi /etc/hosts.allow не забываем прописать разрешение
Пример sshd: 172.145.33.45
Запускаем службу
Вот так вот просто ограничить число попыток входа через терминал в Debian, Ubuntu