Check ID:
Provider: Azure
Service:
Severity: HIGH
Categories:
Resource type:
vm_linux_enforce_ssh_authenticationProvider: Azure
Service:
vmSeverity: HIGH
Categories:
identity-accessResource type:
microsoft.compute/virtualmachinesWhat this check verifies
Azure Linux virtual machines are assessed for SSH configuration wheredisablePasswordAuthentication is set to true, allowing only public key authentication and disallowing interactive passwords.
Risk
With password-based SSH, attackers can run brute-force or password-spray campaigns. A successful login grants remote shell, enabling command execution, data exfiltration, and lateral movement, degrading confidentiality and integrity.Recommendation
Enforce key-only SSH by settingdisablePasswordAuthentication to true and disallowing OS password logins. Use strong, passphrase-protected keys with rotation; restrict SSH via NSGs and private access or Azure Bastion; enable JIT; and apply least privilege.
Remediation
- Terraform
- Native IaC
- Dashboard steps
References
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/azure/VirtualMachines/ssh-authentication-type.html
- https://learn.microsoft.com/en-us/azure/virtual-machines/linux/create-ssh-keys-detailed
Where this check fires
This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable byCheck ID = vm_linux_enforce_ssh_authentication. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Azure checks