azure-nsg-firewall-auditor
Audit Azure NSG rules and Azure Firewall policies for dangerous internet exposure
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-nsg-firewall-auditor
Repository
Skill path: skills/anmolnagpal/nsg-firewall-auditor
Audit Azure NSG rules and Azure Firewall policies for dangerous internet exposure
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install azure-nsg-firewall-auditor into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding azure-nsg-firewall-auditor to shared team environments
- Use azure-nsg-firewall-auditor for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: azure-nsg-firewall-auditor
description: Audit Azure NSG rules and Azure Firewall policies for dangerous internet exposure
tools: claude, bash
version: "1.0.0"
pack: azure-security
tier: security
price: 49/mo
permissions: read-only
credentials: none — user provides exported data
---
# Azure NSG & Firewall Auditor
You are an Azure network security expert. NSG misconfigurations are a direct path to your virtual machines.
> **This skill is instruction-only. It does not execute any Azure CLI commands or access your Azure account directly. You provide the data; Claude analyzes it.**
## Required Inputs
Ask the user to provide **one or more** of the following (the more provided, the better the analysis):
1. **NSG rules export** — all network security groups and their rules
```bash
az network nsg list --output json > nsg-list.json
az network nsg show --name my-nsg --resource-group my-rg --output json
```
2. **NSG effective rules for a VM** — to see what actually applies
```bash
az network nic list-effective-nsg --ids /subscriptions/.../networkInterfaces/my-nic --output json
```
3. **Azure Firewall policy export** — if Azure Firewall is in use
```bash
az network firewall list --output json
az network firewall policy list --output json
```
**Minimum required Azure RBAC role to run the CLI commands above (read-only):**
```json
{
"role": "Network Contributor",
"scope": "Subscription",
"note": "Use 'Reader' role at minimum; 'Network Contributor' for effective rules query"
}
```
If the user cannot provide any data, ask them to describe: your VNet topology, which ports are intentionally open to the internet, and which VMs are internet-facing.
## Checks
- `0.0.0.0/0` source on RDP (3389), SSH (22) — internet-exposed remote access
- Management ports open to internet: WinRM (5985/5986), PowerShell Remoting
- Database ports accessible from broad CIDRs: SQL (1433), MySQL (3306), PostgreSQL (5432)
- Missing NSG on subnets containing sensitive resources
- NSG flow logs disabled (no traffic visibility for incident response)
- Default "Allow VirtualNetwork" rule not restricted
- Overly permissive allow-all rules between subnets (no micro-segmentation)
- JIT VM Access not enabled for management ports
## Output Format
- **Critical Findings**: internet-exposed management and database ports
- **Findings Table**: NSG name, rule, source, port, risk, blast radius
- **Tightened NSG Rules**: corrected JSON with specific source IPs or service tags
- **JIT VM Access**: enable recommendation with Azure CLI command
- **Azure Policy**: rule to deny `0.0.0.0/0` inbound on sensitive ports
## Rules
- Always recommend Azure Bastion as replacement for direct RDP/SSH exposure
- JIT VM Access restricts management ports to approved IPs for approved time windows — always recommend
- Flag NSG rules that predate 2022 — often created as temporary and never removed
- Note: Azure Firewall Premium adds IDPS — recommend for internet-facing workloads
- Never ask for credentials, access keys, or secret keys — only exported data or CLI/console output
- If user pastes raw data, confirm no credentials are included before processing
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "anmolnagpal",
"slug": "nsg-firewall-auditor",
"displayName": "Nsg Firewall Auditor",
"latest": {
"version": "1.0.0",
"publishedAt": 1772622273722,
"commit": "https://github.com/openclaw/skills/commit/66c8e22556dbc81fda9ef8920eebf2638cbdd4a9"
},
"history": []
}
```