Протокол Secure Shell в рамках безопасности в НАЙС ОС

Протокол Secure Shell (SSH) является критически важным инструментом для обеспечения безопасного удаленного доступа к серверам. В этом руководстве представлены основные аспекты настройки и использования SSH для повышения безопасности в НАЙС ОС.

Установка и настройка SSH-сервера

Первым шагом является установка и настройка SSH-сервера. В НАЙС ОС для этого используется пакет openssh-server.

Установка SSH-сервера


# Установка пакета openssh-server
sudo dnf install -y openssh-server
    

Запуск и включение SSH-сервера


# Запуск SSH-сервера
sudo systemctl start sshd

# Включение SSH-сервера при загрузке системы
sudo systemctl enable sshd
    

Проверка статуса SSH-сервера


# Проверка статуса службы sshd
sudo systemctl status sshd
    

Базовая конфигурация SSH

Конфигурационный файл SSH-сервера находится по пути /etc/ssh/sshd_config. Рассмотрим основные параметры, которые можно настроить для повышения безопасности.

Примеры конфигурации


# Открытие файла конфигурации SSH
sudo nano /etc/ssh/sshd_config

# Пример настроек:
# Запретить вход по паролю
PasswordAuthentication no

# Запретить вход для пользователя root
PermitRootLogin no

# Установить максимальное количество попыток входа
MaxAuthTries 3

# Разрешить вход только для определенных пользователей
AllowUsers user1 user2

# Перезапуск SSH-сервера для применения изменений
sudo systemctl restart sshd
    

Использование аутентификации по ключам

Аутентификация по ключам является более безопасной альтернативой паролям. Она включает создание пары ключей (публичного и приватного) и настройку SSH для использования этой пары.

Создание пары ключей


# Создание пары ключей на клиенте
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# Пример вывода:
# Generating public/private rsa key pair.
# Enter file in which to save the key (/home/user/.ssh/id_rsa): [Press Enter]

# Установка пароля для ключа (рекомендуется)
# Enter passphrase (empty for no passphrase): [Enter passphrase]
# Enter same passphrase again: [Repeat passphrase]

# Публичный ключ будет сохранен в ~/.ssh/id_rsa.pub
# Приватный ключ будет сохранен в ~/.ssh/id_rsa
    

Добавление публичного ключа на сервер


# Создание директории .ssh в домашнем каталоге пользователя на сервере
ssh user@server "mkdir -p ~/.ssh && chmod 700 ~/.ssh"

# Копирование публичного ключа на сервер
ssh-copy-id user@server

# Пример:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
    

Дополнительные меры безопасности SSH

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

Ограничение доступа к SSH по IP-адресу может помочь защитить сервер от несанкционированных попыток подключения.


# Открытие файла конфигурации sshd
sudo nano /etc/hosts.allow

# Разрешение доступа к SSH для определенных IP-адресов
sshd: 192.168.1.0/24

# Открытие файла конфигурации sshd
sudo nano /etc/hosts.deny

# Запрет доступа к SSH для всех остальных IP-адресов
sshd: ALL
    

Использование fail2ban для защиты от брутфорс-атак

Fail2ban помогает защитить SSH от брутфорс-атак, временно блокируя IP-адреса, с которых было слишком много неудачных попыток входа.


# Установка fail2ban
sudo dnf install -y fail2ban

# Запуск и включение fail2ban
sudo systemctl start fail2ban
sudo systemctl enable fail2ban

# Настройка fail2ban для защиты SSH
sudo nano /etc/fail2ban/jail.local

# Пример содержимого файла:
[sshd]
enabled = true
port = ssh
logpath = /var/log/secure
maxretry = 3
bantime = 600

# Перезапуск fail2ban для применения настроек
sudo systemctl restart fail2ban
    

Настройка двухфакторной аутентификации

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


# Установка Google Authenticator
sudo dnf install -y google-authenticator

# Настройка двухфакторной аутентификации для пользователя
google-authenticator

# Настройка SSH для использования двухфакторной аутентификации
sudo nano /etc/pam.d/sshd

# Добавление строки:
auth required pam_google_authenticator.so

# Редактирование конфигурации sshd
sudo nano /etc/ssh/sshd_config

# Включение двухфакторной аутентификации
ChallengeResponseAuthentication yes

# Перезапуск SSH-сервера
sudo systemctl restart sshd
    

Мониторинг и логирование

Регулярный мониторинг и анализ логов SSH помогает обнаружить и предотвратить подозрительную активность.


# Просмотр логов SSH
sudo tail -f /var/log/secure

# Пример:
sudo tail -f /var/log/auth.log
    

Эти рекомендации и примеры помогут вам повысить безопасность вашего SSH-сервера в НАЙС ОС, защищая его от различных угроз и обеспечивая надежный удаленный доступ к вашим ресурсам.