Back to Checks
Linode Cloud Firewall status is enabled
networking_firewall_status_enabled
Service: networkingSeverity: high
OfficialBuilt-inVerified
Categories:internet-exposed
Resource Type:NotDefined
Linode Cloud Firewalls can be in an enabled or disabled state. This check verifies the firewall status is enabled, because a firewall must be active for its inbound and outbound policies and rules to actually filter network traffic.
Risk
A disabled firewall enforces none of its configured rules or default policies, leaving attached instances with no network filtering. This can unexpectedly expose management ports and services to the internet, significantly increasing the risk of unauthorized access and exploitation.
Run this check with Prowler
Run in Prowler CloudRun
prowler linode --checks networking_firewall_status_enabledRecommendation
Enable Linode Cloud Firewalls so configured network filtering controls are actively enforced.
Remediation
Other
1Log in to the Linode Cloud Manager
2Navigate to Firewalls
3Click on the Enable button from the options corresponding to the firewall whose status you would like to update
Check Code
from prowler.lib.check.models import Check, CheckReportLinode
from prowler.providers.linode.services.networking.networking_client import (
networking_client,
)
class networking_firewall_status_enabled(Check):
"""Check if Linode Cloud Firewalls are enabled."""
def execute(self) -> list[CheckReportLinode]:
"""Execute the networking_firewall_status_enabled check.
Iterates over all Cloud Firewalls and checks whether each one has
an enabled status.
Returns:
list[CheckReportLinode]: A list of findings for each firewall.
"""
findings = []
for fw in networking_client.firewalls:
report = CheckReportLinode(
metadata=self.metadata(),
resource=fw,
resource_name=fw.label,
resource_id=str(fw.id),
region="global",
)
report.resource_tags = fw.tags
if fw.status == "enabled":
report.status = "PASS"
report.status_extended = f"Firewall '{fw.label}' is enabled."
else:
report.status = "FAIL"
report.status_extended = (
f"Firewall '{fw.label}' is not enabled (status: {fw.status})."
)
findings.append(report)
return findings