Ограничение количества попыток входа через терминал на Debian или Ubuntu

Логотип Debian

Добрый день. В прошлом году я решил, что хватит мне сидеть на обычном хостинге и арендовал себе VPS-сервер у Infobox. И первое время у меня были некоторые проблемы с пропадающей производительностью, была проведена некоторая работа, которая описана в соответствующем посте (ссылка), после этого всё наладилось. Так вот, суть в том, что мой сервер активно пытались взломать,  путем подбора пароля от root пользователя. Это было видно по огромным логам входа (>10Mb) он, кстати, находится в /var/log файлы auth.log. И, конечно же, было решено это как-нибудь исправить.

Немного порывшись по правильным форумам, было решено установить утилиту под названием Denyhosts, которая должная была решить мои проблемы (и решила). Ну и раз вы мне не подсказываете, что писать на сайт, сегодня я напишу о ней.

  1. Итак, для начала необходимо её установить, подключаемся к терминалу и вводим: apt-get install denyhosts. И подтверждаем установку.Подключаемся к терминалу и вводим: apt-get install denyhosts
  2. Далее можно подредактировать настройки под наш вкус, только делайте это очень аккуратно и перед сохранением обязательно перепроверьте, будет очень обидно лишиться доступа к своему серверу. Я люблю использовать текстовый редактор nano,  вы используйте тот, который у вас установлен:

    nano /etc/denyhosts.conf

    Там много всяких настроек, меня интересовало только количество попыток для входа, поэтому смотрим на вот этот раздел:

    #######################################################################
    #
    # DENY_THRESHOLD_INVALID: block each host after the number of failed login 
    # attempts has exceeded this value.  This value applies to invalid
    # user login attempts (eg. non-existent user accounts)
    #
    # Количество попыток входа с несуществующим логином
    DENY_THRESHOLD_INVALID = 5
    #
    #######################################################################
    
    #######################################################################
    #
    # DENY_THRESHOLD_VALID: block each host after the number of failed 
    # login attempts has exceeded this value.  This value applies to valid
    # user login attempts (eg. user accounts that exist in /etc/passwd) except
    # for the "root" user
    #
    # Количество попыток входа с неверным паролем
    DENY_THRESHOLD_VALID = 5
    #
    #######################################################################
    
    #######################################################################
    #
    # DENY_THRESHOLD_ROOT: block each host after the number of failed 
    # login attempts has exceeded this value.  This value applies to 
    # "root" user login attempts only.
    # Кол-во попыток залогиниться рутом
    DENY_THRESHOLD_ROOT = 1
    #
    #######################################################################
    

    Я увеличил количество попыток входа из под root до 3:

    DENY_THRESHOLD_ROOT = 3

    но уменьшил количество попыток входа с неверным паролем до той же цифры 3:

    DENY_THRESHOLD_VALID = 3

    Сохраняем файл настроек.

  3. Перезапускаем сервер: reboot. Но в дальнейшем будьте аккуратны при вводе пароля. На всякий случай, файл с блокированным IP адресами находится здесь: /etc/hosts.deny.

На этом всё. Надеюсь эта статья оказалась вам полезной, нажмите одну из кнопок ниже, чтобы рассказать о ней друзьям. Также подпишитесь на обновления сайта, введя свой e-mail в поле справа или подписавшись на группу в Вконтакте.

Спасибо за внимание!

Материал сайта Skesov.ru