Сетевая безопасность в облаке: security groups
Урок про то, как принципы firewall и минимума привилегий выглядят в облаке.
Security group — виртуальный stateful-firewall облачного провайдера, привязанный к инстансу и описывающий разрешённый входящий и исходящий трафик.
Зачем отдельная глава про облако
В облаке нет физического коммутатора, который вы держите в руках, зато есть программно-определяемая сеть. Принципы те же — минимум привилегий, сегментация, фильтрация, — но инструменты другие. Главный из них — security groups.
Как устроены security groups
Это набор правил «разрешить», применяемый к сетевому интерфейсу инстанса. Всё, что не разрешено, неявно запрещено (fail-safe defaults). Группы stateful: разрешив входящее соединение, не нужно отдельно открывать порт для ответа.
# концептуальный вид правил security group
ingress:
- protocol: tcp
port: 443
source: 0.0.0.0/0 # HTTPS из интернета
- protocol: tcp
port: 22
source: 203.0.113.10/32 # SSH только с админ-адреса
egress:
- protocol: tcp
port: 443
destination: 0.0.0.0/0Слои сетевой защиты в облаке
| Уровень | Аналог |
| VPC / виртуальная сеть | изолированная частная сеть |
| Подсети | сегментация (public/private) |
| Security groups | stateful-firewall на инстанс |
| Network ACL | stateless-фильтр на подсеть |
Как работает под капотом
Провайдер реализует security groups как распределённый firewall на гипервизоре: правила применяются к каждому пакету интерфейса инстанса ещё до того, как трафик попадает в виртуальную сеть. Поэтому изоляция работает, даже если инстансы в одной подсети. Приватные подсети без публичного IP недоступны из интернета напрямую — доступ к ним идёт через bastion/VPN.
Частые ошибки
- Открыть SSH (22) или базу на
0.0.0.0/0«временно» — и забыть. - Слишком широкие группы «чтобы работало» вместо точечных правил.
- Публичный IP у инстанса, которому он не нужен.
- Открытые наружу хранилища и панели управления — частая причина утечек.
Итоги
- В облаке принципы те же, инструменты — security groups, подсети, VPC.
- Security groups — stateful и работают по правилу «разрешено только явное».
- Базы и админ-доступ нельзя открывать на весь интернет.