SSH — это мой основной способ безопасно заходить на удалённые серверы. Он шифрует весь трафик, проверяет аутентификацию и передаёт данные надёжно, полностью вытеснив старые и опасные штуки вроде Telnet. Но по умолчанию SSH уязвим: brute-force атаки, MITM, слабые настройки — всё это реальные угрозы. Поэтому я всегда минимизирую риски через конфиг, firewall, мониторинг и тд.
В этой статье я сначала расскажу общие принципы, которые я применяю везде, а потом дам ссылки на пошаговые инструкции по разным платформам.
Мой чек-лист:
Важное предупреждение:
Перед любыми изменениями я всегда убеждаюсь, что у меня есть альтернативный доступ (консоль провайдера, KVM, IPMI, rescue-режим). Иначе можно случайно потерять доступ навсегда.
Ниже будут прямые ссылки на те или иные примеры из практики на разных платформах:
Настройка firewall в Ubuntu 24 [UFW]
Защита ssh с помощью firewall Ubuntu 24 [UFW]
Защита SSH fail2ban в Ubuntu 24
Защита SSH — это тонкий процесс, требующий внимательного подхода. Сделав все правильно я сразу закладываю хороший задел на безопасную работу в будущем.
В этой статье я сначала расскажу общие принципы, которые я применяю везде, а потом дам ссылки на пошаговые инструкции по разным платформам.
Мой чек-лист:
- Установка OpenSSH-сервера
Я всегда проверяю, что он установлен, запущен и работает
- Меняю Port по умолчанию (не 22)
- PermitRootLogin no — отключаю прямой вход под root
- PasswordAuthentication yes — по умолчанию вход по паролям
- PubkeyAuthentication yes — явно включаю ключи, если вход нужен по ключам
- Встроенный Sftp-сервер опционально отключаю
- разрешаю SSH-трафик только с доверенных IP-адресов
- если сервер доступен из интернета, это существенно снижает число атак
- Устанавливаю и настраиваю Fail2Ban — он автоматически блокирует IP после нескольких неудачных попыток входа, защищая сервер от brute-force-атак.
- Включаю 2FA, через Google Authenticator или аппаратные ключи (YubiKey)
- Ограничиваю пользователей: через директиву AllowUsers
- Слежу за логами: /var/log/auth.log или /var/log/secure
- Обновление системы — когда необходимо и сначала на тестовой машине, копии или клоне рабочей и только после успеха на продакшене
Перед любыми изменениями я всегда убеждаюсь, что у меня есть альтернативный доступ (консоль провайдера, KVM, IPMI, rescue-режим). Иначе можно случайно потерять доступ навсегда.
Ниже будут прямые ссылки на те или иные примеры из практики на разных платформах:
Настройка firewall в Ubuntu 24 [UFW]
Защита ssh с помощью firewall Ubuntu 24 [UFW]
Защита SSH fail2ban в Ubuntu 24
Защита SSH — это тонкий процесс, требующий внимательного подхода. Сделав все правильно я сразу закладываю хороший задел на безопасную работу в будущем.