Back to Checks
e2enetworks

E2E Networks floating IPs are attached to nodes

network_reserveip_floating_ip_unattached
Service: networkSeverity: medium
OfficialBuilt-inVerified
Resource Type:NotDefined

E2E Networks floating (reserved) IP addresses should be attached to a node instead of being left unassigned, since idle floating IPs can be reassigned unexpectedly.

Risk

Unattached floating IPs may be reassigned unexpectedly to other resources, disrupting secure routing assumptions and potentially exposing services.

Run this check with Prowler

Run in Prowler Cloud
Run
prowler e2enetworks --checks network_reserveip_floating_ip_unattached

Recommendation

Attach unassigned floating IPs to the intended node, or release them if they are no longer needed.

Check Code

from prowler.lib.check.models import Check, CheckReportE2eNetworks
from prowler.providers.e2enetworks.services.network.network_client import network_client


class network_reserveip_floating_ip_unattached(Check):
    """Check if E2E Networks floating IPs are attached to nodes."""

    def execute(self) -> list[CheckReportE2eNetworks]:
        findings = []
        for ip in network_client.reserved_ips:
            if ip.reserved_type != "FloatingIP":
                continue
            report = CheckReportE2eNetworks(metadata=self.metadata(), resource=ip)
            report.status = "PASS"
            report.status_extended = (
                f"Floating IP {ip.ip_address} is attached to node(s)."
            )
            if ip.status != "Attached" or ip.floating_ip_attached_nodes_count == 0:
                report.status = "FAIL"
                report.status_extended = (
                    f"Floating IP {ip.ip_address} is not attached to any node."
                )
            findings.append(report)
        return findings