Back to Checks
linode

Linode Instance has the Backup service enabled

compute_instance_backups_enabled
Service: computeSeverity: medium
OfficialBuilt-inVerified
Categories:resilience
Resource Type:NotDefined

Linode instances are assessed for enrollment in the Linode Backup service, which performs automatic daily and weekly snapshots of an instance's disks. Without it enabled, there is no managed recovery point to restore from after a data-loss event.

Risk

With the Backup service disabled, there is no automated recovery point for the instance. Accidental deletion, ransomware, disk corruption, or operator error can result in permanent data loss and extended downtime, directly impacting availability and data integrity.

Run this check with Prowler

Run in Prowler Cloud
Run
prowler linode --checks compute_instance_backups_enabled

Recommendation

Enable the Linode Backup service on this instance to ensure automated recovery points are available. Consider supplementing it with manual snapshots before critical changes.

Remediation

CLI

linode-cli linodes backups-enable <linode_id>

Other

1Log in to the Linode Cloud Manager
2Select the Linode instance
3Navigate to the Backups tab
4Click 'Enable Backups'

Check Code

from prowler.lib.check.models import Check, CheckReportLinode
from prowler.providers.linode.services.compute.compute_client import compute_client


class compute_instance_backups_enabled(Check):
    """Check if Linode instances have the Backup service enabled."""

    def execute(self) -> list[CheckReportLinode]:
        """Execute the compute_instance_backups_enabled check.

        Iterates over all Linode instances and checks whether the Backup
        service is enabled.

        Returns:
            list[CheckReportLinode]: A list of findings for each instance.
        """
        findings = []

        for instance in compute_client.instances:
            report = CheckReportLinode(
                metadata=self.metadata(),
                resource=instance,
                resource_name=instance.label,
                resource_id=str(instance.id),
                region=instance.region,
            )
            report.resource_tags = instance.tags

            if instance.backups_enabled:
                report.status = "PASS"
                report.status_extended = (
                    f"Instance {instance.label} has the Backup service enabled."
                )
            else:
                report.status = "FAIL"
                report.status_extended = f"Instance {instance.label} does not have the Backup service enabled."

            findings.append(report)

        return findings