Открыть сервис

Network ACL

Network ACL (сетевой список контроля доступа) — это набор правил, применяемых к сетевому трафику на уровне подсети или виртуального сетевого интерфейса, определяющий, какой трафик разрешён или запрещён на основе таких параметров, как IP-адреса источника и назначения, протоколы и порты. В облачных вычислениях Network ACL (NACL) является одним из основных инструментов обеспечения сетевой безопасности наряду с группами безопасности (Security Groups).

История и происхождение

Концепция списков контроля доступа (ACL) возникла в классических компьютерных сетях и операционных системах, где ACL применялись к файлам и каталогам для управления доступом пользователей. С развитием сетевых технологий ACL были адаптированы для маршрутизаторов и коммутаторов, позволяя фильтровать трафик на основе IP-адресов и портов. В облачных платформах, таких как Amazon Web Services (AWS), Microsoft Azure и Google Cloud Platform (GCP), Network ACL стали стандартным компонентом виртуальных частных облаков (VPC), предоставляя дополнительный уровень защиты на границе подсети.

Отличие от групп безопасности

В облачных средах Network ACL часто сравнивают с группами безопасности (Security Groups). Основные различия включают:

ПараметрNetwork ACLГруппа безопасности
Уровень примененияПодсетьЭкземпляр (виртуальная машина)
ПравилаСтатусные (stateless) — не отслеживает состояние соединенияСостоянийные (stateful) — автоматически разрешает ответный трафик
Порядок правилПравила оцениваются по порядку номеров (от меньшего к большему)Все правила оцениваются как единый набор
Поддержка denyЯвно поддерживает правила запретаНе поддерживает явные правила deny (только allow)
Количество правилОграничено (например, в AWS — до 20 правил на один NACL)Ограничено (в AWS — до 60 правил на одну группу)

Структура и правила

Network ACL состоит из упорядоченного списка правил, каждое из которых включает:

Правила применяются последовательно: первое совпадение определяет действие. Если ни одно правило не совпало, применяется неявное правило deny (запрет) по умолчанию.

Применение в облачных платформах

Amazon Web Services (AWS)

В AWS Network ACL является необязательным компонентом VPC. Каждая подсеть может быть связана с одним NACL (по умолчанию — с NACL, разрешающим весь трафик). AWS рекомендует использовать NACL как дополнительный уровень защиты, особенно для публичных подсетей, где размещаются веб-серверы. Типичные сценарии:

Microsoft Azure

В Azure аналогом Network ACL является Network Security Group (NSG), который, несмотря на название, работает на уровне подсети или сетевого интерфейса. NSG в Azure является состоянийным (stateful), что отличает его от AWS NACL. Правила NSG также упорядочены по приоритету (от 100 до 4096). Azure NSG поддерживает теги служб (например, «Internet», «AzureLoadBalancer») для упрощения правил.

Google Cloud Platform (GCP)

В GCP Network ACL реализован через Firewall Rules (правила брандмауэра), которые применяются к VPC. Правила являются состоянийными и могут быть настроены для входящего или исходящего трафика. GCP поддерживает теги целей (target tags) для применения правил к конкретным экземплярам.

Преимущества и ограничения

Преимущества

Ограничения

Пример настройки

Допустим, необходимо разрешить входящий HTTP-трафик (порт 80) из интернета (0.0.0.0/0) на веб-серверы в подсети 10.0.1.0/24, но запретить SSH (порт 22) из любого источника. Правила для входящего трафика:

НомерТипПротоколПорт источникаПорт назначенияИсточникНазначениеДействие
100allowTCPЛюбой800.0.0.0/010.0.1.0/24Разрешить
200denyTCPЛюбой220.0.0.0/010.0.1.0/24Запретить
*denyЛюбойЛюбойЛюбой0.0.0.0/00.0.0.0/0Запретить (неявное)

Для исходящего трафика необходимо разрешить ответные пакеты (например, порт 80 в обратном направлении).

Безопасность и лучшие практики

Критика и альтернативы

Network ACL критикуется за отсутствие состояния в некоторых реализациях (AWS), что усложняет настройку для протоколов с динамическими портами (FTP, SIP). В таких случаях рекомендуется использовать группы безопасности или специализированные брандмауэры следующего поколения (NGFW). Также NACL неэффективен против атак на прикладном уровне (SQL-инъекции, XSS), для которых требуются веб-приложенные брандмауэры (WAF).

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →