Принципы: защита в глубину и минимум привилегий

Урок про инженерные принципы, которые делают сеть устойчивой, даже когда один рубеж пробит.

Защита в глубину (defense in depth) — стратегия, при которой между нарушителем и ценным активом стоит несколько независимых рубежей, а не один.

Зачем несколько рубежей

Любая отдельная мера однажды откажет: появится новая уязвимость, ошибётся администратор, утечёт пароль. Если защита состоит из одной стены, её пробитие означает полный проигрыш. Если рубежей несколько и они независимы, то пробитие одного лишь замедляет атаку и даёт время заметить её.

Периметр (firewall)
   -> Сегментация (VLAN)
      -> Аутентификация сервиса
         -> Шифрование данных
            -> Мониторинг и логи
[ Актив ]

Минимум привилегий

Принцип least privilege: каждому пользователю, сервису и хосту даём ровно те права и доступы, что нужны для работы, и ни на грамм больше. Веб-серверу не нужен прямой доступ к интернету изнутри — закроем исходящие соединения. Базе данных не нужно слушать внешний интерфейс — привяжем её к локальному.

Микросегментация как следствие

Минимум привилегий на уровне сети превращается в сегментацию: хосты видят друг друга только там, где это необходимо бизнесу. Бухгалтерия не должна иметь сетевого доступа к серверам разработки.

Другие базовые принципы

ПринципСмысл
Fail-safe defaultsпо умолчанию запрещено; разрешаем явно
Separation of dutiesкритичное действие требует двух ролей
Defense in depthнесколько независимых рубежей
Least privilegeминимально необходимые права

Как работает под капотом

«По умолчанию запрещено» — это про политику firewall: последнее правило — deny all, а выше — точечные разрешения. Так новый, забытый сервис не окажется случайно открытым. Сравните два подхода в псевдоконфиге:

allow tcp 443 from any   # явно разрешили HTTPS
allow tcp 22 from admin  # SSH только админам
deny all                 # всё остальное закрыто

Если бы политика была «по умолчанию разрешено», то любой новый порт сразу торчал бы наружу.

Частые ошибки

  • Один мощный firewall на периметре и плоская сеть внутри — пробил периметр, и ты везде.
  • Учётные записи и сервисы с правами «на всякий случай». Лишние права = увеличенная поверхность атаки.
  • Правила firewall, начинающиеся с разрешений и без финального deny all.

Итоги

  • Несколько независимых рубежей выигрывают время и снижают ущерб.
  • Least privilege уменьшает поверхность атаки и на хостах, и в сети.
  • Политика «по умолчанию запрещено» — безопаснее «по умолчанию разрешено».
Проверьте себя
1. В чём суть принципа defense in depth?
AОдин максимально мощный рубеж защиты
BНесколько независимых рубежей между нарушителем и активом
CШифрование всех данных без исключения
DПолный запрет доступа в интернет
2. Что предписывает принцип минимума привилегий применительно к базе данных?
AОткрыть базу наружу для удобства
BДать всем сотрудникам доступ к базе
CПривязать базу к локальному интерфейсу и пускать только нужные сервисы
DОтключить базу от сети полностью
3. Каким правилом безопаснее завершать политику firewall?
Aallow all
Bdeny all
Clog all
Dпустой список правил