Обзор
Security Groups и Network Access Control Lists (NACLs) — это обе функции безопасности AWS, но они работают на разных уровнях и функционируют по-разному.
Область управления
- Security Groups: Контролируют доступ на уровне экземпляра, защищая отдельные EC2-инстансы
- NACLs: Контролируют доступ на уровне подсети, защищая все инстансы внутри подсети
Типы правил
- Security Groups: Поддерживают только правила
allow
- NACLs: Поддерживают как правила
allow, так и deny, обеспечивая более гранулярный контроль
Обработка правил
- Security Groups: Stateful фильтрация — все правила вычисляются вместе перед тем, как разрешить трафик; если входящий трафик разрешён, исходящий ответ разрешается автоматически
- NACLs: Stateless фильтрация — правила обрабатываются последовательно по номеру правила; и входящие, и исходящие правила должны явно разрешить трафик
Ограничения на назначение
- Security Groups: Можно назначить неограниченное количество на инстанс
- NACLs: Ограничены 5 на подсеть
Когда использовать каждый
Security Groups идеальны для:
- Контроля доступа на уровне инстанса
- Простых политик на основе разрешений
- Stateful управления трафиком
NACLs лучше всего подходят для:
- Политик доступа на уровне подсети
- Блокирования определённого трафика правилами deny
- Stateless-защиты
- Дополнительного слоя безопасности вместе с security groups
На практике оба инструмента обычно используются вместе, чтобы обеспечить многоуровневую безопасность — security groups защищают на уровне инстанса, а NACLs фильтруют трафик на уровне подсети.