Skip to main content

Предотвращение подбора пароля к серверу SSH

2 min read
#devops #faq #linux #macos #net
Предотвращение подбора пароля к серверу SSH

Для проверки брутфорса ващего сервера используйте команду

sudo tail -f /var/log/auth.log

если вы видите что то подобное, то я вас поздравляю ) ваш сервер брутфорсят

1. Использование Fail2Ban

Fail2Ban — это инструмент, который автоматически блокирует IP-адреса, которые пытаются подключиться к вашему серверу с неправильными учетными данными.

  1. Установите Fail2Ban:

    sudo apt-get update
    sudo apt-get install fail2ban
    
  2. Настройте Fail2Ban для SSH:

    Откройте файл конфигурации /etc/fail2ban/jail.local и добавьте следующие строки:

    [sshd]
    enabled = true
    port = ssh
    logpath = /var/log/auth.log
    maxretry = 3
    
  3. Перезапустите Fail2Ban и добавляем в автозагрузку:

    sudo systemctl restart fail2ban
    sudo systemctl enable fail2ban
    sudo systemctl is-enabled fail2ban
    

в итоге видим какие IP забанены в логах

tail -f /var/log/fail2ban.log

2. Изменение порта SSH

Изменение порта SSH с стандартного 22 на другой порт может помочь уменьшить количество автоматических атак.

  1. Откройте файл конфигурации SSH:

    sudo nano /etc/ssh/sshd_config
    
  2. Измените порт SSH:

    Найдите строку #Port 22 и измените её на:

    Port 2222
    
  3. Перезапустите SSH-сервер:

    sudo systemctl restart ssh
    
  4. Обновите правила файрвола:

    Убедитесь, что новый порт открыт в вашем файрволе.

3. Использование ключей SSH вместо паролей

Отключение аутентификации по паролю и использование только ключей SSH значительно повысит безопасность.

  1. Откройте файл конфигурации SSH:

    sudo nano /etc/ssh/sshd_config
    
  2. Отключите аутентификацию по паролю:

    Найдите строку #PasswordAuthentication yes и измените её на:

    PasswordAuthentication no
    
  3. Перезапустите SSH-сервер:

    sudo systemctl restart ssh
    

4. Ограничение доступа по IP

Ограничьте доступ к SSH только с определенных IP-адресов.

  1. Откройте файл конфигурации SSH:

    sudo nano /etc/ssh/sshd_config
    
  2. Добавьте строку для ограничения доступа:

    AllowUsers your_username@your_ip_address
    
  3. Перезапустите SSH-сервер:

    sudo systemctl restart ssh
    

5. Использование двухфакторной аутентификации (2FA)

Добавление двухфакторной аутентификации (2FA) может значительно повысить безопасность.

  1. Установите Google Authenticator:

    sudo apt-get install libpam-google-authenticator
    
  2. Настройте Google Authenticator для SSH:

    Откройте файл конфигурации PAM /etc/pam.d/sshd и добавьте следующую строку:

    auth required pam_google_authenticator.so
    
  3. Настройте SSH для использования PAM:

    Откройте файл конфигурации SSH /etc/ssh/sshd_config и убедитесь, что строка UsePAM установлена в yes:

    UsePAM yes
    
  4. Перезапустите SSH-сервер:

    sudo systemctl restart ssh
    

Следуя этим шагам, вы сможете значительно повысить безопасность вашего сервера и предотвратить атаки подбора пароля.

This article was updated on 13 августа 2025