AlmaLinux 9: базовая защита от взлома с нуля
Свежий сервер в интернете атакуют с первых минут: боты перебирают пароли, ищут открытые порты и известные дыры. Базовая защита AlmaLinux 9 от взлома с нуля — это несколько простых, но обязательных мер, которые отсекают подавляющее большинство автоматических атак. Мы пройдём чек-лист: перейдём на SSH-ключи, настроим firewalld, поставим fail2ban, оставим включённым SELinux и включим автообновления. У корпоративного AlmaLinux безопасные умолчания сильнее, чем у многих дистрибутивов, и это играет вам на руку.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Как ломают серверы и почему это просто
Важно понимать: подавляющая часть взломов — это не работа гениального хакера, а автоматика. Боты круглосуточно сканируют весь интернет, подбирают пароли к SSH, стучатся в открытые порты и пробуют известные уязвимости в устаревшем ПО. Их цель — не вы лично, а любой плохо настроенный сервер, который попадётся. Именно поэтому базовая защита так эффективна: она делает вас невыгодной целью для массовой автоматики, а таких атак 99%.
Логика защиты строится вокруг сокращения возможностей злоумышленника. Убираем слабые способы входа (пароли), закрываем ненужные двери (порты), быстро затыкаем известные дыры (обновления), ставим ловушки на перебор (fail2ban) и держим включённым SELinux, который ограничивает даже взломанную службу. Ни одна мера по отдельности не панацея, но вместе они превращают лёгкую добычу в крепкий орешек. AlmaLinux помогает уже на старте: firewalld и SELinux здесь включены по умолчанию, так что часть работы сделана за вас. Пройдёмся по чек-листу.
Переходим на вход по SSH-ключу
Пароль — самое слабое звено, потому что его можно перебрать. Первым делом переведите вход на SSH-ключи. На своём компьютере сгенерируйте пару и скопируйте публичный ключ на сервер:
ssh-keygen -t ed25519
ssh-copy-id ваш_пользователь@ВАШ_IP
Убедившись, что вход по ключу работает, отключите вход по паролю и запретите прямой вход root в файле /etc/ssh/sshd_config, выставив PasswordAuthentication no и PermitRootLogin prohibit-password, затем перезапустите службу командой sudo systemctl restart sshd (в RHEL-семействе служба зовётся sshd). После этого перебор паролей становится бессмысленным: сервер даже не спрашивает пароль, а подобрать ключ невозможно. Это самая важная мера из всего чек-листа — она в одиночку отсекает большую часть атак на SSH.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на AlmaLinux 9Настраиваем firewalld
Второй рубеж — межсетевой экран. В AlmaLinux firewalld уже включён, вам нужно лишь оставить открытым необходимое:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
Флаг --permanent делает правило постоянным, --reload применяет его. Смысл фаервола прост: даже если какая-то служба случайно откроется наружу, снаружи к ней не пробьются, пока вы явно не разрешите. Служебные порты — баз данных, кэшей, панелей — наружу не открывайте вовсе, а подключайтесь к ним через SSH-туннель. Это резко сокращает поверхность атаки. Проверить активные правила можно командой sudo firewall-cmd --list-all — в списке должно быть только осознанно разрешённое.
Ставим fail2ban против перебора
Даже с отключёнными паролями боты продолжают долбиться, создавая шум и нагрузку. Fail2ban следит за логами и временно банит адреса подозрительных попыток входа. В AlmaLinux он лежит в репозитории EPEL:
sudo dnf install -y epel-release
sudo dnf install -y fail2ban
sudo systemctl enable --now fail2ban
После установки создайте файл /etc/fail2ban/jail.local и включите в нём наблюдение за sshd, задав число попыток и время бана. Проверить работу можно командой sudo fail2ban-client status sshd — она покажет число забаненных адресов. Fail2ban хорошо дополняет ключи и фаервол: фаервол определяет, к каким портам вообще можно подключиться, а fail2ban фильтрует злоупотребления на разрешённом SSH-порту, снимая с сервера навязчивый фоновый перебор.
Стоит пояснить, как именно fail2ban принимает решение о блокировке, чтобы настроить его осмысленно. Он в реальном времени читает лог службы (для SSH это журнал systemd) и ищет в нём строки о неудачных попытках входа. Когда с одного адреса за отведённое окно времени набирается больше разрешённого числа провалов, fail2ban добавляет этот адрес в фаервол на заданный срок, после чего автоматически снимает бан. Три ключевых параметра в jail.local управляют этим поведением: maxretry — сколько промахов допустить, findtime — за какое окно их считать, bantime — на сколько банить. Для боевого сервера разумны строгие значения, но не забывайте, что при отключённом парольном входе неудачных попыток и так почти нет, поэтому fail2ban здесь скорее вторая линия и защита прочих сервисов. Начав с умеренных настроек, вы всегда сможете ужесточить их, наблюдая за реальной картиной атак в статусе jail.
Не отключаем SELinux
Отдельный и важный пункт именно для AlmaLinux: оставьте SELinux включённым в режиме enforcing. Новички часто первым делом его отключают, столкнувшись с непонятным запретом, — это серьёзная ошибка, лишающая сервер целого слоя защиты. SELinux навешивает на каждый файл и процесс метку-контекст и разрешает действие, только если политика допускает взаимодействие. Практический смысл: даже если злоумышленник взломает веб-сервер через уязвимость, SELinux не даст скомпрометированной службе выйти за отведённые ей рамки — прочитать чужие файлы, запустить посторонние процессы. Проверьте состояние командой sestatus — должно быть enforcing. При законной блокировке правильная реакция не отключить SELinux, а точечно разрешить нужное через setsebool или контекст, а разобраться помогает утилита sealert.
Автообновления и финальный чек-лист
Огромная доля взломов идёт через известные уязвимости, для которых давно вышли патчи. AlmaLinux ставит обновления безопасности сам через dnf-automatic:
sudo dnf install -y dnf-automatic
sudo systemctl enable --now dnf-automatic.timer
Предварительно в /etc/dnf/automatic.conf задайте apply_updates = yes, чтобы патчи устанавливались, а не только скачивались. Пройдитесь по итоговому списку: вход только по ключу, root и пароли отключены, firewalld открывает лишь нужное, fail2ban ловит перебор, SELinux в enforcing, автообновления работают, лишние службы отключены (проверьте sudo ss -tulpn), sudo только у доверенных членов wheel. Если все пункты выполнены, сервер надёжно защищён от массовых атак. Безопасность — это привычка: раз в месяц заглядывайте в sudo journalctl -p err, проверяйте порты и обновляйте систему командой sudo dnf upgrade.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на AlmaLinux 9Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
С чего начать, если время ограничено?
Начните с двух вещей: перевод SSH на ключи с отключением паролей и проверка firewalld. Эти меры дают наибольший эффект, а SELinux в AlmaLinux уже работает за вас по умолчанию.
Стоит ли отключать SELinux, если он мешает?
Нет. Отключение убирает целый слой защиты. Правильнее разобрать конкретную блокировку через sealert и точечно разрешить нужное действие переключателем или контекстом.
Как понять, что сервер уже взломали?
Тревожные признаки — незнакомые процессы, странный исходящий трафик, новые учётные записи, всплеск нагрузки без причины. При подозрении безопаснее развернуть сервер заново из чистого образа и бэкапа.
Как оплатить защищённый VPS из России?
У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT — иностранная карта не требуется.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.