Исследовательский дневник · Berserker Lab · Заметки Европа · Весна 2026 · Связаться
Berserker Lab Материалы и обзоры

Безопасность домашнего сервера: SSH, файрволы и изоляция Docker

Пошаговое руководство по настройке безопасности Linux-сервера, блокировка портов и защита от перебора паролей.

Дмитрий Петров
Дмитрий Петров Автор материала · 13 мин
Безопасность домашнего сервера: SSH, файрволы и изоляция Docker
Выше — Логи системы мониторинга попыток несанкционированного входа по SSH на открытый сервер.

Как только домашний сервер получает белый IP-адрес или доменное имя и становится доступен из внешней сети, он начинает подвергаться автоматическому сканированию ботами. Без базовой настройки безопасности сервер будет взломан в течение нескольких часов.

Первый и самый важный шаг — отключение авторизации по паролю для службы SSH. Вход должен осуществляться исключительно по криптографическим ключам (Ed25519). В конфигурационном файле `/etc/ssh/sshd_config` необходимо установить параметр `PasswordAuthentication no`. Также рекомендуется сменить стандартный порт SSH (22) на любой неиспользуемый высокий порт, чтобы снизить количество автоматического спама в логах.

Глубокий анализ темы позволяет выявить неочевидные закономерности и получить ценный практический опыт.

Настройка SSH по ключам и отключение паролей

Вторым рубежом защиты является настройка файрвола (UFW или iptables). Все порты, кроме веб-сервера (80/443) и кастомного SSH, должны быть закрыты для внешних запросов. Утилита Fail2ban защитит сервер от подбора паролей, временно блокируя IP-адреса, с которых происходят частые неудачные попытки подключения.

На уровне контейнеров Docker важно следить за тем, чтобы приложения не запускались с правами суперпользователя (root) внутри контейнера, и использовать внутренние изолированные Docker-сети (bridge networks) без прямого проброса портов во внешнюю систему без необходимости.