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

5 эффективных советов по обеспечению безопасности SSH-сервера в Ubuntu

В этой статье мы рассмотрим 5 эффективных способов повышения безопасности вашего SSH-сервера в Ubuntu. Внедрение этих советов позволит вам улучшить безопасность ваших серверов и предотвратить несанкционированный доступ. К ним относятся аутентификация с помощью SSH-ключей, ограничение доступа и использование инструментов защиты, таких как Fail2Ban.
0 Акции
0
0
0
0
  1. Достаточно ли защищен доступ по SSH к вашему серверу Ubuntu?
  2. Обзор и цели
  3. 1) Используйте надежные SSH-ключи и отключите пароли.
    1. Пример сценария с использованием графического процессора (ИИ)
  4. 2) Ограничение доступа: порт, пользователи, адреса и разрешенные пользователи/группы пользователей.
  5. 3) Предотвращение атак методом перебора паролей и управление атаками: Fail2Ban, UFW и защита от DDoS-атак.
    1. Сравнение местоположений и их влияние на безопасность.
  6. 4) Мониторинг, аудит и обнаружение вторжений
  7. 5) Двухфакторная аутентификация, бастион и управление доступом (PAM, 2FA)
    1. Практические советы по управлению ключами и курсами.
  8. Пример предлагаемой конфигурации sshd_config
  9. Дополнительные и практические советы для конкретных ситуаций.
  10. Информация об услугах и инфраструктуре
  11. Краткое описание и краткий контрольный список для внедрения
  12. Часто задаваемые вопросы

Достаточно ли защищен доступ по SSH к вашему серверу Ubuntu?

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

Обзор и цели

Цель данного руководства — представить пять ключевых моментов, объединяющих принципы Конфиденциальность, Сниженная дальность атаки, Обнаружение вторжений и реагирование на них и увеличить Устойчивое развитие Обложки.

  • Замена аутентификации на SSH-ключ Вместо пароля
  • Ограничение доступа (порт, пользователь, IP-адрес)
  • Внедрение защитных инструментов, таких как Фэйл2Бан и UFW/iptables
  • Мониторинг и аудит (журналы, sshd -T(инструменты для обзора)
  • Используйте двухфакторную аутентификацию или методы Bastion/Jumphost.

1) Используйте надежные SSH-ключи и отключите пароли.

Использование SSH-ключи Вместо пароля он обеспечивает защиту от атак методом перебора и упрощает управление доступом. Новые ключи, такие как... ed25519 Они особенно рекомендуются, если вам необходима совместимость со старыми системами. RSA 4096 Использовать.

Создание защищенного ключа на стороне клиента:

ssh-keygen -t ed25519 -a 100 -o -f ~/.ssh/id_ed25519 -C "user@host"

Или (для совместимости):

ssh-keygen -t rsa -b 4096 -o -a 100 -f ~/.ssh/id_rsa -C "user@host"

Передача ключа на сервер:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

Пример важных настроек в файле /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Загрузите конфигурацию SSH:

sudo systemctl reload sshd

Пример сценария с использованием графического процессора (ИИ)

Рекомендуется для использования на GPU-серверах командами машинного обучения/искусственного интеллекта. Группы доступа Создайте и выдайте уникальный ключ для каждого пользователя. Используйте зашифрованную файловую систему для папки с ключами и включите... Аппермор Также рекомендуется использовать (или SELinux, если он доступен).

2) Ограничение доступа: порт, пользователи, адреса и разрешенные пользователи/группы пользователей.

Снизить уровень доступа или поверхность атаки Снижает количество попыток вторжения. Распространенные методы включают изменение портов, ограничение доступа пользователей и ограничения на основе IP-адресов.

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

Port 2222

Ограничить доступ пользователей или групп:

AllowUsers deploy [email protected]/24
# or
AllowGroups sshusers

Ограничение доступа на основе IP-адресов с помощью UFW:

sudo ufw allow from 203.0.113.5 to any port 2222 proto tcp

Отключение функций, представляющих высокий риск:

AllowTcpForwarding no
X11Forwarding no
PermitTunnel no

Сократите время и усилия, затрачиваемые на неудачные попытки входа в систему:

LoginGraceTime 30
MaxAuthTries 3
MaxSessions 2

3) Предотвращение атак методом перебора паролей и управление атаками: Fail2Ban, UFW и защита от DDoS-атак.

Автоматизированные и атаки методом перебора распространены; используются такие инструменты, как... Фэйл2Бан А межсетевые экраны на уровне хоста могут блокировать вредоносный трафик. Кроме того, используйте сервисы защиты от DDoS-атак для борьбы с атаками 4-го и 7-го уровней.

Установка и настройка Fail2Ban:

sudo apt install fail2ban
# create /etc/fail2ban/jail.d/sshd.local with:
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

Базовая настройка межсетевого экрана с использованием UFW:

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable

Если вам требуется более надежная защита на сетевом уровне, используйте Сервис защиты от DDoS-атак Воспользуйтесь услугами нашей компании. Наши серверы защиты от DDoS-атак могут быть объединены с сетями BGP/Anycast и CDN для блокировки вредоносного трафика на границе сети.

Сравнение местоположений и их влияние на безопасность.

В более чем 85 представительствах компании по всему миру некоторые центры обработки данных оснащены такими сетевыми функциями, как межсетевые экраны, протокол BGP и аппаратная защита от DDoS-атак. Для серверов, используемых для торговли или обеспечения безопасности, важно выбрать местоположение с поддержкой защиты от DDoS-атак и коротким сетевым путем к финансовым рынкам (например, Лондон, Франкфурт, Нью-Йорк, Сингапур, Токио).

4) Мониторинг, аудит и обнаружение вторжений

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

Полезные команды для проверки:

sshd -T
ss -tulpn | grep ssh
sudo tail -n 200 /var/log/auth.log
last -a

Для анализа логов можно использовать rsyslog, лог-наблюдение Или используйте централизованные службы логирования (например, Elasticsearch/Graylog). Среди других полезных инструментов можно отметить следующие: ssh-audit и Линис И системы обнаружения и предотвращения вторжений, такие как OSSEC Или Сурикаты Они есть.

5) Двухфакторная аутентификация, бастион и управление доступом (PAM, 2FA)

Добавление второго уровня аутентификации предотвращает получение доступа злоумышленником в случае кражи ключа или компрометации учетной записи. В качестве вариантов можно использовать Google Authenticator (PAM), корпоративные сервисы многофакторной аутентификации (MFA), а также Bastion/Jumphost.

Установите Google Authenticator PAM:

sudo apt install libpam-google-authenticator
# then run for each user:
google-authenticator

Настройка PAM и sshd:

# add to /etc/pam.d/sshd
auth required pam_google_authenticator.so

# in /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
UsePAM yes

Для организаций, использующих услуги многофакторной аутентификации, такие как Дуэт Или Окта Также рекомендуется разместить Хозяин Бастиона Благодаря двухфакторной аутентификации, централизованному логированию и унифицированным политикам IAM, это наилучший подход для больших команд.

Практические советы по управлению ключами и курсами.

Периодическая смена ключей, удаление неактивных ключей и использование систем управления идентификацией (LDAP/AD/SSO) для централизованного контроля имеют важное значение для обеспечения безопасности.

Пример предлагаемой конфигурации sshd_config

В следующем примере показаны рекомендуемые настройки (в зависимости от ваших конкретных потребностей может потребоваться дополнительная корректировка):

Protocol 2
Port 2222
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
LogLevel VERBOSE
AllowUsers deploy [email protected]

Дополнительные и практические советы для конкретных ситуаций.

Трейдеры: Используйте выделенный VPS для торговли, расположенный недалеко от бирж, измеряйте время отклика с помощью сетевых инструментов и держите SSH открытым только с определенных IP-адресов. Используйте защиту от DDoS-атак и протокол BGP.

Игра: Для игр на VPS используйте преимущества локаций с низким пингом и частных сетей. Контролируйте административный доступ через бастион.

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

Веб-сервер и WordPress: Используйте SSH-ключи для администраторов, защищенный SFTP для загрузки контента и CI/CD с помощью ключей развертывания SSH.

Информация об услугах и инфраструктуре

Сервисная компания в более чем 85 представительств по всему миру Предлагаем: различные типы VPS-серверов для торговли и игр, высокопроизводительные облачные серверы, графические серверы (GPU), серверы с защитой от DDoS-атак, услуги хостинга и доменов, CDN и сети с поддержкой BGP.

  • Для предоставления услуг общественного пользования используйте местоположение с защитой от DDoS-атак.
  • Для обеспечения безопасного доступа рекомендуется использовать Bastion в частной сети, подключаясь через VPN или статический IP-адрес.
  • Для обеспечения минимальной задержки выбирайте серверы с графическими процессорами, расположенные в местах, специально предназначенных для ИИ.
  • Для защиты прикладного уровня, наряду с другими мерами безопасности, следует использовать CDN и WAF.

Краткое описание и краткий контрольный список для внедрения

Контрольный список из 10 шагов для реализации вышеизложенного:

  1. Создание и использование защищенного SSH-ключа (ed25519 Или RSA4096)
  2. Деактивация Аутентификация по паролю и PermitRootLogin
  3. Измените порт SSH по умолчанию и ограничьте дополнительные права доступа.
  4. Установка Фэйл2Бан и конфигурация UFW/iptables
  5. Ограничение и использование IP-адресов РазрешитьПользователям/AllowGroups
  6. Включение ведения журналов и отправка журналов в центральный сервис.
  7. Внедрите двухфакторную или многофакторную аутентификацию для доступа к конфиденциальной информации.
  8. Использование Bastion/Jumphost для удалённого доступа.
  9. Проверьте конфигурацию с помощью sshd -T и инструменты аудита
  10. Периодически проверяйте ключи, вынимайте старые ключи и меняйте их местами.

Часто задаваемые вопросы

Вам также может понравиться