FAQ

Предотвращение подбора пароля к серверу 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

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