Module sysbot.modules.windows.firewall

Windows Firewall Module

This module provides methods for managing and querying Windows Firewall settings, including profiles, rules, and security configurations using PowerShell cmdlets.

Classes

class Firewall

Windows Firewall management class using PowerShell NetFirewall cmdlets.

Ancestors

Methods

def getAddressFilters(self, alias: str, **kwargs) ‑> List[Dict]

Get address filters for firewall rules.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing address filter information including LocalAddress and RemoteAddress.

def getEnabledRules(self, alias: str, **kwargs) ‑> List[Dict]

Get all enabled firewall rules.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing enabled rule information.

def getInboundRules(self, alias: str, **kwargs) ‑> List[Dict]

Get all inbound firewall rules.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing inbound rule information.

def getOutboundRules(self, alias: str, **kwargs) ‑> List[Dict]

Get all outbound firewall rules.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing outbound rule information.

def getPortFilters(self, alias: str, **kwargs) ‑> List[Dict]

Get port filters for firewall rules.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing port filter information including Protocol, LocalPort, and RemotePort.

def getProfile(self, alias: str, profile: str, **kwargs) ‑> Dict

Get a specific firewall profile by name.

Args

alias
Session alias for the connection.
profile
Profile name (Domain, Private, or Public).
**kwargs
Additional command execution options.

Returns

Dictionary containing profile details including Name, Enabled, DefaultInboundAction, DefaultOutboundAction, LogAllowed, LogBlocked, LogFileName, and LogMaxSizeKilobytes.

def getProfiles(self, alias: str, **kwargs) ‑> List[Dict]

Get all firewall profiles.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing profile information including Name, Enabled, DefaultInboundAction, and DefaultOutboundAction.

def getRule(self, alias: str, name: str, **kwargs) ‑> Dict

Get a specific firewall rule by name.

Args

alias
Session alias for the connection.
name
Rule name.
**kwargs
Additional command execution options.

Returns

Dictionary containing rule details including Name, DisplayName, Enabled, Direction, Action, Profile, and Description.

def getRules(self, alias: str, **kwargs) ‑> List[Dict]

Get all firewall rules.

Args

alias
Session alias for the connection.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing rule information including Name, DisplayName, Enabled, Direction, Action, and Profile.

def getRulesByDisplayName(self, alias: str, display_name: str, **kwargs) ‑> List[Dict]

Get firewall rules by display name.

Args

alias
Session alias for the connection.
display_name
Display name to search for.
**kwargs
Additional command execution options.

Returns

List of dictionaries containing matching rule information.