Группы сетевой безопасности и группы безопасности приложений
Фильтруйте входящий и исходящий трафик с помощью правил NSG и логически группируйте VM с помощью групп безопасности приложений, чтобы упростить управление правилами.
«Группы сетевой безопасности и группы безопасности приложений» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Что такое группа безопасности сети?
Группа безопасности сети (NSG) действует как виртуальный брандмауэр для ресурсов Azure. Она содержит список правил безопасности, разрешающих или запрещающих входящий и исходящий сетевой трафик на основе IP-адреса источника, IP-адреса назначения, номера порта и протокола. NSG можно связать с подсетями (это затронет все ресурсы в подсети) или отдельными сетевыми интерфейсами (это затронет одну VM). Если существуют NSG подсети и NSG NIC, Azure оценивает обе: для входящего трафика сначала применяется NSG подсети, а для исходящего — NSG NIC.
# Create an NSG
az network nsg create \
--resource-group myRG \
--name myNSGСтруктура правила NSG
Каждое правило NSG имеет следующие свойства: Приоритет — число от 100 до 4096; сначала оцениваются меньшие числа. Источник/назначение — IP-адрес, диапазон CIDR, тег службы или группа безопасности приложений. Порт источника/назначения — определённые номера портов или диапазоны (например, 80, 443, 3389 или 1024-65535). Протокол — TCP, UDP, ICMP или любой. Действие — Allow или Deny. Правила оцениваются в порядке приоритета; применяется первое совпавшее правило. Если ни одно правило не совпало, применяются правила по умолчанию: запретить весь входящий и разрешить весь исходящий трафик.
# Allow HTTPS inbound from the internet
az network nsg rule create \
--resource-group myRG \
--nsg-name myNSG \
--name AllowHTTPS \
--priority 110 \
--direction Inbound \
--source-address-prefixes Internet \
--destination-port-ranges 443 \
--protocol Tcp \
--access AllowПравила NSG по умолчанию
Каждый NSG содержит три правила входящего трафика по умолчанию и три правила исходящего трафика по умолчанию с приоритетами 65000–65500, которые нельзя удалить. Правила входящего трафика по умолчанию: AllowVnetInBound (разрешает трафик из VNet), AllowAzureLoadBalancerInBound (разрешает проверки работоспособности Azure), DenyAllInBound (запрещает всё остальное). Правила исходящего трафика по умолчанию: AllowVnetOutBound, AllowInternetOutBound, DenyAllOutBound. Переопределить правила по умолчанию можно, добавив правила с меньшими номерами приоритета (100–64999), которые сработают раньше правил по умолчанию.
Теги служб в правилах NSG
Теги служб — это заранее определённые группы диапазонов IP-адресов для служб Azure. Они позволяют создавать краткие правила NSG, не указывая длинные списки IP-адресов, которые со временем меняются. Распространённые теги служб: Internet — все IP-адреса за пределами VNet. VirtualNetwork — все IP-адреса внутри VNet. AzureLoadBalancer — IP-адрес инфраструктурного балансировщика нагрузки Azure. Storage — IP-адреса службы Azure Storage в выбранном регионе. AzureActiveDirectory — конечные точки Entra ID. Microsoft автоматически поддерживает эти теги в актуальном состоянии, поэтому правила NSG остаются корректными даже при изменении IP-адресов служб.
# Allow outbound to Azure Storage using a service tag
az network nsg rule create \
--resource-group myRG \
--nsg-name myNSG \
--name AllowStorageOutbound \
--priority 120 \
--direction Outbound \
--destination-address-prefixes Storage \
--destination-port-ranges 443 \
--protocol Tcp \
--access AllowСвязывание NSG с подсетями
Связывание NSG с подсетью применяет его правила ко всем ресурсам в этой подсети, что делает такой подход самым эффективным способом масштабного применения сетевых политик. Например, связывание NSG с именем «DenyRDP» с подсетью уровня данных не позволяет обращаться к любой VM в этой подсети через RDP (порт 3389) извне — независимо от того, что разрешают NSG уровня NIC. Такой NSG на уровне подсети действует как первая линия защиты ещё до того, как трафик достигает отдельных VM, уменьшая поверхность атаки на границе сети.
# Associate NSG with a subnet
az network vnet subnet update \
--resource-group myRG \
--vnet-name myVNet \
--name web-tier \
--network-security-group myNSGЧто такое группы безопасности приложений?
Группы безопасности приложений (ASG) позволяют объединять сетевые интерфейсы VM Azure по роли приложения, а не по IP-адресу. Например, можно создать ASG с именами webServers, appServers и dbServers, а затем назначить NIC каждой VM в соответствующую ASG. После этого в правилах NSG можно написать: «разрешить трафик от webServers к appServers через порт 8080» — без указания IP-адресов. При добавлении или удалении VM достаточно изменить их принадлежность к ASG, и все правила NSG автоматически применятся корректно, без изменения самих правил.
# Create an Application Security Group
az network asg create \
--resource-group myRG \
--name webServers
# Associate a VM's NIC with the ASG
az network nic ip-config update \
--resource-group myRG \
--nic-name myWebVMNic \
--name ipconfig1 \
--application-security-groups webServersПравила NSG с использованием ASG
После определения ASG и назначения VM можно создавать правила NSG, в которых ASG указываются как источник или назначение. Такой подход гораздо удобнее правил на основе IP-адресов, поскольку: не требуется управлять IP-адресами — Вам не нужно знать IP-адреса VM, сопоставление выполняется через принадлежность к ASG; поддерживается динамическое масштабирование — новые VM автоматически получают нужные правила при добавлении в правильную ASG; обеспечивается смысловая ясность — правила читаются естественно («webServers → appServers через 8080»), а не выглядят как непонятные диапазоны IP-адресов. ASG особенно полезны в динамических средах, где VM часто добавляются или заменяются.
# NSG rule using ASG as source and destination
az network nsg rule create \
--resource-group myRG \
--nsg-name myNSG \
--name WebToApp \
--priority 200 \
--direction Inbound \
--source-asgs webServers \
--destination-asgs appServers \
--destination-port-ranges 8080 \
--protocol Tcp \
--access AllowЖурналы потоков NSG для устранения неполадок
Журналы потоков NSG записывают сведения обо всём IP-трафике, проходящем через NSG, включая IP-адреса источника и назначения, порт, протокол, результат разрешения или запрета трафика и количество переданных байтов. Журналы потоков записываются в учётную запись Azure Storage в формате JSON, а визуализировать их можно в инструменте Traffic Analytics службы Azure Network Watcher. Журналы потоков незаменимы при устранении проблем с подключением («почему этот трафик блокируется?»), расследовании инцидентов безопасности и подготовке отчётов о соответствии требованиям, где нужны доказательства характера трафика.
Распространённые ошибки NSG, которых следует избегать
Три распространённые ошибки NSG, вызывающие проблемы с подключением: не учитывать порядок оценки — если существует правило Deny с приоритетом 100, а у правила Allow приоритет 200, трафик будет запрещён, поскольку первыми обрабатываются меньшие номера приоритета; блокировать проверки работоспособности Azure — проверки работоспособности Load Balancer поступают с IP-адреса 168.63.129.16; блокировка этого источника приводит к тому, что внутренние серверы балансировщика нагрузки считаются неисправными и перестают получать трафик; создавать пересекающиеся NSG подсети и NIC — трафик должен пройти обе проверки NSG, поэтому правило, разрешающее трафик в NSG подсети, не поможет, если NSG NIC его запрещает.
NSG и Azure Firewall
NSG и Azure Firewall дополняют друг друга, но различаются: NSG — децентрализованные средства, присоединяемые к подсетям и NIC, фильтрация на уровнях 3/4 (IP-адреса и порты), без ведения журналов трафика по умолчанию, бесплатно включены в каждый VNet. Azure Firewall — централизованная управляемая служба в VNet-концентраторе, фильтрация на уровнях 3/4 И 7 (FQDN, URL, IDPS), полное ведение журналов через Azure Monitor и стоимость около 1 000 долларов в месяц и выше. Используйте NSG для базовой защиты периметра и изоляции уровней. Azure Firewall следует использовать, когда требуется централизованное управление с возможностью аудита исходящим доступом в интернет с фильтрацией по FQDN, анализом угроз или проверкой TLS.
Действующие правила безопасности
Если NSG связан одновременно с подсетью и NIC, бывает трудно определить, какие правила применяются на самом деле. Azure предоставляет на портале представление Действующие правила безопасности для NIC любой VM. В нём показан совокупный результат всех правил NSG на уровне подсети и NIC. Это полный список того, что фактически разрешено или запрещено для данной VM. Инструмент IP flow verify службы Azure Network Watcher позволяет выполнить ещё более точную проверку: Вы указываете IP-адрес и порт источника и назначения, а инструмент сразу сообщает, будет ли трафик разрешён или запрещён, и какое именно правило отвечает за результат.
Быстрая проверка
Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900), рассмотренных в этом уроке.
Итоги урока
В этом уроке Вы узнали, что NSG содержат правила разрешения и запрета, оцениваемые в порядке приоритета и фильтрующие трафик для подсетей или отдельных сетевых интерфейсов, теги служб упрощают правила, представляя динамические группы диапазонов IP-адресов служб Azure, а группы безопасности приложений позволяют объединять VM по ролям и создавать правила NSG, не требующие постоянного обслуживания и масштабируемые вместе со средой. Далее мы рассмотрим пиринг VNet и конечные точки служб для подключения ресурсов между VNet и к службам Azure.
Часто задаваемые вопросы
Урок «Группы сетевой безопасности и группы безопасности приложений» бесплатный?
Да — полный текст урока «Группы сетевой безопасности и группы безопасности приложений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Чему я научусь в уроке «Группы сетевой безопасности и группы безопасности приложений»?
Фильтруйте входящий и исходящий трафик с помощью правил NSG и логически группируйте VM с помощью групп безопасности приложений, чтобы упростить управление правилами. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?
Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Группы сетевой безопасности и группы безопасности приложений»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?
Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Виртуальные сети и подсети
- Группы сетевой безопасности и группы безопасности приложений
- Пиринг виртуальных сетей и конечные точки служб
- Основы Azure DNS и балансировщика нагрузки