- Достаточно ли защищен доступ по SSH к вашему серверу Ubuntu?
- Обзор и цели
- 1) Используйте надежные SSH-ключи и отключите пароли.
- 2) Ограничение доступа: порт, пользователи, адреса и разрешенные пользователи/группы пользователей.
- 3) Предотвращение атак методом перебора паролей и управление атаками: Fail2Ban, UFW и защита от DDoS-атак.
- 4) Мониторинг, аудит и обнаружение вторжений
- 5) Двухфакторная аутентификация, бастион и управление доступом (PAM, 2FA)
- Пример предлагаемой конфигурации sshd_config
- Дополнительные и практические советы для конкретных ситуаций.
- Информация об услугах и инфраструктуре
- Краткое описание и краткий контрольный список для внедрения
- Часто задаваемые вопросы
Достаточно ли защищен доступ по 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 23) Предотвращение атак методом перебора паролей и управление атаками: 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 шагов для реализации вышеизложенного:
- Создание и использование защищенного SSH-ключа (ed25519 Или RSA4096)
- Деактивация
Аутентификация по паролюиPermitRootLogin - Измените порт SSH по умолчанию и ограничьте дополнительные права доступа.
- Установка Фэйл2Бан и конфигурация UFW/iptables
- Ограничение и использование IP-адресов
РазрешитьПользователям/AllowGroups - Включение ведения журналов и отправка журналов в центральный сервис.
- Внедрите двухфакторную или многофакторную аутентификацию для доступа к конфиденциальной информации.
- Использование Bastion/Jumphost для удалённого доступа.
- Проверьте конфигурацию с помощью
sshd -Tи инструменты аудита - Периодически проверяйте ключи, вынимайте старые ключи и меняйте их местами.









