vinayaklatthe/microsoft-security-skills

azure-network-security-design

Guidance for designing secure Azure network architecture — hub-spoke topology (or Virtual WAN), segmentation with NSGs/ASGs, private endpoints / Private Link for PaaS, egress through Azure Firewall, DDoS protection, WAF on Front Door/App Gateway, and centralised private DNS. Aligned to the Zero Trust network pillar. WHEN: Azure network security, hub spoke, Virtual WAN, network segmentation, NSG ASG design, private endpoint, Private Link, DDoS protection, secure virtual network, egress control, …

First seen Jun 10, 2026

Installation

$ npx skills add vinayaklatthe/microsoft-security-skills --skill azure-network-security-design

Summary

  • Guidance for designing secure Azure network architecture — hub-spoke topology (or Virtual WAN), segmentation with NSGs/ASGs, private endpoints / Private Link for PaaS, egress through Azure Firewall, DDoS protection, WAF on Front Door/App Gateway, and centralised private DNS.
  • Aligned to the Zero Trust network pillar.
  • WHEN: Azure network security, hub spoke, Virtual WAN, network segmentation, NSG ASG design, private endpoint, Private Link, DDoS protection, secure virtual network, egress control, Zero Trust network, private connectivity design, Bastion, JIT VM access.
  • DO NOT USE for the firewall itself (use azure-firewall), VM-level hardening (use defender-for-cloud-hardening), or Key Vault networking only (use azure-key-vault).

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from vinayaklatthe/microsoft-security-skills · top by installs.

npx skills add vinayaklatthe/microsoft-security-skills

Browse all from vinayaklatthe/microsoft-security-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 171
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.0
LicenseMIT
More metadata
author
Microsoft
version
0.1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,281 B
  • docs SUMMARY.md 774 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 68 installs

SKILL.md

Azure Network Security Design

Secure Azure networking applies Zero Trust to the network pillar: segment, control traffic explicitly, prefer private connectivity, and inspect / filter egress, assuming the network is hostile. The output is a hub-spoke (or Virtual WAN) topology with NSG microsegmentation, private endpoints, and a single controlled egress path.

When to use

Designing the network topology and controls for an Azure landing zone or workload. Use this skill to pick topology, design segmentation, and place controls.

Do not use this skill for the firewall product itself (azure-firewall), VM hardening (defender-for-cloud-hardening), or single-service networking (azure-key-vault).

Pick the topology

Estate shape Topology Notes
Single region, few subscriptions Hub-spoke (single region) Default for most
Multi-region with many spokes / branch sites Virtual WAN Microsoft-managed transit
Greenfield enterprise-scale Azure Landing Zones (CAF) - VWAN or hub-spoke Use CAF blueprints
Heavy on-prem + Azure Hub-spoke + ExpressRoute / VPN gateway Hub holds gateway + firewall
Small / single-workload Single VNet, no hub Don't over-engineer

Rule of thumb: hub-spoke for most enterprises, Virtual WAN at multi-region branch
scale. The hub holds shared services (firewall, gateway, DNS, Bastion); workloads sit in
spokes. Don't put workloads in the hub.

Approach

  1. Topology and address plan — Pick hub-spoke or Virtual WAN. Allocate non-overlapping RFC

1918 ranges per region / spoke; reserve gateway subnet, firewall subnet, Bastion subnet in the hub. Verify: address plan documented; no overlap with on-prem ranges; no overlap between regions.

  1. Segmentation with NSGs and ASGs — NSG at subnet level (preferred over per-NIC).

Group workloads with Application Security Groups (ASGs) instead of static IP lists - ASGs survive scale events. Microsegment by tier: web / app / data. Verify: NSG flow logs enabled to a Log Analytics workspace; default-deny rule present; ASGs used instead of IP-based source/dest for VM groups.

  1. Private endpoints for PaaS — Use Private Endpoints / Private Link for sensitive

PaaS (Storage, SQL, Key Vault, Cosmos DB). Traffic stays on Microsoft backbone. Disable public network access on the PaaS resource itself. Verify: publicNetworkAccess = Disabled on the resource; private endpoint resolves to a private IP via private DNS zone.

  1. Centralise egress through Azure Firewall — UDR on spokes: 0.0.0.0/0 next hop =

firewall private IP. All outbound goes through the firewall for FQDN filtering and logging. Verify: effective routes on a spoke NIC show next-hop = firewall; no spoke has its own public IP egress.

  1. DDoS + WAF for public-facing — Enable Azure DDoS Network Protection on VNets

with public IPs. Place public web apps behind Front Door or Application Gateway with WAF in Prevention mode. Verify: DDoS plan associated; WAF rules in Prevention (not Detection) for prod.

  1. Centralised DNS — Private DNS zones linked from the hub; spokes auto-resolve PaaS

private endpoints via the zones. Don't let each spoke run its own DNS.

  1. Block management plane on the internet — No direct RDP / SSH from internet to VMs.

Use Azure Bastion (in the hub) or Defender for Cloud just-in-time VM access. Verify: NSGs block 3389 / 22 from internet on all VM subnets; Bastion deployed in hub.

Guardrails

  • Prefer private endpoints over service endpoints for sensitive PaaS data planes. Service

endpoints leave the PaaS resource public; private endpoints make it truly private.

  • Default-deny NSGs; document every allow rule's purpose. Allow lists drift to "allow

everything" without discipline. Use ASGs + comments.

  • **Don't expose management ports (RDP/SSH) to the internet - use Bastion / just-in-time

access.** Internet-exposed 3389 / 22 = compromise within hours.

  • DNS is part of network security. Untrusted DNS resolution undermines private endpoint

isolation.

  • DDoS Network Protection is per-VNet, billed monthly. Cheap insurance for public-facing

VNets; don't blanket-enable on every VNet.

  • NSG flow logs to a workspace. Without them, an incident has no network forensics.

Common anti-patterns

  • "Workloads in the hub - it's just one VNet" - Hub holds shared services only. Workloads

in spokes for blast radius.

  • "Service endpoints because they're cheaper than private endpoints" - Service endpoint

doesn't make the PaaS private; only the routing. Private endpoint for sensitive data.

  • "NSG per NIC for every VM" - Unmanageable. Subnet NSGs + ASGs.
  • "WAF in Detection forever" - Logs attacks; doesn't block them. Move to Prevention

after tuning.

  • "Each spoke has its own egress public IP" - No central inspection, no egress logging.

Force through hub firewall.

  • "Bastion later - we'll RDP through the VPN for now" - VPN credential theft = lateral

movement. Bastion + JIT from day one.

Example prompts

  • Design a hub-and-spoke network with segmentation and private endpoints for an Azure landing zone.
  • How do I apply Zero Trust principles to an Azure virtual network?
  • Plan NSG and ASG rules plus DDoS protection for a secure VNet.
  • Control egress traffic and private connectivity across spokes.
  • Replace internet-exposed RDP with Bastion and just-in-time VM access.
  • Should I use hub-spoke or Virtual WAN for our multi-region estate?

Microsoft Learn