5 лучших методов защиты SSH на Ubuntu

watch 42s
views 2

12:17, 28.07.2026

Содержание статьи
arrow

  • 1. Настройка двухфакторной аутентификации
  • 2. Изменение настроек безопасности по умолчанию
  • Изменение порта по умолчанию
  • Отключение входа под пользователем root
  • Отключение аутентификации по паролю
  • Ограничение доступа с помощью «AllowUsers»
  • 3. Использование SSH-сертификатов для аутентификации клиентов
  • 4. Защита доступа с помощью бастионного хоста
  • 5. Обеспечение безопасности с помощью брандмауэров
  • Заключительные замечания

Обеспечение безопасности доступа по протоколу SSH (Secure Shell) на серверах с различными операционными системами, включая Ubuntu, имеет решающее значение для предотвращения несанкционированного доступа и снижения рисков безопасности. Без необходимых мер безопасности SSH может стать уязвимой точкой входа.

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

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

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

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

В процесс входа в SSH можно интегрировать такие популярные инструменты, как Google Authenticator или Authy. Включение двухфакторной аутентификации (2FA) в SSH может значительно снизить риск несанкционированного доступа, особенно на общедоступных серверах. В конце концов, два уровня защиты лучше, чем один.

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

Изменение настроек SSH по умолчанию может закрыть распространённые векторы атак, используемые злоумышленниками.

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

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

По умолчанию SSH работает на порту 22. Изменение этого порта на менее распространённый (например, 2222) снижает уязвимость перед автоматизированным сканированием и атаками методом перебора, поскольку злоумышленники в первую очередь проверяют порты по умолчанию.

Чтобы изменить порт по умолчанию, отредактируйте файл конфигурации SSH /etc/ssh/sshd_config и обновите директиву Port на выбранный вами порт. Не забудьте обновить все правила брандмауэра с учётом этого изменения.

Отключение входа под пользователем root

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

Отключение входа пользователя root гарантирует, что злоумышленникам потребуется знать конкретное имя пользователя, что добавляет дополнительный уровень безопасности. Чтобы отключить вход пользователя root, откройте /etc/ssh/sshd_config и установите PermitRootLogin в значение no.

Вы можете настроить пользователей с правами sudo , если системным администраторам требуются привилегии для выполнения определённых задач.

Отключение аутентификации по паролю

Аутентификация по паролю по умолчанию, хотя и удобна, часто становится причиной успешных атак методом перебора.

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

Чтобы отключить аутентификацию по паролю по умолчанию, в файле /etc/ssh/sshd_config установите PasswordAuthentication на no, что ограничивает доступ только для тех, у кого есть действительный SSH-ключ.

Запись должна выглядеть следующим образом:

PasswordAuthenticationno

Ограничение доступа с помощью «AllowUsers»

Все пользователи системы могут входить в систему через SSH с помощью своих паролей или открытых ключей, но не все из них должны иметь такую возможность. Директива AllowUsers позволяет определить, каким пользователям разрешен вход на сервер по SSH. Это простой способ ограничить доступ для определённых пользователей и предотвратить несанкционированные входы.

В файле /etc/ssh/sshd_config добавьте AllowUsers , а за ним — имена пользователей, которым разрешен доступ по SSH, что ещё больше укрепит безопасность.

3. Использование SSH-сертификатов для аутентификации клиентов

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

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

Вы можете сгенерировать сертификаты с помощью OpenSSH, используя ssh-keygen.

4. Защита доступа с помощью бастионного хоста

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

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

5. Обеспечение безопасности с помощью брандмауэров

Брандмауэры добавляют важный уровень безопасности, контролируя входящий и исходящий трафик; в зависимости от настроек брандмауэры также могут защищать трафик внутри частной сети. В Ubuntu UFW (Uncomplicated Firewall) — это простой в использовании инструмент для управления правилами брандмауэра.

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

Чтобы усилить безопасность с помощью брандмауэров: 

  1. Установите UFW: sudo apt install ufw
  2. Разрешите только выбранный вами порт SSH (например, 2222): sudo ufw allow 2222/tcp
  3. Включите ограничение частоты: sudo ufw limit 2222/tcp
  4. Включите брандмауэр: sudo ufw enable

Настройка брандмауэра таким образом уменьшает площадь атаки и сводит к минимуму риск несанкционированного доступа.

Пользователи, работающие в Linux, могут использовать iptables, где можно определять правила, регулирующие входящий SSH-трафик, и сортировать его по порту, IP-адресу или протоколу. Система iptables представляет собой интерфейс к брандмауэру netfilter, поэтому изменение её настроек приводит к изменению настроек брандмауэра.

Заключительные замечания

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

Поделиться

Была ли эта статья полезной для вас?

Популярные предложения VPS

-20.5%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
10 TB
KVM-SSD 16384 Metered Linux

95

При оплате за год

-13.1%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
300 GB
KVM-SSD 512 HK Linux

7

При оплате за год

-9.5%

CPU
CPU
4 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 8192 Windows

121.5

При оплате за год

-15.4%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
100 Mbps
DDoS Protected SSD-wKVM 16384 Windows

130

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

6.41

При оплате за год

-10%

CPU
CPU
4 Epyc Cores
RAM
RAM
4 GB
Space
Space
50 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 4096
OS
CentOS
Software
Software
Keitaro

18.1

При оплате за год

-12.3%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 16384 Windows

237

При оплате за год

-8.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-wKVM-SSD 2048 Windows

37.4

При оплате за год

-9.5%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 32768 Windows

74.49

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 4096 Linux

60.5

При оплате за год

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.