SSH — это широко используемый протокол, используемый для безопасного доступа к серверам Linux. Большинство пользователей используют SSH-соединения с настройками по умолчанию для подключения к удаленному серверу. Однако незащищенные конфигурации по умолчанию также представляют различные риски безопасности.

Учетная запись root сервера с открытым доступом по SSH может быть подвержена риску. И особенно если вы используете общедоступный IP-адрес, взломать пароль root гораздо проще. Поэтому необходимо иметь знания о безопасности SSH.

Вот как вы можете защитить свои соединения SSH-сервера в Linux.

1. Отключить логины root-пользователей

Для этого сначала отключите SSH-доступ пользователя root и создайте нового пользователя с правами root. Отключение доступа к серверу для пользователя root — это стратегия защиты, которая не позволяет злоумышленникам достичь своей цели — вторжению в систему. Например, вы можете создать пользователя с именем пример root следующим образом:

useradd -m пример root
пример пароля root
usermod -aG sudo exampleroot
instagram viewer

Вот краткое объяснение вышеупомянутых команд:

  • пользовательдобавить создает нового пользователя и параметр создает папку под дом каталог для пользователя, которого вы создали.
  • пароль Команда предназначена для назначения пароля новому пользователю. Помните, что пароли, которые вы назначаете пользователям, должны быть сложными и трудными для угадывания.
  • usermod -aG судо добавляет вновь созданного пользователя в группу администраторов.

После процесса создания пользователя необходимо внести некоторые изменения в sshd_config файл. Вы можете найти этот файл в /etc/ssh/sshd_config. Откройте файл любым текстовым редактором и внесите в него следующие изменения:

# Аутентификация: 
#LoginGraceTime 2 м
PermitRootЛогин нет
AllowUsers пример root

РазрешитьRootВойти строка не позволит пользователю root получить удаленный доступ с помощью SSH. Включая пример root в Разрешить пользователей list предоставляет необходимые разрешения пользователю.

Наконец, перезапустите службу SSH с помощью следующей команды:

sudo systemctl перезапустить ssh

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

sudo systemctl перезапустить sshd

2. Изменение порта по умолчанию

Порт подключения SSH по умолчанию — 22. Конечно, все злоумышленники это знают и поэтому необходимо изменить номер порта по умолчанию, чтобы обеспечить безопасность SSH. Хотя злоумышленник может легко найти новый номер порта со сканированием Nmap, цель здесь состоит в том, чтобы усложнить работу злоумышленника.

Чтобы изменить номер порта, откройте /etc/ssh/sshd_config и внесите в файл следующие изменения:

Включают /etc/ssh/sshd_config.d/*.conf
Порт 5922

После этого шага снова перезапустите службу SSH с помощью sudo systemctl перезапустить ssh. Теперь вы можете получить доступ к своему серверу, используя только что определенный порт. Если вы используете брандмауэр, вы также должны внести необходимые изменения в правила. При запуске netstat -тлпн Команда, вы увидите, что ваш номер порта для SSH изменился.

3. Блокировать доступ для пользователей с пустыми паролями

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

PermitEmptyPasswords нет

4. Ограничение попыток входа/доступа

По умолчанию вы можете получить доступ к серверу, сделав столько попыток ввода пароля, сколько захотите. Однако злоумышленники могут использовать эту уязвимость для взлома сервера. Вы можете автоматически прекратить SSH-соединение после определенного количества попыток, указав количество разрешенных попыток ввода пароля.

Для этого измените MaxAuthTries значение в sshd_config файл.

MaxAuthTries 3

5. Использование SSH версии 2

Вторая версия SSH была выпущена из-за множества уязвимостей в первой версии. По умолчанию вы можете разрешить серверу использовать вторую версию, добавив Протокол параметр для вашего sshd_config файл. Таким образом, все ваши будущие соединения будут использовать вторую версию SSH.

Включают /etc/ssh/sshd_config.d/*.conf 
Протокол 2

6. Отключение переадресации портов TCP и переадресации X11

Злоумышленники могут попытаться получить доступ к другим вашим системам путем переадресации портов через SSH-соединения. Чтобы предотвратить это, вы можете отключить Разрешить TCPForwarding а также X11Переадресация особенности в sshd_config файл.

X11Номер переадресации 
AllowTcpForwarding нет

7. Подключение с помощью SSH-ключа

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

Когда вы создаете ключ SSH, есть два ключа: Общественный а также Частный. Открытый ключ загружается на сервер, к которому вы хотите подключиться, а закрытый ключ хранится на компьютере, с помощью которого вы будете устанавливать соединение.

Создайте ключ SSH с ssh-keygen команду на вашем компьютере. Не оставляйте Парольная фраза поле пустое и запомните введенный здесь пароль. Если вы оставите это поле пустым, вы сможете получить к нему доступ только с помощью файла ключа SSH. Однако, если вы установите пароль, вы можете предотвратить доступ злоумышленника с файлом ключа к нему. Например, вы можете создать ключ SSH с помощью следующей команды:

ssh-keygen

8. Ограничения IP для SSH-соединений

В большинстве случаев брандмауэр блокирует доступ с помощью фреймворков собственных стандартов и направлен на защиту сервера. Однако этого не всегда достаточно, и вам необходимо увеличить этот потенциал безопасности.

Для этого откройте /etc/hosts.allow файл. С помощью дополнений, которые вы вносите в этот файл, вы можете ограничить разрешение SSH, разрешить блокировку определенного IP-адреса или ввести один IP-адрес и заблокировать все оставшиеся IP-адреса с помощью команды отказа.

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

Важность безопасности сервера Linux

Данные и вопросы безопасности данных достаточно подробно описаны и должны учитываться всеми администраторами серверов. Безопасность серверов — очень деликатный вопрос, так как основным объектом атак являются веб-серверы, а они содержат почти всю информацию о системе. Поскольку большинство серверов работают в инфраструктуре Linux, очень важно быть знакомым с системой Linux и администрированием серверов.

Безопасность SSH — это лишь один из способов защиты серверов. Можно свести к минимуму получаемый вами урон, остановив, заблокировав или замедлив атаку. Помимо обеспечения безопасности SSH, существует множество различных методов, которые вы можете реализовать для защиты своих серверов Linux.