Документация

Безопасность

Базовые меры защиты доступа: кто и откуда может подключаться, как хранить секреты и как не потерять данные.

Схема: файрвол пропускает только разрешённые подключения.
Схема: файрвол пропускает только разрешённые подключения.

Доступ по 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.
Схема: правило резервного копирования 3-2-1.

Резервные копии

Распространённое правило «3-2-1»: три копии данных, на двух разных носителях, одна из них за пределами основной площадки. Копия считается рабочей только после успешной проверки восстановления.

Журналы и обновления

  • Собирайте журналы авторизации и изменений конфигурации в отдельное место.
  • Устанавливайте исправления безопасности по плану (см. «Эксплуатация и обновления»).
  • Раз в квартал пересматривайте список открытых портов и учётных записей.