Базовые практики безопасности
Это минимальный набор, который применяется на всех узлах. Он не делает инфраструктуру неприступной, но убирает большинство случайных проблем.
Доступ
- SSH только по ключам, парольная аутентификация отключена.
- Root — только по ключу и только с административных адресов.
- Отдельные ключи на человека и на задачу; общие ключи не используются.
- Fail2ban на SSH с блокировкой через фаервол.
Сеть
- UFW (или nftables) в режиме default deny incoming.
- Наружу открыто только то, что действительно нужно, и по возможности с ограничением по источнику.
- Приватные сервисы слушают loopback.
Обновления
- Критичные обновления безопасности — в течение 72 часов.
- Ядро и системные пакеты — по окну обслуживания, с проверкой после перезагрузки.
- Перед крупным обновлением снимается резервная копия и фиксируется текущая версия.
Секреты
- Пароли и токены не попадают в git, в историю shell и в логи.
- Файлы с секретами — права 0600, владелец — служебный пользователь.
- Где возможно, используются systemd credentials вместо переменных окружения.
Чек-лист нового узла: ключи вместо паролей, UFW, fail2ban, unattended-upgrades,
синхронизация времени, мониторинг, резервная копия, запись в реестре.