Checks
Browse individual security checks available in the Prowler Registry. Filter by cloud provider, severity, or search by check ID.
Browse individual security checks available in the Prowler Registry. Filter by cloud provider, severity, or search by check ID.
rds_public_access
Ensure that Huawei Cloud Relational Database Service (RDS) instances do not have public IP addresses to prevent direct internet access to databases.
rds_snapshots_encrypted
RDS DB snapshots and DB cluster snapshots are evaluated for encryption at rest, identifying snapshots created with a KMS key versus unencrypted ones.
rds_snapshots_public_access
RDS DB snapshots and DB cluster snapshots with public visibility (shared with all AWS accounts) are detected.
Snapshots limited to specific accounts or kept private are identified as restricted.
recovery_vault_backup_policy_retention_adequate
Azure Recovery Services backup policies are evaluated for adequate daily retention. Policies with fewer than 30 days of retention may not provide sufficient recovery points for incident investigation, compliance requirements, or ransomware recovery scenarios.
recovery_vault_has_protected_items
Azure Recovery Services vaults are evaluated for backup protected items. A vault with no protected items indicates that no resources (VMs, databases, file shares) are configured for backup through this vault, potentially leaving critical workloads unprotected.
redshift_cluster_audit_logging
Amazon Redshift clusters are evaluated for database audit logging that exports connection, user, and user-activity events to Amazon S3 or CloudWatch.
redshift_cluster_automated_snapshot
Amazon Redshift clusters are evaluated for automated snapshots being enabled with a retention period > 0, confirming that periodic backups are created and retained.
redshift_cluster_automatic_upgrades
Amazon Redshift clusters have automatic major engine upgrades allowed via AllowVersionUpgrade so updates are applied during the maintenance window.
redshift_cluster_encrypted_at_rest
Amazon Redshift clusters use encryption at rest. The evaluation inspects the cluster's encryption setting to determine if on-disk data and snapshots are protected with a managed key.
redshift_cluster_enhanced_vpc_routing
Amazon Redshift clusters are assessed for the EnhancedVpcRouting setting, which routes all COPY and UNLOAD traffic between the cluster and data repositories through the VPC, enabling use of VPC security controls and logging.
redshift_cluster_in_transit_encryption_enabled
Amazon Redshift clusters enforce encryption in transit by requiring TLS for client connections when require_ssl is enabled.
This evaluation identifies clusters where connections are not forced to use TLS.
redshift_cluster_multi_az_enabled
Amazon Redshift clusters are evaluated for Multi-AZ deployment on provisioned RA3 clusters, confirming compute spans two Availability Zones and is served via a single endpoint.
redshift_cluster_non_default_database_name
Amazon Redshift clusters are identified when the database name equals the default dev, rather than a custom name.
redshift_cluster_non_default_username
Amazon Redshift clusters are assessed for use of a non-default admin username; clusters using the known default awsuser are identified.
redshift_cluster_public_access
Amazon Redshift clusters with publicly accessible endpoints in public subnets and security groups allowing TCP from 0.0.0.0/0 or ::/0 are identified as internet-exposed.
Public endpoints without internet reachability due to private subnets or restrictive rules are recognized separately.
repository_branch_delete_on_merge_enabled
GitHub repository setting that enables automatic deletion of head branches when pull requests merge into the default branch (delete_branch_on_merge).
repository_default_branch_deletion_disabled
GitHub repository default branch have branch protections or rulesets with Allow deletions disabled.
repository_default_branch_disallows_force_push
GitHub repository default branch blocks force pushes through branch protection.
Evaluates whether the default branch permits force pushes. This protection can be enforced through classic branch protection or repository rulesets.
repository_default_branch_dismisses_stale_reviews
GitHub repository default branch ensures that when new commits are pushed to an open pull request, any previously granted approvals are automatically dismissed, requiring fresh reviews before the pull request can be merged.
repository_default_branch_protection_applies_to_admins
GitHub repository default branch applies branch protection rules to administrators via enforce_admins, holding admin pushes to the same requirements as other contributors (reviews, status checks, and push restrictions). This protection can be enforced through classic branch protection or repository rulesets.
repository_default_branch_protection_enabled
GitHub repository default branch has branch protection rules enabled to restrict direct changes and require reviewed, validated merges. The evaluation determines whether the default branch enforces such rules. This protection can be enforced through classic branch protection or repository rulesets.
repository_default_branch_requires_codeowners_review
GitHub repository default branch requires Code Owners approval for pull requests that modify paths declared in CODEOWNERS. This protection can be enforced through classic branch protection or repository rulesets.
repository_default_branch_requires_conversation_resolution
GitHub repository default branch uses branch protection to require conversation resolution on pull requests (Require conversation resolution before merging). This protection can be enforced through classic branch protection or repository rulesets.
repository_default_branch_requires_linear_history
GitHub repository default branch enforces Require linear history, blocking merge commits and allowing only squash or rebase merges. This protection can be enforced through classic branch protection or repository rulesets.