/configuring-pfsense-firewall-rules
Configures pfSense firewall rules, NAT policies, IPsec/OpenVPN tunnels,
$ npx -y skills add mukul975/Anthropic-Cybersecurity-Skills --skill configuring-pfsense-firewall-rules --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/configuring-pfsense-firewall-rules
Context preview
The summary Claude sees to decide when to auto-load this skill.
Configures pfSense firewall rules, NAT policies, IPsec/OpenVPN tunnels,
SKILL.md
configuring-pfsense-firewall-rules.SKILL.mdname: configuring-pfsense-firewall-rules
description: 'Configures pfSense firewall rules, NAT policies, IPsec/OpenVPN tunnels,
and traffic shaping to enforce network segmentation and control traffic between
zones such as DMZ, internal, guest, and IoT. Use when deploying a pfSense perimeter
or internal firewall, setting up port-forwarding NAT, configuring site-to-site
or remote-access VPNs, or applying QoS/bandwidth policies.
'
domain: cybersecurity
subdomain: network-security
tags:
- network-security
- pfsense
- firewall
- nat
- network-segmentation
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.IR-01
- DE.CM-01
- ID.AM-03
- PR.DS-02
mitre_attack:
- T1071.001
- T1095
- T1572
- T1571
- T1041
Configuring pfSense Firewall Rules
When to Use
- Deploying a perimeter or internal firewall to segment and protect network zones (DMZ, internal, guest, IoT)
- Creating granular access control rules to restrict traffic between VLANs and network segments
- Configuring NAT rules for port forwarding to internal services exposed to the internet
- Setting up site-to-site or remote access VPN tunnels using IPsec or OpenVPN
- Implementing traffic shaping and bandwidth management for quality-of-service requirements
**Do not use** as a substitute for host-based firewalls on individual systems, for SSL/TLS deep packet inspection without dedicated hardware acceleration, or as the sole security control without complementary IDS/IPS.
Prerequisites
- pfSense 2.7+ installed on dedicated hardware or virtual machine with at least two network interfaces
- Access to the pfSense WebConfigurator (default: https://192.168.1.1)
- Network topology diagram showing all interfaces, VLANs, and desired traffic flow
- DNS and DHCP configuration planned for each network zone
- Understanding of TCP/IP, NAT, and stateful firewall concepts
Workflow
Step 1: Configure Network Interfaces and VLANs
Access the pfSense WebConfigurator and define interfaces:
Navigate: Interfaces > Assignments
WAN Interface (igb0):
- Type: DHCP or Static IP from ISP
- Block private networks: Enabled
- Block bogon networks: Enabled
LAN Interface (igb1):
- IPv4: 10.10.1.1/24
- Description: CORPORATE_LAN
Create VLANs:
Navigate: Interfaces > VLANs > Add
- VLAN 10 on igb1: DMZ (10.10.10.1/24)
- VLAN 20 on igb1: SERVERS (10.10.20.1/24)
- VLAN 30 on igb1: GUEST (10.10.30.1/24)
- VLAN 40 on igb1: IOT (10.10.40.1/24)
Assign VLANs:
Navigate: Interfaces > Assignments > Add each VLAN
Enable each interface and assign the gateway IP
Step 2: Configure DHCP and DNS for Each Zone
Navigate: Services > DHCP Server
CORPORATE_LAN (10.10.1.0/24):
Range: 10.10.1.100 - 10.10.1.200
DNS: 10.10.20.10 (internal DNS server)
Gateway: 10.10.1.1
DMZ (10.10.10.0/24):
Range: 10.10.10.100 - 10.10.10.200
DNS: 10.10.20.10
Gateway: 10.10.10.1
GUEST (10.10.30.0/24):
Range: 10.10.30.100 - 10.10.30.200
DNS: 1.1.1.1, 8.8.8.8 (public DNS only)
Gateway: 10.10.30.1
Navigate: Services > DNS Resolver
Enable DNS Resolver on all interfaces except GUEST
Enable DNSSEC
Configure forwarding to upstream DNS servers
Step 3: Create Firewall Rule Aliases
Navigate: Firewall > Aliases
RFC1918_Networks:
Type: Network
Values: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
WebPorts:
Type: Port
Values: 80, 443
ManagementPorts:
Type: Port
Values: 22, 3389, 5900
CriticalServers:
Type: Host
Values: 10.10.20.10, 10.10.20.11, 10.10.20.12
BlockedCountries:
Type: URL Table
URL: https://www.ipdeny.com/ipblocks/data/aggregated/cn-aggregated.zone
Update: 24 hours
Step 4: Implement Firewall Rules by Zone
Navigate: Firewall > Rules
=== WAN Rules ===
# Block all inbound by default (implicit deny)
# Allow established/related traffic (automatic in pfSense stateful mode)
# Allow inbound to DMZ web server (via NAT)
Action: Pass | Interface: WAN | Protocol: TCP
Source: any | Destination: WAN Address | Port: 80, 443
Description: Allow HTTP/HTTPS to DMZ web server
=== LAN Rules ===
# Allow LAN to access internal servers
Action: Pass | Interface: LAN | Protocol: TCP
Source: LAN net | Destination: SERVERS net | Port: WebPorts, 3306, 5432
Description: Allow LAN to internal web and database servers
# Allow LAN to internet
Action: Pass | Interface: LAN | Protocol: any
Source: LAN net | Destination: ! RFC1918_Networks
Description: Allow LAN to internet (block inter-VLAN via RFC1918 exclusion)
# Block LAN to IoT (explicit deny before implicit allow)
Action: Block | Interface: LAN | Protocol: any
Source: LAN net | Destination: IOT net
Description: Block direct LAN to IoT communication
=== DMZ Rules ===
# Allow DMZ web servers to query internal DNS
Action: Pass | Interface: DMZ | Protocol: TCP/UDP
Source: DMZ net | Destination: 10.10.20.10 | Port: 53
Description: Allow DMZ DNS queries to internal resolver
# Allow DMZ to internet for updates only
Action: Pass | Interface: DMZ | Protocol: TCP
Source: DMZ net | Destination: any | Port: 80, 443
Description: Allow DMZ outbound HTTP/HTTPS for updates
# Block all other DMZ traffic
Action: Block | Interface: DMZ | Protocol: any
Source: DMZ net | Destination: any
Description: Default deny for DMZ
=== GUEST Rules ===
# Allow guest to internet only (DNS and web)
Action: Pass | Interface: GUEST | Protocol: TCP/UDP
Source: GUEST net | Destination: ! RFC1918_Networks | Port: 53, 80, 443
Description: Allow guest internet access only
# Block all guest to internal
Action: Block | Interface: GUEST | Protocol: any
Source: GUEST net | Destination: RFC1918_Networks
Description: Block guest access to all internal networks
=== IOT Rules ===
# Allow IoT to specific cloud endpoints
Action: Pass | Interface: IOT | Protocol: TCP
Source: IOT net | Destination: ! RFC1918_Networks | Port: 443, 8883
Description: Allow IoT HTTPS and MQTT to cloud
# Block IoT inter-device communication
Action: Block | Interface: IOT | Protocol: any
Source
Read more
name: configuring-pfsense-firewall-rules description: 'Configures pfSense firewall rules, NAT policies, IPsec/OpenVPN tunnels, and traffic shaping to enforce network segmentation and control traffic between zones such as DMZ, internal, guest, and IoT. Use when deploying a pfSense perimeter or internal firewall, setting up port-forwarding NAT, configuring site-to-site or remote-access VPNs, or applying QoS/bandwidth policies. ' domain: cybersecurity subdomain: network-security tags: - network-security - pfsense - firewall - nat - network-segmentation version: '1.0' author: mahipal license: Apache-2.0 nist_csf: - PR.IR-01 - DE.CM-01 - ID.AM-03 - PR.DS-02 mitre_attack: - T1071.001 - T1095 - T1572 - T1571 - T1041
Configuring pfSense Firewall Rules
When to Use
- Deploying a perimeter or internal firewall to segment and protect network zones (DMZ, internal, guest, IoT)
- Creating granular access control rules to restrict traffic between VLANs and network segments
- Configuring NAT rules for port forwarding to internal services exposed to the internet
- Setting up site-to-site or remote access VPN tunnels using IPsec or OpenVPN
- Implementing traffic shaping and bandwidth management for quality-of-service requirements
**Do not use** as a substitute for host-based firewalls on individual systems, for SSL/TLS deep packet inspection without dedicated hardware acceleration, or as the sole security control without complementary IDS/IPS.
Prerequisites
- pfSense 2.7+ installed on dedicated hardware or virtual machine with at least two network interfaces
- Access to the pfSense WebConfigurator (default: https://192.168.1.1)
- Network topology diagram showing all interfaces, VLANs, and desired traffic flow
- DNS and DHCP configuration planned for each network zone
- Understanding of TCP/IP, NAT, and stateful firewall concepts
Workflow
Step 1: Configure Network Interfaces and VLANs
Access the pfSense WebConfigurator and define interfaces:
Navigate: Interfaces > Assignments WAN Interface (igb0): - Type: DHCP or Static IP from ISP - Block private networks: Enabled - Block bogon networks: Enabled LAN Interface (igb1): - IPv4: 10.10.1.1/24 - Description: CORPORATE_LAN Create VLANs: Navigate: Interfaces > VLANs > Add - VLAN 10 on igb1: DMZ (10.10.10.1/24) - VLAN 20 on igb1: SERVERS (10.10.20.1/24) - VLAN 30 on igb1: GUEST (10.10.30.1/24) - VLAN 40 on igb1: IOT (10.10.40.1/24) Assign VLANs: Navigate: Interfaces > Assignments > Add each VLAN Enable each interface and assign the gateway IP
Step 2: Configure DHCP and DNS for Each Zone
Navigate: Services > DHCP Server CORPORATE_LAN (10.10.1.0/24): Range: 10.10.1.100 - 10.10.1.200 DNS: 10.10.20.10 (internal DNS server) Gateway: 10.10.1.1 DMZ (10.10.10.0/24): Range: 10.10.10.100 - 10.10.10.200 DNS: 10.10.20.10 Gateway: 10.10.10.1 GUEST (10.10.30.0/24): Range: 10.10.30.100 - 10.10.30.200 DNS: 1.1.1.1, 8.8.8.8 (public DNS only) Gateway: 10.10.30.1 Navigate: Services > DNS Resolver Enable DNS Resolver on all interfaces except GUEST Enable DNSSEC Configure forwarding to upstream DNS servers
Step 3: Create Firewall Rule Aliases
Navigate: Firewall > Aliases RFC1918_Networks: Type: Network Values: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 WebPorts: Type: Port Values: 80, 443 ManagementPorts: Type: Port Values: 22, 3389, 5900 CriticalServers: Type: Host Values: 10.10.20.10, 10.10.20.11, 10.10.20.12 BlockedCountries: Type: URL Table URL: https://www.ipdeny.com/ipblocks/data/aggregated/cn-aggregated.zone Update: 24 hours
Step 4: Implement Firewall Rules by Zone
Navigate: Firewall > Rules === WAN Rules === # Block all inbound by default (implicit deny) # Allow established/related traffic (automatic in pfSense stateful mode) # Allow inbound to DMZ web server (via NAT) Action: Pass | Interface: WAN | Protocol: TCP Source: any | Destination: WAN Address | Port: 80, 443 Description: Allow HTTP/HTTPS to DMZ web server === LAN Rules === # Allow LAN to access internal servers Action: Pass | Interface: LAN | Protocol: TCP Source: LAN net | Destination: SERVERS net | Port: WebPorts, 3306, 5432 Description: Allow LAN to internal web and database servers # Allow LAN to internet Action: Pass | Interface: LAN | Protocol: any Source: LAN net | Destination: ! RFC1918_Networks Description: Allow LAN to internet (block inter-VLAN via RFC1918 exclusion) # Block LAN to IoT (explicit deny before implicit allow) Action: Block | Interface: LAN | Protocol: any Source: LAN net | Destination: IOT net Description: Block direct LAN to IoT communication === DMZ Rules === # Allow DMZ web servers to query internal DNS Action: Pass | Interface: DMZ | Protocol: TCP/UDP Source: DMZ net | Destination: 10.10.20.10 | Port: 53 Description: Allow DMZ DNS queries to internal resolver # Allow DMZ to internet for updates only Action: Pass | Interface: DMZ | Protocol: TCP Source: DMZ net | Destination: any | Port: 80, 443 Description: Allow DMZ outbound HTTP/HTTPS for updates # Block all other DMZ traffic Action: Block | Interface: DMZ | Protocol: any Source: DMZ net | Destination: any Description: Default deny for DMZ === GUEST Rules === # Allow guest to internet only (DNS and web) Action: Pass | Interface: GUEST | Protocol: TCP/UDP Source: GUEST net | Destination: ! RFC1918_Networks | Port: 53, 80, 443 Description: Allow guest internet access only # Block all guest to internal Action: Block | Interface: GUEST | Protocol: any Source: GUEST net | Destination: RFC1918_Networks Description: Block guest access to all internal networks === IOT Rules === # Allow IoT to specific cloud endpoints Action: Pass | Interface: IOT | Protocol: TCP Source: IOT net | Destination: ! RFC1918_Networks | Port: 443, 8883 Description: Allow IoT HTTPS and MQTT to cloud # Block IoT inter-device communication Action: Block | Interface: IOT | Protocol: any Source
817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0
Repo: mukul975/Anthropic-Cybersecurity-Skills
Other skills on cybersecurity-skills.
- /abusing-dpapi-for-credential-access
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket's dpapi.py, including domain-wide decryption via the DPAPI backup key. Use
Open skill - /abusing-shadow-credentials-for-privesc
Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target's NT hash without a password reset. Use when BloodHound shows
Open skill - /achieving-cmmc-level-2-compliance
Prepare a defense-contractor environment for CMMC Level 2 certification: scope CUI and FCI, implement the 110 NIST SP 800-171 Rev 2 security requirements across 14 families, compute the SPRS score with the DoD Assessment Methodology, manage a compliant POA&M, and ready the
Open skill - /acquiring-disk-image-with-dd-and-dcfldd
Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving
Open skill - /analyzing-active-directory-acl-abuse
Detect dangerous ACL misconfigurations in Active Directory using ldap3
Open skill - /analyzing-android-malware-with-apktool
Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and
Open skill

