Доступ по SSH
Вход по ключам вместо паролей и запрет прямого входа под администратором снижают риск подбора учётных данных. Типовые параметры в /etc/ssh/sshd_config:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
Осторожно. Перед перезапуском службы откройте вторую сессию и проверьте, что вход по ключу работает. Иначе можно потерять доступ к серверу.
Минимальный файрвол
Принцип простой: всё закрыто, открыто только нужное. Пример на nftables:
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif lo accept
ip protocol icmp accept
ip6 nexthdr ipv6-icmp accept
tcp dport { 22, 443 } accept
}
}
Список портов подставьте свой. Порт 22 лучше ограничить доверенными адресами.
Секреты
- Не храните пароли, токены и приватные ключи в репозитории с кодом и конфигурациями.
- Выдавайте каждому сервису отдельные учётные данные с минимально необходимыми правами.
- При подозрении на утечку меняйте секрет сразу, а потом разбирайтесь в причинах.
- Задайте срок действия и порядок ротации для долгоживущих ключей.
Резервные копии
Распространённое правило «3-2-1»: три копии данных, на двух разных носителях, одна из них за пределами основной площадки. Копия считается рабочей только после успешной проверки восстановления.
Журналы и обновления
- Собирайте журналы авторизации и изменений конфигурации в отдельное место.
- Устанавливайте исправления безопасности по плану (см. «Эксплуатация и обновления»).
- Раз в квартал пересматривайте список открытых портов и учётных записей.