Урок после xz-бэкдора: как вы реально харденили SSH?

Рейтинг: 55.1% · 24 голосов
Дистрибутивы Linux, настройка серверов, сети, systemd, bash-скрипты, безопасность, бэкапы, мониторинг и сопровождение инфраструктуры.
Ответить
Аватара пользователя
dukedukestar
Сообщения: 1
Зарегистрирован: 13 май 2026, 11:45

Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение dukedukestar »

После истории с CVE-2024-3094 в xz, где бэкдор лез именно в sshd через liblzma, пересматриваю весь периметр. Интересно собрать в одном месте, что народ реально делает с SSH помимо отключения паролей. Делитесь конфигами.
👍 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — kernel2
После xz добавил несколько конкретных вещей в конфиг: `AllowUsers` явным списком — самое простое что отсекает кучу векторов, даже если учётка существует. `MaxAuthTries 3` и `LoginGraceTime 30`. Поставил fail2ban с jail для sshd с порогом 3 попытки и баном на 24 часа. На серверах где не нужен интерактивный шелл — `ForceCommand` с ограничением конкретной командой. На хостах с публичным IP — порт…
Перейти к ответу →
Аватара пользователя
infern
Сообщения: 87
Зарегистрирован: 11 май 2026, 10:23

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение infern »

Базовый минимум: PasswordAuthentication no, PermitRootLogin no, только ключи ed25519. Дальше — увести SSH за VPN/Wireguard, чтобы порт 22 вообще не торчал в интернет. Это убирает 99% автоматического сканирования сразу.
👍1 ❤️ 🔥2 😄 🤔
Аватара пользователя
barbs
Сообщения: 50
Зарегистрирован: 19 май 2026, 04:16

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение barbs »

Добавлю: AllowUsers с явным списком, и обязательно fail2ban или crowdsec на лог. Crowdsec мне зашёл больше — он шарит репутацию IP между инсталляциями, банит атакующих ещё до того, как они до тебя дойдут.
👍1 ❤️1 🔥1 😄2 🤔
Аватара пользователя
dmsmith
Сообщения: 26
Зарегистрирован: 11 май 2026, 08:37

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение dmsmith »

nginx_ninja, в точку — там как раз rolling-дистрибутивы (Debian sid, Fedora rawhide) поймали заражённую версию, а stable не успел. Иногда консерватизм спасает.
👍3 ❤️2 🔥2 😄3 🤔2
Аватара пользователя
Austkin
Сообщения: 83
Зарегистрирован: 11 май 2026, 03:40

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение Austkin »

Не забудьте про MFA на SSH: pam_google_authenticator или ключи на YubiKey (FIDO2, sk-ed25519). Даже если ключ утёк, без второго фактора не зайдут. На критичные хосты must have.
👍1 ❤️1 🔥 😄 🤔
Аватара пользователя
middlewarlock
Сообщения: 43
Зарегистрирован: 12 май 2026, 05:30

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение middlewarlock »

И отдельно — мониторьте исходящие соединения от sshd. Бэкдор xz должен был активироваться по определённому ключу, но сам факт, что sshd куда-то стучится, должен ловиться. Egress-фильтрация недооценена.
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
infern
Сообщения: 87
Зарегистрирован: 11 май 2026, 10:23

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение infern »

Спасибо, скопировал себе чек-лист. Не знал про sk-ed25519 с YubiKey, как раз ключ валяется. Поднял Wireguard, спрятал 22 порт за него — логи сразу опустели, в них больше нет тысяч попыток брутфорса.
👍1 ❤️1 🔥 😄1 🤔
Аватара пользователя
kernel2
Сообщения: 30
Зарегистрирован: 20 май 2026, 10:58

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение kernel2 »

✔ Лучший ответ — сформирован автоматически
После xz добавил несколько конкретных вещей в конфиг: `AllowUsers` явным списком — самое простое что отсекает кучу векторов, даже если учётка существует. `MaxAuthTries 3` и `LoginGraceTime 30`. Поставил fail2ban с jail для sshd с порогом 3 попытки и баном на 24 часа. На серверах где не нужен интерактивный шелл — `ForceCommand` с ограничением конкретной командой. На хостах с публичным IP — порт поменял с 22 на что-то выше 1024, это не безопасность сама по себе, но отсекает 99% автоматического сканирования и шум в логах.
👍1 ❤️1 🔥1 😄 🤔2
Аватара пользователя
asynclover
Сообщения: 70
Зарегистрирован: 13 май 2026, 04:35

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение asynclover »

Для хостов где вообще не нужен внешний SSH — ставлю Tailscale и закрываю 22 полностью для публичного интерфейса. SSH только внутри Tailscale-сети. Это убирает весь периметр проблемы: нет публичного порта — нет атаки через него. После xz я ещё добавил в мониторинг алерт на изменение библиотек которые линкуются к sshd через `ldd /usr/sbin/sshd` — если что-то поменяется в наборе .so без обновления пакетов, прилетит уведомление.
👍1 ❤️2 🔥 😄 🤔
Аватара пользователя
Tcraw62981
Сообщения: 41
Зарегистрирован: 11 май 2026, 21:02

Re: Урок после xz-бэкдора: как вы реально харденили SSH?

Сообщение Tcraw62981 »

На тему supply chain как таковой — настроил автоматическую проверку подписей пакетов и включил `APT::Get::AllowUnauthenticated false` явно в конфиге, хотя это дефолт. Добавил в CI проверку `debsums` на критичных машинах при деплое. Это не серебряная пуля, но xz показал что атака шла через патчи в легитимный пакет — значит нужна аномалия-детекция на бинарном уровне, а не только на уровне подписи пакета.
👍1 ❤️1 🔥3 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK
Похожие запросы: как настроить ssh вход по ключу без пароля

Вернуться в «Linux и системное администрирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя