Welcome to Home Skillet documentation!¶
HomeSkillet Overview¶
HomeSkillet is a home-based deployment configuration as a simple Internet Gateway using 2 zones.
It is compatible with PAN-OS versions 10.0, 10.1 and 10.2.
Note
As of PAN-OS 10.2 HomeSkillet has reached End of Engineering status and future versions will no longer be actively worked on or supported by Palo Alto Networks.
Key Features¶
IronSkillet foundation providing security profiles and device hardening
2 zones and interfaces, one internet and one internal
L3, Hybrid L2/L3, and vwire options available for network configuration
Outbound port-based NAT policy
Outbound security policies referencing the Outbound security profile group
DHCP client interface for the untrust interface
Simple DHCP server configuration inheriting DNS from the untrust interface
Relationship to the IronSkillet Project¶
The configuration is based extensively on the IronSkillet configuration with a few variations designed for basic home use.
The config element omitted from HomeSkillet include:
No certificate checks for the no-decrypt traffic that may cause issues with in-home devices
No email alert configuration elements
No http range that when disabled can impact video streaming services
More information about IronSkillet can be found at: https://iron-skillet.readthedocs.io
Required Subscriptions¶
The configuration assumes all subscriptions are enabled including:
Threat Protection
URL Filtering
Wildfire Analysis
DNS Cloud Service
kplay Solutions Content¶
Visit the kplay Solutions page in the LIVE Community for additional updates and related skillets.
Using PanHandler¶
This skillet is designed for XML-based API configuration. It requires the use of the PanHandler tool for variable substitution and API interactions.
Check the kplay Solutions page to get started with PanHandler
Detailed information can be found at https://panhandler.readthedocs.io
Main Workflow¶
HomeSkillet functions as a workflow to allow for menu inputs and play the necessary skillets/submodules. This workflow allows the user to go from a baseline NGFW to a fully configured NGFW with proper network components, zones, policies, etc. including IronSkillet best practices.
Full End-to-End Workflow¶
Provides an end-to-end experience using the following options:
Workflow Options¶
Load empty baseline configuration
Perform content updates
Validation check (pre-ironskillet) [fail expected]
IronSkillet-based configuration (commit required for online validation test)
Validation check (post-ironskillet) [pass expected]
Configure HomeSkillet network components
Configure security policies
Network Deployment Options¶
Selected choice will apply to the configuration mode in step (6)
L3 routing mode with 2 zones and 2 interfaces
Hybrid L3 with L2 interfaces
Virtual Wire (vwire)
Add-on configuration options¶
Basic gateway security policies
Version Selection Options¶
Selected choice will apply to the configuration mode in step (4)
v10.0 - loads IronSkillet 10.0 snippets
v10.1 - loads IronSkillet 10.1 snippets
v10.2 - loads IronSkillet 10.2 snippets
REST device queries¶
Not shown in the menus yet part of the skillet framework are REST skillet types. These are used to query the firewall and get the interface and zone name information to be used as dropdown options in the deployment and security policy web forms.
Preliminary Setup¶
These skillets are used in the workflow ahead of configuration to create an empty configuration and install the latest content updates.
Load Empty Baseline Config¶
A python skillet that resets the configuration to an empty baseline with only the management interface, admin user, and DNS configured.
The steps of the skillet include:
Render the full configuration using supplied values
Import the configuration file
Load the configuration as candidate
Commit the configuration
Content Updates¶
An ansible playbook that checks if the latest content and threat updates are installed. If not, the playbook will download and install the latest updates.
The content update is often required before configuration of skillets to have the latest predefined elements such as Palo ALto EDLs, URL filtering categories, WF filetypes, etc. Updates may also be required before software upgrades.
Validations¶
Network and Policy Dependencies¶
A set of validation checks are performed to ensure dependency required for config elements added in previous steps exist in the firewall.
This validation is used twice in the workflow: once before the IronSkillet configuration with an assumed fail for a new install and then after the IronSkillet configuration and commit to show a pass condition.
Dependency Checks¶
The following categories of tests are performed
named zone protect profile exists
referenced security profiles and profile groups
referenced logging profile
IronSkillet Baseline¶
The initial configuration adds most of the IronSkillet configuration to the firewall to harden and add needed security policies and groups referenced in later workflow stages.
IronSkillet Deltas¶
In order to create a simplified in-home template, the following elements have been removed from the standard IronSkillet configuration:
email alerts and scheduling: assumes no email server available in a simple deployment
disable the ‘no decrypt’ decryption rule to avoid untrusted and expired cert issues
remove the superuser admin/password config - assumes user has setup their own login access
remove the management interface IP and DNS configuration - assumes already online for initial updates
allows for http range to avoid issues with home use
Network Layer Skillets¶
The workflow menu network dropdown allows the user to select a deployment option.
Layer 3 Routing¶
The L3 deployment is a 2-zone, 2-interface model with IP routing.
Interface settings¶
Sample interface configurations with one for external/untrust and one internal/trust.
untrust interface uses DHCP and provides default route inheritance to the internet
trust interface iuses a static IP configuration
the interface names and the trust IP address are variables to adjust as needed
Zones¶
Two zones are provided in the template. The names are variables with default values set to trust and internet.
Virtual Router¶
The internet gateway deployment uses L3 zones and interfaces so routing configuration is required.
adds each of the firewall interfaces
uses inheritance from the DHCP internet interface to create a default gateway route to the internet
Source NAT¶
Provides dynamic ip and port mapping using the public internet interface address.
DHCP Server¶
Simple DHCP server mapped to the trust interface
use of IP address range located in the trust subnet
inherits DNS information from the untrust interface
Note
This skillet does not include Dynamic DNS (DDNS) although it is a supported feature in PAN-OS v10.0. DDNS is recommended if GlobalProtect or other configurations using the public IP are used.
Network Profiles¶
Interface management profiles
sets the interface interface for ping only
allows for configuration access from the trust interface
Note
Device management will vary by users. It is expected that these profiles will be updated specific to the user management model.
Virtual Wire¶
The vwire deployment is a 2-zone, 2-interface model as a virtual wire.
Interface settings¶
Sample interface configurations with one for external/untrust and one internal/trust.
Interface are set to vwire type
virtual wire created using the 2 interfaces
L2/L3 Hybrid Switching/Routing¶
Interface settings¶
Sample interface configurations with
Internal interfaces set to Layer 2
vlan and internet interfaces set to Layer 3
Zones¶
- 3 Zone configuration
L2 - trust
L3 - untrust
L3 - trust
Virtual Router¶
The internet gateway deployment uses L3 zones and interfaces so routing configuration is required.
contained in the vlan interface
uses inheritance from the DHCP internet interface to create a default gateway route to the internet
Source NAT¶
Provides dynamic ip and port mapping using the public internet interface address.
DHCP Server¶
Simple DHCP server mapped to the vlan L3 trust interface
use of IP address range located in the trust subnet
inherits DNS information from the untrust internet interface
Note
This skillet does not include Dynamic DNS (DDNS) although it is a supported feature in PAN-OS v10.0. DDNS is recommended if GlobalProtect or other configurations using the public IP are used.
Network Profiles¶
Interface management profiles
sets the interface interface for ping only
allows for configuration access from the trust interface
Security Policies¶
Outbound Only Configuration¶
Unknown URL Category Profile Group¶
This adds additional protections with a more aggressive file blocking posture when the URL category is unknown. It is referenced in the gold security rules.
Security Rules¶
These are outbound-specific rules levering the IronSkillet security profile groups.
Block to force usage of SSL to assist URL-filtering category discovery
Aggressive file blocking including PE file types when URL category = unknown
Outbound access for all applications using ‘application default’ port requirements
Non-defaul SSL ports: allows bypass of app defaults for SSL traffic; tracking for non-standard ports
Non-default web ports: allows bypass of app defaults for web traffic; tracking for non-standard ports
Non-default application ports: allows bypass of app defaults for all traffic; tracking for non-standard ports
Warning
The non-default ports effectively allow all outbound traffic on any port. These are provided due to the variance of ports used and for SMB deployments to avoid rampant support calls. The explicit rules provide for hit counts to track and monitor out-of-bounds and suspicious applications.
Release and Update History¶
Includes:
template releases
tools updates
documentation revisions
Template Release History¶
Template content updates are high level. Details can be found in the template guides.
0.1.0¶
Released March 15th, 2019
Template Content
updated yaml files with 9.0 versions
no local content changes - new features come from IronSkillet 9.0 baseline
0.2.0¶
Released July 15th, 2019 (dev branch)
Template Content
updated to match new IronSkillet version
password complexity profile and admin lockout
GlobalProtect dynamic updates
remove Bogon elements and opt-in for the EDL policies
0.3.0¶
Released January 14, 2020
Template Content
addition of load empty starter config and content update skillets
inclusion of post step 1 validation skillet - ensure dependencies met
full and config-only workflows
ability to hide/show ip addresses based on mgmt interface type
Released April 23, 2020
Template Content
added vwire deployment option
fixed missing DHCP server snippet
menu text clean up
0.4.0¶
Released June 18, 2021
Template Content
removed 9.x version
added 10.1 version
update to playlist/workflow model
incorporate use of submodules (ironskillet, panos upgrade/downgrade, panos config elements)
Documentation Revisions¶
Documentation revisions outside of template-tooling updates. These are documented by date, not version.
Initial content based on 9.0 baseline
Mar 15, 2019¶
create 9.0 branch and associated documentation
Jul 15, 2019¶
release-based updates mapping to IronSkillet
Apr 23, 2020¶
restructure the content
add PanHandler kstart link
July 21, 2020¶
IronSkillet 10.0 based feature updates
June 18, 2021¶
minor docs edits
update workflow
add 10.1 feature updates