Framework/Configurations/SVT/Services/VirtualMachine.json
{
"FeatureName": "VirtualMachine", "Reference": "aka.ms/azsdkosstcp/vm", "IsManintenanceMode": false, "Controls": [ { "ControlID": "Azure_VirtualMachine_Deploy_Latest_OS_Version", "Description": "Virtual Machine must have latest OS version installed", "Id": "VirtualMachine110", "ControlSeverity": "Low", "Automated": "Yes", "MethodName": "CheckOSVersion", "Recommendation": "Update current OS version to latest version available. Refer Link - https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/update-azurermvm?view=azurermps-3.8.0", "Tags": [ "SDL", "TCP", "Automated", "Deploy", "Windows", "Linux" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_Config_OS_Auto_Update_Windows", "Description": "OS automatic updates must be enabled on Windows Virtual Machine", "Id": "VirtualMachine120", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "CheckOSAutoUpdateStatus", "Recommendation": "Run command Set-AzureRmVMOperatingSystem with -EnableAutoUpdate property. Refer link - https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/set-azurermvmoperatingsystem?view=azurermps-3.8.0", "Tags": [ "SDL", "TCP", "Automated", "Config", "Windows", "SOX" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_Config_Enable_Antimalware_Windows", "Description": "Antimalware must be enabled with real time protection on Windows Virtual Machine", "Id": "VirtualMachine130", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "CheckAntimalwareStatus", "Recommendation": "Run command Set-AzureRmVMExtension -ResourceGroupName '{resourceGroupName}' -Location '{location}' -VMName '{vmName}' -Name '{ExtentionName}'-Publisher 'Microsoft.Azure.Security' -ExtensionType 'IaaSAntimalware' -TypeHandlerVersion '{versionString}' -SettingString '{settingString}'. Refer Link - https://blogs.msdn.microsoft.com/azuresecurity/2016/02/24/update-on-microsoft-antimalware-and-azure-resource-manager-arm-vms/, https://docs.microsoft.com/en-us/azure/security/azure-security-antimalware, https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/set-azurermvmextension?view=azurermps-3.7.0", "Tags": [ "SDL", "TCP", "Automated", "Config", "Windows", "SOX" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_Config_Enable_NSG", "Description": "NSG must be configured for Virtual Machine", "Id": "VirtualMachine140", "ControlSeverity": "Medium", "Automated": "Yes", "MethodName": "CheckNSGConfig", "Recommendation": "Refer Links - https://docs.microsoft.com/en-us/azure/virtual-machines/windows/endpoints-in-resource-manager, https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-create-nsg-arm-ps", "Tags": [ "SDL", "TCP", "Automated", "Config", "Windows", "Linux" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_NetSec_Justify_PublicIPs", "Description": "Public IP(s) on the Virtual Machine should be minimized and carefully reviewed", "Id": "VirtualMachine150", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "CheckPublicIP", "Recommendation": "Refer Link - https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface#a-namecreate-ip-configaadd-a-secondary-ip-configuration-to-a-nic Or Use steps on portal :VM Properties -> Network Interfaces -> <Select NIC> -> IP Configurations -> <Selec IP Configs with Public IP> -> Click “Disabled” -> Save", "Tags": [ "SDL", "TCP", "Automated", "NetSec", "Windows", "Linux" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_DP_Enable_Disk_Encryption_Windows", "Description": "Disk encryption must be enabled on both OS and data disk for Windows Virtual Machine", "Id": "VirtualMachine160", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "CheckDiskEncryption", "Recommendation": "Run command Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName '{RGName}' -VMName '{VMName}' -AadClientID '{AADClientID}' -AadClientSecret '{AADClientSecret}' -DiskEncryptionKeyVaultUrl '{DiskEncryptionKeyVaultUrl}' -DiskEncryptionKeyVaultId '{KeyVaultResourceId}'. Refer Links - https://docs.microsoft.com/en-us/azure/security-center/security-center-disk-encryption?toc=%2fazure%2fsecurity%2ftoc.json, https://docs.microsoft.com/en-us/azure/security/azure-security-disk-encryption, https://docs.microsoft.com/en-us/powershell/module/azurerm.compute/set-azurermvmdiskencryptionextension?view=azurermps-3.8.0", "Tags": [ "SDL", "TCP", "Automated", "DP", "Windows" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_Audit_ASC_Healthy", "Description": "Virtual Machine must be in healthy state in Azure Security Center", "Id": "VirtualMachine170", "ControlSeverity": "High", "Automated": "Yes", "MethodName": "CheckASCStatus", "Recommendation": "Refer Link - https://docs.microsoft.com/en-us/azure/security-center/security-center-recommendations", "Tags": [ "SDL", "TCP", "Automated", "Audit", "Windows", "Linux" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_Audit_Enable_Diagnostics", "Description": "Diagnostics (IaaSDiagnostics extension on Windows; LinuxDiagnostic extension on Linux) must be enabled on Virtual Machine", "Id": "VirtualMachine180", "ControlSeverity": "Medium", "Automated": "Yes", "MethodName": "CheckVMDiagnostics", "Recommendation": "Run command Set-AzureVMDiagnosticsExtension -DiagnosticsConfigurationPath '{DiagnosticsConfigurationPath}' -StorageAccountName '{StorageAccountName}' -StorageAccountKey '{StorageAccountName}' -StorageAccountEndpoint '{StorageAccountEndpoint}' -StorageContext '{StorageContext}'. Refer Link - https://docs.microsoft.com/en-us/powershell/module/azure/set-azurevmdiagnosticsextension?view=azuresmps-3.7.0 ", "Tags": [ "SDL", "TCP", "Automated", "Audit", "Windows", "Linux" ], "Enabled": true }, { "ControlID": "Azure_VirtualMachine_NetSec_Dont_Open_Management_Ports", "Description": "Do not leave management ports open on Virtual Machines", "Id": "VirtualMachine190", "ControlSeverity": "Critical", "Automated": "Yes", "MethodName": "CheckOpenPorts", "Recommendation": "Run command : Set-AzureRmNetworkSecurityRuleConfig -Name '{Name}' -NetworkSecurityGroup '{PSNetworkSecurityGroup}' -Access 'Deny'. Refer Link - https://docs.microsoft.com/en-us/powershell/module/azurerm.network/set-azurermnetworksecurityruleconfig?view=azurermps-3.8.0", "Tags": [ "SDL", "TCP", "Automated", "NetSec", "Windows", "Linux", "OwnerAccess" ], "Enabled": true } ] } |