Back to Checks
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 CloudRun
prowler linode --checks compute_instance_backups_enabledRecommendation
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