Настройка безопасности Linux: простые шаги для стабильной защиты

Настройка безопасности Linux: простые шаги для стабильной защиты

Если бы каждый сервер мог говорить, он бы наверняка пожаловался, что самые страшные угрозы приходят не из тёмных уголков интернета, а из ленивых администраторов, которые «потом, потом» нажимают apt update. Давайте раз и навсегда договоримся: безопасность — это не один героический скрипт, запущенный в 3 ночи, а ежедневная гигиена. В этой статье собрал — без занудства, но по делу — пять столпов базовой защиты Linux‑систем.

Почему вообще стоит беспокоиться

Linux, несмотря на репутацию «пробивного» вендора хакерских сердец, вовсе не бронебойный танк. Оставленный без патчей сервер с открытым SSH на 22‑м порту ловит перебор паролей примерно через пять минут после выхода в сеть. А дальше — вопрос статистики: рано или поздно подберут. Хорошая новость: большинство атак всё ещё автоматизированы и бьются о стандартные конфигурации. Чуть‑чуть дисциплины — и вы уже не в первой тысяче лёгких целей.

Регулярные обновления: простая победа над уязвимостями

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

# для Debian/Ubuntu
 sudo apt update && sudo apt full-upgrade -y
 # для RHEL/CentOS/Alma
 sudo dnf upgrade --refresh -y
 

Если система критична к простоям, используйте Livepatch или KernelCare — сервисы, которые «горячо» подменяют ядро без перезагрузки. Не стоит экономить: одна не поставленная заплатка CVE‑2025‑12345 сегодня — это ночь без сна завтра.

sudo: минимальные привилегии без боли

Работа под root — как езда без ремня. Удобно, пока не врежешься. sudo позволяет дать себе ровно столько власти, сколько нужно, и ни байта больше.

  • Создаём отдельного пользователя:
    adduser alice && usermod -aG sudo alice
  • Редактируем политику: запускаем sudo visudo и добавляем строку alice ALL=(ALL:ALL) ALL. Более тонко? Никто не мешает выдавать доступ лишь к одному скрипту резервного копирования.
  • Логируем всё: в том же файле можно указать Defaults log_output, чтобы каждая команда писалась в /var/log/sudo.log. Потом не придётся гадать, «кто снёс /etc».

Философия проста: чем меньше проводов свисает, тем труднее за них дёрнуть.

SSH: дверь, которую все пытаются вскрыть

По статистике Honeynet Project , 60 % автоматизированных атак на хосты начинаются с перебора SSH‑паролей. Сделаем же злоумышленникам жизнь скучной.

Ключевая аутентификация вместо паролей

# на клиенте
 ssh-keygen -t ed25519 -C "alice@workstation"
 ssh-copy-id alice@server
 

После этого в /etc/ssh/sshd_config:

PasswordAuthentication no
 PermitRootLogin no
 

Сохраняем, перезапускаем systemctl restart sshd. Теперь пароль на сервере не работает вовсе, а root через сеть недоступен.

Нестандартный порт? Да, но не ради безопасности

Перенести SSH на 2222‑й порт — это не броня, а косметика. Боты всё равно просканируют, но лог станет чище. Решайте по вкусу.

Двухфакторка — чтобы спать крепче

Пакет libpam-google-authenticator позволяет добавить TOTP. Подробности — в официальном репозитории . Да, придётся доставать телефон, но компромисс между удобством и паранойей лежит обычно где‑то посередине.

ufw — дружелюбная оболочка для сетевых правил

Настраивать iptables вручную — как программировать на ассемблере: круто, но редко нужно. ufw (Uncomplicated Firewall) закрывает 95 % бытовых сценариев двумя командами.

# установка
 sudo apt install ufw
 # политика «запрещено всё, что не разрешено»
 sudo ufw default deny incoming
 sudo ufw default allow outgoing
 # разрешаем только SSH
 sudo ufw allow 22/tcp comment "ssh"
 # или, если порт поменяли, так:
 # sudo ufw allow 2222/tcp comment "ssh non‑standard"
 # включаем
 sudo ufw enable
 

Команда ufw status numbered покажет правила, а ufw delete 1 удалит первое. Понятно даже в полтретьего ночи.

fail2ban — робот, который банит роботов

Когда скрипт‑киди пытается угадать ваш пароль раз за разом, fail2ban читает логи, считает промахи и временно кидает IP‑адрес в отказ. Экономит вам нервы, а серверу — процессорное время.

# установка
 sudo apt install fail2ban
 # копируем конфиг для кастомизации
 sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
 

Внутри jail.local активируем секцию [sshd] и меняем — при желании — таймаут бана, например bantime = 1h. После перезапуска — systemctl restart fail2ban — всё работает. Проверить, кого уже забанили, можно командой fail2ban-client status sshd.

Ещё пять коротких советов, которые не поместились выше

  1. Резервные копии: Borg или Restic шифруют данные перед отправкой и знают дедупликацию. Бэкап без восстановления — это только видимость безопасности.
  2. Мониторинг логов: GoAccess визуализирует веб‑логи в реальном времени — замечательная штука, чтобы увидеть всплеск 404 от бота.
  3. Контроль целостности: AIDE создаёт контрольные суммы файлов и орёт, если что-то изменилось.
  4. AppArmor или SELinux: да, политика может выбесить за пять минут, но она же остановит эксплойт, пытающийся писать куда не просили.
  5. Не хранить ключи где попало: менеджеры секретов вроде HashiCorp Vault помогают избежать конфуза «ой, забыл AWS‑токен на GitHub».

Заключение

Безопасность Linux — это не затворничество в пещере со свечой и пожарным топором, а серия простых привычек. Раз в неделю обновили пакеты, раз настроили ufw, включили fail2ban, отключили root‑SSH — и уже закрыли подавляющее большинство типовых векторов. Мир совершенен не будет, но ваш сервер теперь чуть‑чуть ближе к статусу «скучная цель» для злоумышленника. А скучные цели, как известно, редко взламывают первыми.

Linux безопасность ssh sudo ufw fail2ban обновления сервер firewall защита
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

Пора переводить «эксплойт» на язык бизнеса.

PHDays Fest — это площадка, где CISO учатся доносить риски так, чтобы топы услышали и поняли.

*Фест. Реклама. АО «Позитив Текнолоджиз», ИНН 7718668887