Краткое руководство по базовой настройке SSH на вашем сервере Debian

Администрирование 7 мин. на чтение

Часто неопытные пользователи, впервые арендовавшие сервер, не знают, как к нему подключиться. И даже когда с помощью интернета узнают, что такое SSH и как его использовать для доступа к серверу, не все думают о безопасности.
Но защита вашего сервера имеет первостепенное значение, и одним из наиболее важных аспектов безопасности сервера является правильная конфигурация SSH (Secure Shell). SSH позволяет вам установить безопасное и зашифрованное соединение с вашим сервером Debian для удаленного доступа и администрирования. В этом кратком руководстве мы рассмотрим файл конфигурации sshd_config, изучим наиболее важные параметры и предоставим практические примеры, которые помогут вам повысить безопасность и функциональность вашей службы SSH.

 

sshd_config — это основной файл конфигурации демона SSH-сервера (sshd). Он находится в каталоге /etc/ssh/ и управляет различными аспектами службы SSH. Настраивая sshd_config, вы можете контролировать методы аутентификации, управлять доступом пользователей и повышать общую безопасность.


Параметры подключения

1. Первое, что всегда рекомендуется сделать после того, как вы установили операционную систему на VPS или выделенный сервер, это изменить номер порта SSH. Как уже понятно из названия и контекста нашего поста, делать это мы будем в конфигурационном файле. Откройте его и найдите строку:

#Port 22

Раскомментируйте его (уберите знак решетки в начале строки) и измените номер времени, например, на 2222:

Port 2222

 

2. Параметр PermitRootLogin определяет, разрешено ли пользователю root входить в систему напрямую через SSH. Рекомендуется отключить прямой вход в систему root и вместо этого использовать пользователя без полномочий root. Установите его на «нет» следующим образом:

PermitRootLogin no

 

3. Включение PubkeyAuthentication позволяет пользователям проходить аутентификацию с использованием криптографии с открытым ключом, что значительно повышает безопасность. Создайте пару ключей SSH, загрузите открытый ключ на сервер и измените sshd_config:

PubkeyAuthentication yes

 

4. AllowUsers и DenyUsers. Эти параметры определяют, каким пользователям разрешен или запрещен доступ по SSH. Укажите имена пользователей, разделенные пробелами. Например, чтобы разрешить доступ только «user1» и «user2», добавьте следующие строки:

AllowUsers user1 user2

 

Чтобы запретить доступ определенным пользователям, используйте DenyUsers таким же образом.

 

5. AllowGroups и DenyGroups. Точно так же AllowGroups и DenyGroups обеспечивают управление доступом на основе членства в группе. Укажите имена групп, разделенные пробелами. Например, чтобы разрешить доступ группе «admins», добавьте строку:

AllowGroups admins

 

Настройки сеанса и подключения.

1. ClientAliveInterval и ClientAliveCountMax. Эти параметры управляют бездействующими сеансами SSH. ClientAliveInterval устанавливает время в секундах, после которого сервер отправляет нулевой пакет клиенту, чтобы проверить, активен ли он. ClientAliveCountMax определяет максимальное количество сообщений без ответа, прежде чем сервер разорвет соединение. Например:

ClientAliveInterval 120
ClientAliveCountMax 3

 

2. TCPKeepAlive. Включение TCPKeepAlive позволяет серверу обнаруживать мертвые соединения TCP и закрывать их. Добавьте следующую строку, чтобы активировать эту функцию:

TCPKeepAlive yes


Некоторые дополнительные настройки безопасности.

1. Разрешить пустые пароли. Настоятельно рекомендуется запретить использование пустых паролей для предотвращения несанкционированного доступа. Убедитесь, что следующая строка присутствует и закомментирована или установлена в «нет»:

# PermitEmptyPasswords no


2. PasswordAuthentication. Чтобы принудительно применить аутентификацию на основе ключа SSH и отключить аутентификацию по паролю, установите для параметра PasswordAuthentication значение «no»:

PasswordAuthentication no


3. LoginGraceTime. LoginGraceTime указывает время в секундах, которое пользователь должен пройти аутентификацию после установления соединения SSH. Установка более короткого времени может снизить риск атак грубой силы. Измените строку по желанию, например:

LoginGraceTime 30s

 

 

Применение настроек

Чтобы применить настройки, которые вы сделали к файлу, вы должны сначала сохранить и закрыть его.
Затем в консоли нужно набрать команду:

service sshd restart

 

,после чего эта служба будет перезапущена с новыми настройками

 

Вы можете прочитать больше о файле sshd_config здесь.

 

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


Поэтому будьте бдительны, никогда не оставляйте сервер ненастроенным иначе он быстро перестанет быть ВАШИМ сервером :)

June 26, 2023, 12:31 p.m.