SECURITY ASSESSMENT REPORT
Technology:
Tenant: e14edd6b-c47d-47ab-89fc-cc731581dfc2_Azure-CIS
Assessment Date: 03/07/2025 12:33:56
This Introduction contains a global summary of the security scans performed on the company infrastructure with SmartProfiler-SecID. Detailed information about the scans can be found in the corresponding section in this report. The assessment was performed according to settings recommended by CIS. More Information about CIS can be found here: CIS Benchmarks. There are tests that also recommended by vendor have been performed too.
0Critical
91High
4Medium
0Low
114Passed
70Manual Check
OVERALL TENANT STATUS
Shows overall score settings that need to be configured correctly in Tenant as per CIS Benchmark. These settings are recommended by CIS.
CIS SECURITY SCORE
Shows overall score settings that need to be configured correctly in Tenant. These settings are recommended by Experts not included in CIS.
SP SECURITY SCORE
Technology Categories and Status
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Azure Cloud Budget Alerts are configured | High | Not Configured correctly | SP v1.0 | NO |
X TEST NAME Ensure Azure Cloud Budget Alerts are configured Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure more than one Subscription Owners are assigned | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure more than one Subscription Owners are assigned Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Tags are configured on the Resources | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure to remove Custom Owner Roles from Subscriptions | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure to remove Custom Owner Roles from Subscriptions Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure no Subscription Administrator Custom Role are not configured | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure no Subscription Administrator Custom Role are not configured Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Ensure Basic and Consumption SKU Should are not be Used in Production | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Basic and Consumption SKU Should are not be Used in Production Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure Not Allowed Resource Types Policy Assignment is in Use | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Not Allowed Resource Types Policy Assignment is in Use Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure Resource Locking Administrator Role is configured | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Resource Locking Administrator Role is configured Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Azure Administrative Units are used | High | Not Defined | SP v1.0 | NO |
X TEST NAME Ensure Azure Administrative Units are used Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Security Defaults is enabled | High | Disabled | SP v1.0 | NO |
|
Done | Ensure Normal Azure Users do not have Permissions to provide unrestricted user Consent | High | Allowed: Full | SP v1.0 | NO |
X TEST NAME Ensure Normal Azure Users do not have Permissions to provide unrestricted user Consent Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Conditional Access Policy with signin user-risk location as Factor | High | No Conditional Access Policy found with Sign-in risk | SP v1.0 | NO |
X TEST NAME Ensure Conditional Access Policy with signin user-risk location as Factor Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | AAD Connect sync account password reset | High | Not Configured correctly | SP v1.0 | NO |
X TEST NAME AAD Connect sync account password reset Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Guest users are restricted | High | Restricted but can see membership of all non-hidden groups | SP v1.0 | NO |
|
Done | Conditional Access Policy that does not require MFA when sign-in risk has been identified | High | No Conditional Access Policy found. | SP v1.0 | NO |
|
Done | Ensure Number Matching enabled in MFA | High | Number Matching Not Enabled | SP v1.0 | NO |
|
Done | Ensure On-Prem AD Users are not Privileged Users in Azure Entra ID | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure On-Prem AD Users are not Privileged Users in Azure Entra ID Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Azure Guests cannot invite other Guests | Passed | Guests can Invite Other Guests | SP v1.0 | YES |
X TEST NAME Ensure Azure Guests cannot invite other Guests Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure non-Admins cannot register custom applications | Passed | Users can't register their Own Applications | SP v1.0 | YES |
X TEST NAME Ensure non-Admins cannot register custom applications Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure no Guest Accounts in Azure Privileged groups | Passed | No Guest Users in Privileged Roles | SP v1.0 | YES |
|
Done | Ensure no Guest accounts that are inactive for more than 45 days | Passed | Not Found | SP v1.0 | YES |
|
Done | Conditional Access Policy that does not require a password change from high risk users | Passed | No Conditional Access Policy for High Risk Users | SP v1.0 | YES |
X TEST NAME Conditional Access Policy that does not require a password change from high risk users Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Synced AAD Users not privileged Users in Azure | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Private IP Addresses in Conditional Access policies | Passed | No Private IP Address in Conditional Access Policies | SP v1.0 | YES |
|
Done | Ensure AD privileged users are not synced to AAD | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Global Administrators | Passed | Less than 5 GA in organization | SP v1.0 | YES |
|
Ensure privileged accounts have MFA Configured | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure privileged accounts have MFA Configured Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Conditional Access policy with Continuous Access Evaluation disabled | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Conditional Access policy with Continuous Access Evaluation disabled Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure user are configured with MFA | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access Policy that disables admin token persistence | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Conditional Access Policy that disables admin token persistence Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure Guest invites not accepted in last 30 days are identified | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Guest invites not accepted in last 30 days are identified Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Doable | Ensure SSO computer account with latest password | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure SSO computer account with latest password Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
Doable | Ensure RBCD is not applied to AZUREADSSOACC account | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure RBCD is not applied to AZUREADSSOACC account Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Policy exists to restrict non-administrator access to Azure Active Directory or Entra | High | No Policy Found | SP v1.0 | NO |
X TEST NAME Ensure Policy exists to restrict non-administrator access to Azure Active Directory or Entra Description Item does not meet all the requirements as per test. Restrict non-privileged users from signing into the Azure Active Directory portal. Note: This recommendation only affects access to the Azure AD web portal. It does not prevent privileged users from using other methods such as Rest API or PowerShell to obtain information. Those channels are addressed elsewhere in this document. The Azure AD administrative (AAD) portal contains sensitive data and permission settings, which are still enforced based on the users role. However, an end user may inadvertently change properties or account settings that could result in increased administrative overhead. Additionally, a compromised end user account could be used by a malicious attacker as a means to gather additional information and escalate an attack. Note: Users will still be able to sign into Azure Active directory admin center but will be unable to see directory information. Recommendation and Steps Ensure access to the Azure AD portal is restricted: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/ 2. Click to expand Identity> Users > User settings. 3. Set Restrict access to Microsoft Entra ID administration portal to Yes then Save. Associated Objects Affected Objects More Information TEST ID
|
Done | Ensure Phishing-resistant MFA strength is required for Administrators | High | Phishing-resistant MFA policy is not configured for administrators | SP v1.0 | NO |
X TEST NAME Ensure Phishing-resistant MFA strength is required for Administrators Description Item does not meet all the requirements as per test. Authentication strength is a Conditional Access control that allows administrators to specify which combination of authentication methods can be used to access a resource. For example, they can make only phishing-resistant authentication methods available to access a sensitive resource. But to access a non-sensitive resource, they can allow less secure multifactor authentication (MFA) combinations, such as password + SMS. Microsoft has 3 built-in authentication strengths. MFA strength, password less MFA strength, and Phishing-resistant MFA strength. Ensure administrator roles are using a CA policy with Phishing-resistant MFA strength. Administrators can then enroll using one of 3 methods: - FIDO2 Security Key - Windows Hello for Business - Certificate-based authentication (Multi-Factor) NOTE: Additional steps to configure methods such as FIDO2 keys are not covered here but can be found in related MS articles in the references section. The Conditional Access policy only ensures 1 of the 3 methods is used. WARNING: Administrators should be pre-registered for a strong authentication mechanism before this Conditional Access Policy is enforced. Additionally, as stated elsewhere in the CIS Benchmark a break-glass administrator account should be excluded from this policy to ensure unfettered access in the case of an emergency. Sophisticated attacks targeting MFA are more prevalent as the use of it becomes more widespread. These 3 methods are considered phishing-resistant as they remove passwords from the login workflow. It also ensures that public/private key exchange can only happen between the devices and a registered provider which prevents login to fake or phishing websites. If administrators are not pre-registered for a strong authentication method prior to a conditional access policy is created, then a condition could occur where a user can not register for strong authentication because they don't meet the conditional access policy requirements and therefore are prevented from signing in. Recommendation and Steps To create a phishing-resistant MFA CA policy for users in administrative roles: 1. Navigate to the Microsoft Entra admin center https://entra.microsoft.com. 2. Click expand Protection > Conditional Access select Policies. 3. Click New policy. 4. Go to Users > Users and groups > Include > Select users and groups > Directory roles 5. Add at least the Directory roles listed after these steps. 6. Select Cloud apps or actions > All cloud apps (and don't exclude any apps). 7. Grant > Grant Access with Require authentication strength (Preview): Phishing-resistant MFA 8. Click Select 9. Set Enable policy to Report-only and click Create At minimum these directory roles should be included for the policy: - Application administrator - Authentication administrator - Billing administrator - Cloud application administrator - Conditional Access administrator - Exchange administrator - Global administrator - Global reader - Helpdesk administrator - Password administrator - Privileged authentication administrator - Privileged role administrator - Security administrator - SharePoint administrator - User administrator WARNING: Ensure administrators are pre-registered with strong authentication before enforcing the policy. After which the policy must be set to On. Associated Objects
Affected Objects |
Done | Ensure custom banned passwords lists are used | High | Custom banned passwords setting is disabled. | SP v1.0 | NO |
X TEST NAME Ensure custom banned passwords lists are used Description Item does not meet all the requirements as per test. With Azure AD Password Protection, default global banned password lists are automatically applied to all users in an Azure AD tenant. To support business and security needs, custom banned password lists can be defined. When users change or reset their passwords, these banned password lists are checked to enforce the use of strong passwords. A custom banned password list should include some of the following examples: - Brand names - Product names - Locations, such as company headquarters - Company-specific internal terms - Abbreviations that have specific company meaning Creating a new password can be difficult regardless of ones technical background. It is common to look around ones environment for suggestions when building a password, however, this may include picking words specific to the organization as inspiration for a password. An adversary may employ what is called a mangler to create permutations of these specific words in an attempt to crack passwords or hashes making it easier to reach their goal. If a custom banned password list includes too many common dictionary words, or short words that are part of compound words, then perfectly secure passwords may be blocked. The organization should consider a balance between security and usability when creating a list. Recommendation and Steps Create a custom banned password list: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/ 2. Click to expand Protection > Authentication methods 3. Select Password protection 4. Set Enforce custom list to Yes 5. In Custom banned password list create a list using suggestions outlined in this document. 6. Click Save NOTE: Below is a list of examples that can be used as a starting place. The references section contains more suggestions. - Brand names - Product names - Locations, such as company headquarters - Company-specific internal terms - Abbreviations that have specific company meaning Associated Objects
Affected Objects |
Done | Ensure Restrict non-admin users from creating tenants is set to Yes | High | Enabled-Not Ok | SP v1.0 | NO |
X TEST NAME Ensure Restrict non-admin users from creating tenants is set to Yes Description Item does not meet all the requirements as per test. Non-privileged users can create tenants in the Azure AD and Entra administration portal under Manage tenant. The creation of a tenant is recorded in the Audit log as category DirectoryManagement and activity Create Company. Anyone who creates a tenant becomes the Global Administrator of that tenant. The newly created tenant doesn't inherit any settings or configurations. Restricting tenant creation prevents unauthorized or uncontrolled deployment of resources and ensures that the organization retains control over its infrastructure. User generation of shadow IT could lead to multiple, disjointed environments that can make it difficult for IT to manage and secure the organizations data, especially if other users in the organization began using these tenants for business purposes under the misunderstanding that they were secured by the organizations security team. Non-admin users will need to contact I.T. if they have a valid reason to create a tenant. Recommendation and Steps Restrict access to the Azure AD portal: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/ 2. Click to expand Identity> Users > User settings. 3. Set Restrict non-admin users from creating tenants to Yes then Save. To remediate using PowerShell: 1. Connect to Microsoft Graph using Connect-MgGraph -Scopes 2. Run the following commands. # Create hashtable and update the auth policy $params = @{ AllowedToCreateTenants = $false } Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions $params Associated Objects Affected Objects |
Done | Ensure a dynamic group for guest users is created | High | Custom banned passwords setting is disabled. | SP v1.0 | NO |
X TEST NAME Ensure a dynamic group for guest users is created Description Item does not meet all the requirements as per test. A dynamic group is a dynamic configuration of security group membership for Azure Active Directory. Administrators can set rules to populate groups that are created in Azure AD based on user attributes (such as userType, department, or country/region). Members can be automatically added to or removed from a security group based on their attributes. The recommended state is to create a dynamic group that includes guest accounts. Dynamic groups allow for an automated method to assign group membership. Guest user accounts will be automatically added to this group and through this existing conditional access rules, access controls and other security measures will ensure that new guest accounts are restricted in the same manner as existing guest accounts. Recommendation and Steps Create a dynamic guest group: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/. 2. Click to expand Identity > Groups select All groups. 3. Select New group and assign the following values: - Group type: Security - Azure AD Roles can be assigned: No - Membership type: Dynamic User 4. Select Add dynamic query. 5. Above the Rule syntax text box, select Edit. 6. Place the following expression in the box: (user.userType -eq ) 7. Select OK and Save Using PowerShell: 1. Connect to Microsoft Graph using Connect-MgGraph -Scopes 2. In the script below edit DisplayName and MailNickname as needed and run: $params = @{ DisplayName = MailNickname = MailEnabled = $false SecurityEnabled = $true GroupTypes = MembershipRule = (user.userType -eq ) MembershipRuleProcessingState = } New-MgGroup @params Associated Objects Affected Objects |
Done | Ensure Microsoft Authenticator is configured to protect against MFA fatigue | High | Microsoft Authenticator is disabled. | SP v1.0 | NO |
X TEST NAME Ensure Microsoft Authenticator is configured to protect against MFA fatigue Description Item does not meet all the requirements as per test. Microsoft has released additional settings to enhance the configuration of the Microsoft Authenticator application. These settings provide additional information and context to users who receive MFA passwordless and push requests, such as geographic location the request came from, the requesting application and requiring a number match. Ensure the following are Enabled. - Require number matching for push notifications - Show application name in push and passwordless notifications - Show geographic location in push and passwordless notifications NOTE: On February 27, 2023, Microsoft started enforcing number matching tenant-wide for all users using Microsoft Authenticator. As the use of strong authentication has become more widespread, attackers have started to exploit the tendency of users to experience. This occurs when users are repeatedly asked to provide additional forms of identification, leading them to eventually approve requests without fully verifying the source. To counteract this, number matching can be employed to ensure the security of the authentication process. With this method, users are prompted to confirm a number displayed on their original device and enter it into the device being used for MFA. Additionally, other information such as geolocation and application details are displayed to enhance the end users awareness. Among these 3 options, number matching provides the strongest net security gain. Additional interaction will be required by end users using number matching as opposed to simply pressing for login attempts. Recommendation and Steps To configure Microsoft Authenticator to protect against MFA fatigue: 1. Navigate to the Microsoft Entra admin center https://entra.microsoft.com. 2. Click to expand Protection > Authentication methods select Policies. 3. Select Microsoft Authenticator 4. Under Enable and Target ensure the setting is set to Enable. 5. Select Configure 6. Set the following Microsoft Authenticator settings: - Require number matching for push notifications Status is set to Enabled, Target All users - Show application name in push and passwordless notifications is set to Enabled, Target All users - Show geographic location in push and passwordless notifications is set to Enabled, Target All users Associated Objects
Affected Objects |
Done | Enable Azure AD Identity Protection user risk policies | High | Not Configured Correctly | SP v1.0 | NO |
X TEST NAME Enable Azure AD Identity Protection user risk policies Description Azure AD User Risk Policies are not enabled. When the policy triggers, access to the account will either be blocked, or the user would be required to use multi-factor authentication and change their password. Users who haven't registered MFA on their account will be blocked from accessing it. If account access is blocked, an admin would need to recover the account. It is therefore recommended that the MFA registration policy be configured for all users who are a part of the User Risk policy. Recommendation and Steps Azure Active Directory Identity Protection user risk policies detect the probability that a user account has been compromised. With the user risk policy turned on, Azure AD detects the probability that a user account has risky sign-in. Associated Objects Affected Objects |
Done | Ensure the admin consent workflow is enabled | High | WARNING: Not Enabled for Graph App | SP v1.0 | NO |
X TEST NAME Ensure the admin consent workflow is enabled Description Admin Consent workflow is not enabled. To approve requests a reviewer must be a global administrator, cloud application administrator or application administrator. Recommendation and Steps Without an admin consent workflow (Preview), a user in a tenant where user consent is disabled will be blocked when they try to access any app that requires permissions to access organizational data. The user sees a generic error message that says they're unauthorized to access the app and they should ask their admin for help. The admin consent workflow (Preview) gives admins a secure way to grant access to Associated Objects
Affected Objects More Information TEST ID
|
Done | Ensure Microsoft Azure Management is limited to administrative roles | High | No Policy Found | SP v1.0 | NO |
X TEST NAME Ensure Microsoft Azure Management is limited to administrative roles Description Item does not meet all the requirements as per test. The Microsoft Azure Management application governs various Azure services and can be secured through the implementation of a Conditional Access policy. This policy can restrict specific user accounts from accessing the related portals and applications. When Conditional Access policy is targeted to the Microsoft Azure Management application, within the Conditional Access policy app picker the policy will be enforced for tokens issued to application IDs of a set of services closely bound to the portal. - Azure Resource Manager - Azure portal, which also covers the Microsoft Entra admin center - Azure Data Lake - Application Insights API - Log Analytics API Microsoft Azure Management should be restricted to specific pre-determined administrative roles. NOTE: Blocking Microsoft Azure Management will prevent non-privileged users from signing into most portals other than Microsoft 365 Defender and Microsoft Purview. Blocking sign-in to Azure Management applications and portals enhances security of sensitive data by restricting access to privileged users. This mitigates potential exposure due to administrative errors or software vulnerabilities, as well as acting as a defense in depth measure against security breaches. PIM functionality will be impacted unless non-privileged users are first assigned to a permanent group or role that is excluded from this policy. When attempting to checkout a role in the Entra ID PIM area they will receive the message Because the policy is applied to the Azure management portal and API, services, or clients with an Azure API service dependency, can indirectly be impacted: Classic deployment model APIs Azure PowerShell Azure CLI Azure DevOps Azure Data Factory portal Azure Event Hubs Azure Service Bus Azure SQL Database SQL Managed Instance Azure Synapse Visual Studio subscriptions administrator portal Microsoft IoT Central Recommendation and Steps To enable Microsoft Azure Management restrictions: 1. Navigate to the Microsoft Entra admin center https://entra.microsoft.com. 2. Click expand Protection > Conditional Access select Policies. 3. Click New Policy and then name the policy. 4. Select Users > Include > All Users 5. Select Users > Exclude > Directory roles and select only administrative roles. See audit section for more information. 6. Select Cloud apps or actions > Select apps > Select then click the box next to Microsoft Azure Management. 7. Click Select. 8. Select Grant > Block access and click Select. 9. Ensure Enable Policy is On then click Create. WARNING: Exclude Global Administrator at a minimum to avoid being locked out. Report-only is a good option to use when testing any Conditional Access policy for the first time. Associated Objects Affected Objects More Information TEST ID
|
Done | Ensure LinkedIn account connections is disabled | High | Enabled | SP v1.0 | NO |
X TEST NAME Ensure LinkedIn account connections is disabled Description Item does not meet all the requirements as per test. LinkedIn account connections allow users to connect their Microsoft work or school account with LinkedIn. After a user connects their accounts, information and highlights from LinkedIn are available in some Microsoft apps and services. Disabling LinkedIn integration prevents potential phishing attacks and risk scenarios where an external party could accidentally disclose sensitive information. Users will not be able to sync contacts or use LinkedIn integration. Recommendation and Steps To disable LinkedIn account connections: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/. 2. Click to expand Identity > Users select User settings. 3. Under LinkedIn account connections select No. 4. Click Save. Associated Objects
Affected Objects |
Done | Ensure Sign-in frequency is enabled and browser sessions are not persistent for Administrative users | High | Disabled | SP v1.0 | NO |
X TEST NAME Ensure Sign-in frequency is enabled and browser sessions are not persistent for Administrative users Description Item does not meet all the requirements as per test. In complex deployments, organizations might have a need to restrict authentication sessions. Conditional Access policies allow for the targeting of specific user accounts. Some scenarios might include: - Resource access from an unmanaged or shared device - Access to sensitive information from an external network - High-privileged users - Business-critical applications. Ensure Sign-in frequency does not exceed 4 hours for E3 tenants, or 24 hours for E5 tenants using Privileged Identity Management. Ensure Persistent browser session is set to Never persist. NOTE: This CA policy can be added to the previous CA policy in this benchmark Forcing a time out for MFA will help ensure that sessions are not kept alive for an indefinite period of time, ensuring that browser sessions are not persistent will help in prevention of drive-by attacks in web browsers, this also prevents creation and saving of session cookies leaving nothing for an attacker to take. Users with Administrative roles will be prompted at the frequency set for MFA. Recommendation and Steps To configure Sign-in frequency and browser sessions persistence for administrative users: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/. 2. Click to expand Protection > Conditional Access Select Policies. 3. Click New policy 4. Click Users and groups 5. Under Include select -Select users and groups- and then select -Directory roles-. 6. At a minimum, select the roles in the section below. 7. Go to Cloud apps or actions > Cloud apps > Include > select All cloud apps (and don't exclude any apps). 8. Under Access controls > Grant > select Grant access > check Require multi-factor authentication (and nothing else). 9. Under Session select Sign-in frequency and set to at most 4 hours for E3 tenants. E5 tenants with PIM can be set to a maximum value of 24 hours. 10. Check Persistent browser session then select Never persistent in the drop-down menu. 11. For Enable Policy select On and click Save At minimum these directory roles should be included for MFA: - Application administrator - Authentication administrator - Billing administrator - Cloud application administrator - Conditional Access administrator - Exchange administrator - Global administrator - Global reader - Helpdesk administrator - Password administrator - Privileged authentication administrator - Privileged role administrator - Security administrator - SharePoint administrator - User administrator Associated Objects
Affected Objects More Information TEST ID
|
Done | Enable Conditional Access policies to block legacy authentication | High | SP v1.0 | NO |
X TEST NAME Enable Conditional Access policies to block legacy authentication Description No Conditional Access policies were found. Enabling this setting will prevent users from connecting with older versions of Office, ActiveSync or using protocols like IMAP, POP or SMTP and may require upgrades to older versions of Office, and use of mobile mail clients that support modern authentication. Recommendation and Steps Use Conditional Access to block legacy authentication protocols in Microsoft 365. Legacy authentication protocols do not support multi-factor authentication. These protocols are often used by attackers because of this deficiency. Blocking legacy authentication makes it harder for attackers to gain access. Associated Objects Affected Objects | |
Done | Ensure Self service password reset enabled is set to All | High | SP v1.0 | NO |
X TEST NAME Ensure Self service password reset enabled is set to All Description Item does not meet all the requirements as per test. Enabling self-service password reset allows users to reset their own passwords in Azure AD. When users sign in to Microsoft 365, they will be prompted to enter additional contact information that will help them reset their password in the future. If combined registration is enabled additional information, outside of multi-factor, will not be needed. NOTE: Effective Oct. 1st, 2022, Microsoft will begin to enable combined registration for all users in Azure AD tenants created before August 15th, 2020. Tenants created after this date are enabled with combined registration by default. Users will no longer need to engage the helpdesk for password resets, and the password reset mechanism will automatically block common, easily guessable passwords. Users will be required to provide additional contact information to enroll in self-service password reset. Additionally, minor user education may be required for users that are used to calling a help desk for assistance with password resets. NOTE: This is unavailable if using Azure AD Connect / Sync in a hybrid environment. Recommendation and Steps To enable self-service password reset: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/. 2. Click to expand Protection > Password reset select Properties. 3. Set Self service password reset enabled to All Associated Objects Affected Objects | |
Done | Enable Azure AD Identity Protection sign-in risk policies | High | Not Configured Correctly | SP v1.0 | NO |
X TEST NAME Enable Azure AD Identity Protection sign-in risk policies Description Azure AD Identity Protection Sign-In Risk Policies are not configured. When the policy triggers, the user will need MFA to access the account. In the case of a user who hasn't registered MFA on their account, they would be blocked from accessing their account. It is therefore recommended that the MFA registration policy be configured for all users who are a part of the Sign-in Risk policy. Recommendation and Steps Azure Active Directory Identity Protection sign-in risk detects risks in real-time and offline. A risky sign-in is an indicator for a sign-in attempt that might not have been performed by the legitimate owner of a user account. Turning on the sign-in risk policy ensures that suspicious sign-ins are challenged for multi-factor authentication. Associated Objects Affected Objects |
Done | Ensure multifactor authentication is enabled for all users in administrative roles | High | SP v1.0 | NO |
X TEST NAME Ensure multifactor authentication is enabled for all users in administrative roles Description Item does not meet all the requirements as per test. Implementation of multifactor authentication for all users in administrative roles will necessitate a change to user routine. All users in administrative roles will be required to enroll in multifactor authentication using using phone, SMS, or an authentication application. After enrollment, use of multifactor authentication will be required for future access to the environment. Recommendation and Steps Enable multifactor authentication for all users who are members of administrative roles in the Microsoft 365 tenant. These include roles such as: Global Administrator Billing Administrator Exchange Administrator SharePoint Administrator Password Administrator Skype for Business Administrator Service Support Administrator User Administrator Dynamics 365 Service Administrator Power BI Administrator Associated Objects Affected Objects | |
Done | Ensure multifactor authentication is enabled for all users | High | Multifactor Authentication is not enabled for all users | SP v1.0 | NO |
X TEST NAME Ensure multifactor authentication is enabled for all users Description Item does not meet all the requirements as per test. Implementation of multifactor authentication for all users will necessitate a change to user routine. All users will be required to enroll in multifactor authentication using using phone, SMS, or an authentication application. After enrollment, use of multifactor authentication will be required for future authentication to the environment. Recommendation and Steps Enable multifactor authentication for all users in the Microsoft 365 tenant. Users will be prompted to authenticate with a second factor upon logging in to Microsoft 365 services. The second factor is most commonly a text message to a registered mobile phone number where they type in an authorization code, or with a mobile application like Microsoft Authenticator. Associated Objects Affected Objects |
Done | Ensure Azure Pass Through Authentication is Enabled | High | Not Configured Correctly | SP v1.0 | NO |
X TEST NAME Ensure Azure Pass Through Authentication is Enabled Description Item does not meet all the requirements as per test. Microsoft Entra pass-through authentication allows your users to sign in to both on-premises and cloud-based applications by using the same passwords. Pass-through Authentication signs users in by validating their passwords directly against on-premises Active Directory. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure the Password expiration policy is set to Set passwords to never expire | High | Not Configured Correctly | SP v1.0 | NO |
X TEST NAME Ensure the Password expiration policy is set to Set passwords to never expire Description Item does not meet all the requirements as per test. Research has found that when periodic password resets are enforced, passwords become less secure. Users tend to pick a weaker password and vary it slightly for each reset. If a user creates a strong password (long, complex and without any pragmatic words present) it should remain just as strong in the future as it is today. It is Microsoft's official security position to not expire passwords periodically without a specific reason, and recommends that cloud-only tenants set the password policy to never expire. Recommendation and Steps In the Microsoft 365 admin center, go to Settings > Org Settings > Security & privacy > Password expiration policy. Then check the box Set passwords to never expire (recommended). You must be a global admin to edit the password policy. Go to Password expiration policy in Microsoft 365. If your organization has an on-premises implementation, we recommend that you set the status for this action to Resolved through alternate mitigation. Associated Objects Affected Objects |
Done | Ensure multifactor authentication is enabled for all users | High | Multifactor Authentication is not enabled for all users | SP v1.0 | NO |
X TEST NAME Ensure multifactor authentication is enabled for all users Description Item does not meet all the requirements as per test. Implementation of multifactor authentication for all users will necessitate a change to user routine. All users will be required to enroll in multifactor authentication using using phone, SMS, or an authentication application. After enrollment, use of multifactor authentication will be required for future authentication to the environment. Recommendation and Steps Enable multifactor authentication for all users in the Microsoft 365 tenant. Users will be prompted to authenticate with a second factor upon logging in to Microsoft 365 services. The second factor is most commonly a text message to a registered mobile phone number where they type in an authorization code, or with a mobile application like Microsoft Authenticator. Associated Objects Affected Objects |
Done | Ensure multifactor authentication is enabled for all users in administrative roles | High | SP v1.0 | NO |
X TEST NAME Ensure multifactor authentication is enabled for all users in administrative roles Description Item does not meet all the requirements as per test. Implementation of multifactor authentication for all users in administrative roles will necessitate a change to user routine. All users in administrative roles will be required to enroll in multifactor authentication using using phone, SMS, or an authentication application. After enrollment, use of multifactor authentication will be required for future access to the environment. Recommendation and Steps Enable multifactor authentication for all users who are members of administrative roles in the Microsoft 365 tenant. These include roles such as: Global Administrator Billing Administrator Exchange Administrator SharePoint Administrator Password Administrator Skype for Business Administrator Service Support Administrator User Administrator Dynamics 365 Service Administrator Power BI Administrator Associated Objects Affected Objects | |
Done | Use least privileged administrative roles | High | Not Configured Correctly | SP v1.0 | NO |
X TEST NAME Use least privileged administrative roles Description Item does not meet all the requirements as per test. Please learn more about the Roles and their permissions here: https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/delegate-by-task Recommendation and Steps Associated Objects Affected Objects |
Done | Ensure to Designate more than one global admin | High | Not Configured Correctly | SP v1.0 | NO |
X TEST NAME Ensure to Designate more than one global admin Description Item does not meet all the requirements as per test. The potential impact associated with ensuring compliance with this requirement is dependent upon the current number of global administrators configured in the tenant. If there is only one global administrator in a tenant, an additional global administrator will need to be identified and configured. If there are more than four global administrators, a review of role requirements for current global administrators will be required to identify which of the users require global administrator access. Recommendation and Steps More than one global administrator should be designated so a single admin can be monitored and to provide redundancy should a single admin leave an organization. Additionally, there should be no more than four global admins set for any tenant. Ideally global administrators will have no licenses assigned to them. Associated Objects Affected Objects |
Done | Ensure Privileged Identity Management is used to manage roles | Medium | Permanent active role assignments found. | SP v1.0 | NO |
X TEST NAME Ensure Privileged Identity Management is used to manage roles Description Item does not meet all the requirements as per test. Access reviews enable administrators to establish an efficient automated process for reviewing group memberships, access to enterprise applications, and role assignments. These reviews can be scheduled to recur regularly, with flexible options for delegating the task of reviewing membership to different members of the organization. Ensure Access reviews for Guest Users are configured to be performed no less frequently than monthly. Access to groups and applications for guests can change over time. If a guest users access to a particular folder goes unnoticed, they may unintentionally gain access to sensitive data if a member adds new files or data to the folder or application. Access reviews can help reduce the risks associated with outdated assignments by requiring a member of the organization to conduct the reviews. Furthermore, these reviews can enable a fail-closed mechanism to remove access to the subject if the reviewer does not respond to the review. Access reviews that are ignored may cause guest users to lose access to resources temporarily. Recommendation and Steps Create an access review for Guest Users: 1. Navigate to Microsoft Entra admin center https://entra.microsoft.com/ 2. Click to expand Identity Governance and select Access reviews 3. Click New access review. 4. Select what to review choose Teams + Groups. 5. Review Scope set to All Microsoft 365 groups with guest users, do not exclude groups. 6. Scope set to Guest users only then click Next: Reviews. 7. Select reviewer as an appropriate user that is NOT the guest user themselves. 8. Duration (in days) at most 3. 9. Review recurrence is Monthly or more frequent. 10. End is set to Never, then click Next: Settings. 11. Check Auto apply results to resource. 12. Set If reviewers don't respond to Remove access. 13. Check the following: Justification required, E-mail notifications, Reminders. 14. Click Next: Review + Create and finally click Create. Associated Objects
Affected Objects
|
Done | Ensure user consent to apps accessing company data on their behalf is not allowed | Medium | Allowed | SP v1.0 | NO |
X TEST NAME Ensure user consent to apps accessing company data on their behalf is not allowed Description Consent to Apps accessing company data on their behalf is not allowed and is not configured. If user consent is disabled previous consent grants will still be honored but all future consent operations must be performed by an administrator. Recommendation and Steps By default, users can consent to applications accessing your organization's data, although only for some permissions. For example, by default a user can consent to allow an app to access their own mailbox or the Teams conversations for a team the user owns but cannot consent to allow an app unattended access to read and write to all SharePoint sites in your organization. Do not allow users to grant consent to apps accessing company data on their behalf. Attackers commonly use custom applications to trick users into granting them access to company data. Associated Objects
Affected Objects |
Done | Ensure that password hash sync is enabled for hybrid deployments | Passed | On-Premises Sync is enabled. | SP v1.0 | YES |
X TEST NAME Ensure that password hash sync is enabled for hybrid deployments Description Password Sync is enabled for hybrid deployments. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Security Defaults is disabled on Azure Active Directory | Passed | Security Defaults are disabled. | SP v1.0 | YES |
X TEST NAME Ensure Security Defaults is disabled on Azure Active Directory Description Security Defaults is disabled in Azure AD. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure third party integrated applications are not allowed | Passed | Not Allowed | SP v1.0 | YES |
X TEST NAME Ensure third party integrated applications are not allowed Description Third party integrated applications are not allowed. Recommendation and Steps Associated Objects
Affected Objects More Information TEST ID
|
Done | Ensure Entra ID P1 or P2 License is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure Azure Password Hash Synchronization is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
X TEST NAME Ensure Azure Password Hash Synchronization is Enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure no more than 5 Members in each Entra ID Administrative Role | Passed | Configured Correctly | SP v1.0 | YES |
X TEST NAME Ensure no more than 5 Members in each Entra ID Administrative Role Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure password protection is enabled for on-prem Active Directory | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure password protection is enabled for on-prem Active Directory Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Security Defaults is enabled on Microsoft Entra ID | High | Security Defaults Disabled | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Security Defaults is enabled on Microsoft Entra ID Description Item does not meet all the requirements as per test. This recommendation should be implemented initially and then may be overridden by other service/product specific CIS Benchmarks. Administrators should also be aware that certain configurations in Microsoft Entra ID may impact other Microsoft services such as Microsoft 365 Security defaults in Microsoft Entra ID make it easier to be secure and help protect your organization. Security defaults contain preconfigured security settings for common attacks. Security defaults is available to everyone. The goal is to ensure that all organizations have a basic level of security enabled at no extra cost. You may turn on security defaults in the Azure portal. Security defaults provide secure default settings that we manage on behalf of organizations to keep customers safe until they are ready to manage their own identity security settings. For example, doing the following: ? Requiring all users and admins to register for MFA. ? Challenging users with MFA - when necessary, based on factors such as location, device, role, and task. ? Disabling authentication from legacy authentication clients, which can?t do MFA. Recommendation and Steps From Azure Portal To enable security defaults in your directory: 1. From Azure Home select the Portal Menu. 2. Browse to Microsoft Entra ID > Properties 3. Select Manage security defaults 4. Set the Enable security defaults to Enabled 5. Select Save Associated Objects
Affected Objects |
Done | Ensure that Multi-Factor Auth Status is Enabled for all Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Multi-Factor Auth Status is Enabled for all Privileged Users Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Multi-Factor Auth Status is Enabled for all Non-Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Multi-Factor Auth Status is Enabled for all Non-Privileged Users Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Ensure that Allow users to remember multi-factor authentication on devices they trust is Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Allow users to remember multi-factor authentication on devices they trust is Disabled Description Item does not meet all the requirements as per test. For every login attempt, the user will be required to perform multi-factor authentication. Ensure that 'Allow users to remember multi-factor authentication on devices they trust' is Disabled (Manual) Remembering Multi-Factor Authentication (MFA) for devices and browsers allows users to have the option to bypass MFA for a set number of days after performing a successful sign-in using MFA. This can enhance usability by minimizing the number of times a user may need to perform two-step verification on the same device. However, if an account or device is compromised, remembering MFA for trusted devices may affect security. Hence, it is recommended that users not be allowed to bypass MFA. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Users 4. Click the Per-user MFA button on the top bar 5. Click on service settings 6. Uncheck the box next to Allow users to remember multi-factor authentication on devices they trust Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Trusted Locations Are Defined | High | Trusted Location Not Defined | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Trusted Locations Are Defined Description Item does not meet all the requirements as per test. When configuring Named locations, the organization can create locations using Geographical location data or by defining source IP addresses or ranges. Configuring Named locations using a Country location does not provide the organization the ability to mark those locations as trusted, and any Conditional Access policy relying on those Countries location setting will not be able to use the All trusted locations setting within the Conditional Access policy. They instead will have to rely on the Select locations setting. This may add additional resource requirements when configuring, and will require thorough organizational testing. In general, Conditional Access policies may completely prevent users from authenticating to Microsoft Entra ID, and thorough testing is recommended. To avoid complete lockout, a 'Break Glass' account with full Global Administrator rights is recommended in the event all other administrators are locked out of authenticating to Microsoft Entra ID. This 'Break Glass' account should be excluded from Conditional Access Policies and should be configured with the longest pass phrase feasible. This account should only be used in the event of an emergency and complete administrator lockout. Microsoft Entra ID Conditional Access allows an organization to configure Named locations and configure whether those locations are trusted or untrusted. These settings provide organizations the means to specify Geographical locations for use in conditional access policies, or define actual IP addresses and IP ranges and whether or not those IP addresses and/or ranges are trusted by the organization. Defining trusted source IP addresses or ranges helps organizations create and enforce Conditional Access policies around those trusted or untrusted IP addresses and ranges. Users authenticating from trusted IP addresses and/or ranges may have less access restrictions or access requirements when compared to users that try to authenticate to Microsoft Entra ID from untrusted locations or untrusted source IP addresses/ranges. Recommendation and Steps From Azure Portal 1. Navigate to the Microsoft Entra ID Conditional Access Blade 2. Click on the Named locations blade 3. Within the Named locations blade, click on IP ranges location 4. Enter a name for this location setting in the Name text box 5. Click on the + sign 6. Add an IP Address Range in CIDR notation inside the text box that appears 7. Click on the Add button 8. Repeat steps 5 through 7 for each IP Range that needs to be added 9. If the information entered are trusted ranges, select the Mark as trusted location check box 10. Once finished, click on Create Associated Objects
Affected Objects |
Done | Ensure that an exclusionary Geographic Access Policy is considered | High | No exclusionary Geographic Access Policy is Found | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that an exclusionary Geographic Access Policy is considered Description Item does not meet all the requirements as per test. Microsoft Entra ID P1 or P2 is required. Limiting access geographically will deny access to users that are traveling or working remotely in a different part of the world. A point-to- site or site to site tunnel such as a VPN is recommended to address exceptions to geographic access policies. CAUTION: If these policies are created without first auditing and testing the result, misconfiguration can potentially lock out administrators or create undesired access issues. Conditional Access Policies can be used to block access from geographic locations that are deemed out-of-scope for your organization or application. The scope and variables for this policy should be carefully examined and defined. Conditional Access, when used as a deny list for the tenant or subscription, is able to prevent ingress or egress of traffic to countries that are outside of the scope of interest (e.g.: customers, suppliers) or jurisdiction of an organization. This is an effective way to prevent unnecessary and long-lasting exposure to international threats such as APTs. Recommendation and Steps From Azure Portal Part 1 of 2 - Create the policy and enable it in Report-only mode. 1. From Azure Home open the portal menu in the top left, and select Microsoft Entra ID. 2. Scroll down in the menu on the left, and select Security. 3. Select on the left side Conditional Access. 4. Click the + New policy button, then: 5. Provide a name for the policy. 6. Under Assignments, select Users or workload identities then: o Under Include, select All users o Under Exclude, check Users and groups and only select emergency access accounts and service accounts (NOTE: Service accounts are excluded here because service accounts are non-interactive and cannot complete MFA) 7. Under Assignments, select Cloud apps or actions then: o Under Include, select All cloud apps o Leave Exclude blank unless you have a well defined exception 8. Under Conditions, select Locations then: o Select Include, then add entries for locations for those that should be blocked o Select Exclude, then add entries for those that should be allowed (IMPORTANT: Ensure that all Trusted Locations are in the Exclude list.) Page 38 9. Under Access Controls, select Grant and Confirm that Block Access is selected. 10. Set Enable policy to Report-only. 11. Click Create. NOTE: The policy is not yet 'live,' since Report-only is being used to audit the effect of the policy. Part 2 of 2 - Confirm that the policy is not blocking access that should be granted, then toggle to On. 1. With your policy now in report-only mode, return to the Microsoft Entra blade and click on Sign-in logs. 2. Review the recent sign-in events - click an event then review the event details (specifically the Report-only tab) to ensure: o The sign-in event you're reviewing occurred after turning on the policy in report-only mode o The policy name from step 5 above is listed in the Policy Name column o The Result column for the new policy shows that the policy was Not applied (indicating the location origin was not blocked) 3. If the above conditions are present, navigate back to the policy name in Conditional Access and open it. 4. Toggle the policy from Report-only to On. 5. Click Save. Associated Objects
Affected Objects |
Done | Ensure that A Multi-factor Authentication Policy Exists for All Users | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that A Multi-factor Authentication Policy Exists for All Users Description Item does not meet all the requirements as per test. There is an increased cost, as Conditional Access policies require Microsoft Entra ID P1or P2. Similarly, this may require additional overhead to maintain if users lose access totheir MFA. For designated users, they will be prompted to use their multi-factor authentication(MFA) process on logins. Enabling multi-factor authentication is a recommended setting to limit the potential ofaccounts being compromised and limiting access to authenticated personnel. Recommendation and Steps From Azure Portal1. From Azure Home open Portal menu in the top left, and select Microsoft EntraID.2. Select Security.3. Select Conditional Access.4. Click + New policy.5. Enter a name for the policy.6. Select Users or workload identities.Page 457. Under Include, select All users.8. Under Exclude, check Users and groups.9. Select users this policy should not apply to and click Select.10. Select Cloud apps or actions.11. Select All cloud apps.12. Select Grant.13. Under Grant access, check Require multifactor authentication and clickSelect.14. Set Enable policy to Report-only.15. Click Create.After testing the policy in report-only mode, update the Enable policy setting fromReport-only to On. Associated Objects
Affected Objects |
Done | Ensure that Restrict non-admin users from creating tenants is set to Yes | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Restrict non-admin users from creating tenants is set to Yes Description Item does not meet all the requirements as per test. Enforcing this setting will ensure that only authorized users are able to create new tenants. Require administrators or appropriately delegated users to create new tenants. It is recommended to only allow an administrator to create new tenants. This prevent users from creating new Microsoft Entra ID or Azure AD B2C tenants and ensures that only authorized users are able to do so. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Users 4. Select User settings Page 57 5. Set Restrict non-admin users from creating tenants to Yes Associated Objects
Affected Objects |
Done | Ensure Guest Users Are Reviewed on a Regular Basis | High | Guest Users Found | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Guest Users Are Reviewed on a Regular Basis Description Item does not meet all the requirements as per test. Before removing guest users, determine their use and scope. Like removing any user, there may be unforeseen consequences to systems if it is deleted. Microsoft Entra ID is extended to include Azure AD B2B collaboration, allowing you to invite people from outside your organization to be guest users in your cloud account and sign in with their own work, school, or social identities. Guest users allow you to share your company's applications and services with users from any other organization, while maintaining control over your own corporate data. Work with external partners, large or small, even if they don't have Azure AD or an IT department. A simple invitation and redemption process lets partners use their own credentials to access your company's resources as a guest user. Guest users in every subscription should be review on a regular basis to ensure that inactive and unneeded accounts are removed. Guest users in the Microsoft Entra ID are generally required for collaboration purposes in Office 365, and may also be required for Azure functions in enterprises with multiple Azure tenants. Guest users are typically added outside your employee on-boarding/offboarding process and could potentially be overlooked indefinitely, leading to a potential vulnerability. To prevent this, guest users should be reviewed on a regular basis. During this audit, guest users should also be determined to not have administrative privileges. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Users 4. Click on Add filter 5. Select User type 6. Select Guest from the Value dropdown 7. Click Apply 8. Delete all Guest users that are no longer required or are inactive Associated Objects Affected Objects
|
Done | Ensure That Guest users access restrictions is set to Guest user access is restricted to properties and memberships of their own directory objects | High | Guest user access is not restricted | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Guest users access restrictions is set to Guest user access is restricted to properties and memberships of their own directory objects Description Item does not meet all the requirements as per test. This may create additional requests for permissions to access resources that administrators will need to approve. According to https://learn.microsoft.com/en-us/azure/active-directory/enterpriseusers/users-restrict-guest-permissions#services-currently-not-supported Service without current support might have compatibility issues with the new guest restriction setting. ? Forms ? Project ? Yammer ? Planner in SharePoint Limit guest user permissions. Limiting guest access ensures that guest accounts do not have permission for certain directory tasks, such as enumerating users, groups or other directory resources, and cannot be assigned to administrative roles in your directory. Guest access has three levels of restriction. 1. Guest users have the same access as members (most inclusive), 2. Guest users have limited access to properties and memberships of directory objects (default value), 3. Guest user access is restricted to properties and memberships of their own directory objects (most restrictive). The recommended option is the 3rd, most restrictive: Guest user access is restricted to their own directory object. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then External Identities 4. Select External collaboration settings 5. Under Guest user access, change Guest user access restrictions to be Guest user access is restricted to properties and memberships of their own directory objects Associated Objects Affected Objects |
Done | Ensure That Restrict access to Microsoft Entra admin center is Set to Yes | High | No Policy Found | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Restrict access to Microsoft Entra admin center is Set to Yes Description Item does not meet all the requirements as per test. All administrative tasks will need to be done by Administrators, causing additional overhead in management of users and resources. Restrict access to the Microsoft Entra ID administration center to administrators only. NOTE: This only affects access to the Entra ID administrator's web portal. This setting does not prohibit privileged users from using other methods such as Rest API or Powershell to obtain sensitive information from Microsoft Entra ID. The Microsoft Entra ID administrative center has sensitive data and permission settings. All non-administrators should be prohibited from accessing any Microsoft Entra ID data in the administration center to avoid exposure. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then Users 4. Select User settings 5. Set Restrict access to Microsoft Entra admin center to Yes Associated Objects Affected Objects |
Done | Ensure that Restrict user ability to access groups features in the Access Pane is Set to Yes | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Restrict user ability to access groups features in the Access Pane is Set to Yes Description Item does not meet all the requirements as per test. Setting to Yes could create administrative overhead by customers seeking certain group memberships that will have to be manually managed by administrators with appropriate permissions. Restrict access to group web interface in the Access Panel portal. Self-service group management enables users to create and manage security groups or Office 365 groups in Microsoft Entra ID. Unless a business requires this day-to-day delegation for some users, self-service group management should be disabled. Any user can access the Access Panel, where they can reset their passwords, view their information, etc. By default, users are also allowed to access the Group feature, which shows groups, members, related resources (SharePoint URL, Group email address, Yammer URL, and Teams URL). By setting this feature to 'Yes', users will no longer have access to the web interface, but still have access to the data using the API. This is useful to prevent non-technical users from enumerating groups-related information, but technical users will still be able to access this information using APIs. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Groups Page 93 4. Select General under Settings 5. Ensure that Restrict user ability to access groups features in My Groups is set to Yes Associated Objects
Affected Objects |
Done | Ensure a Custom Role is Assigned Permissions for Administering Resource Locks | High | No Custom Role found to manage Resource Locks | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure a Custom Role is Assigned Permissions for Administering Resource Locks Description Item does not meet all the requirements as per test. By adding this role, specific permissions may be granted for managing just resource locks rather than needing to provide the wide Owner or User Access Administrator role, reducing the risk of the user being able to do unintentional damage. Resource locking is a powerful protection mechanism that can prevent inadvertent modification/deletion of resources within Azure subscriptions/Resource Groups and is a recommended NIST configuration. Given the resource lock functionality is outside of standard Role Based Access Control(RBAC), it would be prudent to create a resource lock administrator role to prevent inadvertent unlocking of resources. Recommendation and Steps From Azure Portal 1. In the Azure portal, open a subscription or resource group where you want the custom role to be assigned. 2. Select Access control (IAM). 3. Click Add. 4. Select Add custom role. 5. In the Custom Role Name field enter Resource Lock Administrator. 6. In the Description field enter Can Administer Resource Locks. Page 106 7. For Baseline permissions select Start from scratch 8. Select next. 9. In the Permissions tab select Add permissions. 10.In the Search for a permission box, type in Microsoft.Authorization/locks to search for permissions. 11.Select the check box next to the permission Microsoft.Authorization/locks. 12.Select Add. 13.Select Review + create. 14.Select Create. 15.Assign the newly created role to the appropriate user. Associated Objects
Affected Objects |
Done | Ensure fewer than 5 users have global administrator assignment | High | 3 | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure fewer than 5 users have global administrator assignment Description Item does not meet all the requirements as per test. Implementing this recommendation may require changes in administrative workflows or the redistribution of roles and responsibilities. Adequate training and awareness should be provided to all Global Administrators. This recommendation aims to maintain a balance between security and operational efficiency by ensuring that a minimum of 2 and a maximum of 4 users are assigned the Global Administrator role in Microsoft Entra ID. Having at least two Global Administrators ensures redundancy, while limiting the number to four reduces the risk of excessive privileged access. The Global Administrator role has extensive privileges across all services in Microsoft Entra ID. The Global Administrator role should never be used in regular daily activities; administrators should have a regular user account for daily activities, and a separate account for administrative responsibilities. Limiting the number of Global Administrators helps mitigate the risk of unauthorized access, reduces the potential impact of human error, and aligns with the principle of least privilege to reduce the attack surface of an Azure tenant. Conversely, having at least two Global Administrators ensures that administrative functions can be performed without interruption in case of unavailability of a single admin. Recommendation and Steps If more 4 users are assigned: 1. Remove Global Administrator role for users which do not or no longer require the role. Page 111 2. Assign Global Administrator role via PIM which can be activated when required. 3. Assign more granular roles to users to conduct their duties. If only one user is assigned: 1. Provide the Global Administrator role to a trusted user or create a break glass admin account. Associated Objects
Affected Objects |
Done | Ensure User consent for applications is set to Do not allow user consent | Medium | Allowed | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure User consent for applications is set to Do not allow user consent Description Item does not meet all the requirements as per test. Enforcing this setting may create additional requests that administrators need to review. Require administrators to provide consent for applications before use. If Microsoft Entra ID is running as an identity provider for third-party applications, permissions and consent should be limited to administrators or pre-approved. Malicious applications may attempt to exfiltrate data or abuse privileged user accounts. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Enterprise Applications 4. Select Consent and permissions 5. Select User consent settings Page 74 6. Set User consent for applications to Do not allow user consent 7. Click save Associated Objects
Affected Objects |
Done | Ensure User consent for applications Is Set To Allow for Verified Publishers | Medium | Allowed | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure User consent for applications Is Set To Allow for Verified Publishers Description Item does not meet all the requirements as per test. Enforcing this setting may create additional requests that administrators need to review. Allow users to provide consent for selected permissions when a request is coming from a verified publisher. If Microsoft Entra ID is running as an identity provider for third-party applications, permissions and consent should be limited to administrators or pre-approved. Malicious applications may attempt to exfiltrate data or abuse privileged user accounts. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Enterprise Applications Page 76 4. Select Consent and permissions 5. Select User consent settings 6. Under User consent for applications, select Allow user consent for apps from verified publishers, for selected permissions 7. Select Save Associated Objects
Affected Objects |
Done | Ensure Multi-factor Authentication is Required for Risky Sign-ins | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Multi-factor Authentication is Required for Risky Sign-ins Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure That Users Can Register Applications Is Set to No | Passed | Not Allowed | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure That Users Can Register Applications Is Set to No Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure That No Custom Subscription Administrator Roles Exist | Passed | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure That No Custom Subscription Administrator Roles Exist Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
Doable | Ensure that A Multi-factor Authentication Policy Exists for Administrative Groups | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that A Multi-factor Authentication Policy Exists for Administrative Groups Description Item does not meet all the requirements as per test. There is an increased cost, as Conditional Access policies require Microsoft Entra IDP1. Similarly, MFA may require additional overhead to maintain. There is also apotential scenario in which the multi-factor authentication method can be lost, andadministrative users are no longer able to log in. For this scenario, there should be anemergency access account. Please see References for creating this. For designated users, they will be prompted to use their multi-factor authentication (MFA) process on login. Enabling multi-factor authentication is a recommended setting to limit the use of Administrative accounts to authenticated personnel. Recommendation and Steps From Azure Portal1. From Azure Home open the Portal Menu in top left, and select Microsoft EntraID.2. Select Security.3. Select Conditional Access.4. Click + New policy.Page 425. Enter a name for the policy.6. Select Users or workload identities.7. Check Users and groups.8. Select administrative groups this policy should apply to and click Select.9. Under Exclude, check Users and groups.10. Select users this policy not should apply to and click Select.11. Select Cloud apps or actions.12. Select All cloud apps.13. Select Grant.14. Under Grant access, check Require multifactor authentication and clickSelect.15. Set Enable policy to Report-only.16. Click Create.After testing the policy in report-only mode, update the Enable policy setting fromReport-only to On. Associated Objects Affected Objects |
Ensure Multifactor Authentication is Required for Windows Azure Service Management API | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Multifactor Authentication is Required for Windows Azure Service Management API Description Item does not meet all the requirements as per test. Conditional Access policies require Microsoft Entra ID P1 or P2 licenses. Similarly, theymay require additional overhead to maintain if users lose access to their MFA. Anyusers or groups which are granted an exception to this policy should be carefullytracked, be granted only minimal necessary privileges, and conditional accessexceptions should be regularly reviewed or investigated. This recommendation ensures that users accessing the Windows Azure ServiceManagement API (i.e. Azure Powershell, Azure CLI, Azure Resource Manager API,etc.) are required to use multifactor authentication (MFA) credentials when accessingresources through the Windows Azure Service Management API. Administrative access to the Windows Azure Service Management API should besecured with a higher level of scrutiny to authenticating mechanisms. Enablingmultifactor authentication is recommended to reduce the potential for abuse ofAdministrative actions, and to prevent intruders or compromised admin credentials fromchanging administrative settings.IMPORTANT: While this recommendation allows exceptions to specific Users orGroups, they should be very carefully tracked and reviewed for necessity on a regularinterval through an Access Review process. It is important that this rule be built toinclude All Users to ensure that all users not specifically excepted will be required touse MFA to access the Azure Service Management API. Recommendation and Steps From Azure Portal1. From the Azure Admin Portal dashboard, open Microsoft Entra ID.2. Click Security in the Entra ID blade.3. Click Conditional Access in the Security blade.4. Click Policies in the Conditional Access blade.5. Click + New policy.6. Enter a name for the policy.7. Click the blue text under Users.8. Under Include, select All users.9. Under Exclude, check Users and groups.10. Select users or groups to be exempted from this policy (e.g. break-glassemergency accounts, and non-interactive service accounts) then click the Selectbutton.11. Click the blue text under Target Resources.12. Under Include, click the Select apps radio button.13. Click the blue text under Select.14. Check the box next to Windows Azure Service Management APIs then click theSelect button.15. Click the blue text under Grant.16. Under Grant access check the box for Require multifactor authenticationthen click the Select button.17. Before creating, set Enable policy to Report-only.18. Click Create.After testing the policy in report-only mode, update the Enable policy setting fromReport-only to On. Associated Objects Affected Objects |
Ensure Multifactor Authentication is Required to access Microsoft Admin Portals | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Multifactor Authentication is Required to access Microsoft Admin Portals Description Item does not meet all the requirements as per test. Conditional Access policies require Microsoft Entra ID P1 or P2 licenses. Similarly, they may require additional overhead to maintain if users lose access to their MFA. Any users or groups which are granted an exception to this policy should be carefully tracked, be granted only minimal necessary privileges, and conditional access exceptions should be reviewed or investigated. This recommendation ensures that users accessing Microsoft Admin Portals (i.e.Microsoft 365 Admin, Microsoft 365 Defender, Exchange Admin Center, Azure Portal,etc.) are required to use multifactor authentication (MFA) credentials when logging intoan Admin Portal. Administrative Portals for Microsoft Azure should be secured with a higher level of scrutiny to authenticating mechanisms. Enabling multifactor authentication is recommended to reduce the potential for abuse of Administrative actions, and to prevent intruders or compromised admin credentials from changing administrative settings. IMPORTANT: While this recommendation allows exceptions to specific Users or Groups, they should be very carefully tracked and reviewed for necessity on a regular interval through an Access Review process. It is important that this rule be built to include All Users to ensure that all users not specifically excepted will be required to use MFA to access Admin Portals. Recommendation and Steps From Azure Portal 1. From the Azure Admin Portal dashboard, open Microsoft Entra ID. 2. Click Security in the Entra ID blade. 3. Click Conditional Access in the Security blade. 4. Click Policies in the Conditional Access blade. 5. Click + New policy. 6. Enter a name for the policy. 7. Click the blue text under Users. 8. Under Include, select All users. 9. Under Exclude, check Users and groups. 10. Select users or groups to be exempted from this policy (e.g. break-glass emergency accounts, and non-interactive service accounts) then click the Select button. 11. Click the blue text under Target Resources. 12. Under Include, click the Select apps radio button. 13. Click the blue text under Select. 14. Check the box next to Microsoft Admin Portals then click the Select button. 15. Click the blue text under Grant. 16. Under Grant access check the box for Require multifactor authentication then click the Select button. 17. Before creating, set Enable policy to Report-only. 18. Click Create. After testing the policy in report-only mode, update the Enable policy setting from Report-only to On. Associated Objects Affected Objects |
Ensure That Number of methods required to reset is set to 2 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Number of methods required to reset is set to 2 Description Item does not meet all the requirements as per test. There may be administrative overhead, as users who lose access to their secondary authentication methods will need an administrator with permissions to remove it. There will also need to be organization-wide security policies and training to teach administrators to verify the identity of the requesting user so that social engineering can not render this setting useless. Ensures that two alternate forms of identification are provided before allowing a password reset. A Self-service Password Reset (SSPR) through Azure Multi-factor Authentication (MFA) ensures the user's identity is confirmed using two separate methods of identification. With multiple methods set, an attacker would have to compromise both methods before they could maliciously reset a user's password. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then Users 4. Select Password reset 5. Then Authentication methods 6. Set the Number of methods required to reset to 2 Associated Objects Affected Objects |
Ensure that a Custom Bad Password List is set to Enforce for your Organization | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that a Custom Bad Password List is set to Enforce for your Organization Description Item does not meet all the requirements as per test. Increasing needed password complexity might increase overhead on administration of user accounts. Licensing requirement for Global Banned Password List and Custom Banned Password list requires Microsoft Entra ID P1 or P2. On-premises Active Directory Domain Services users that are not synchronized to Microsoft Entra ID also benefit from Microsoft Entra ID Password Protection based on existing licensing for synchronized users. Microsoft Azure provides a Global Banned Password policy that applies to Azure administrative and normal user accounts. This is not applied to user accounts that are synced from an on-premise Active Directory unless Microsoft Entra ID Connect is used and you enable EnforceCloudPasswordPolicyForPasswordSyncedUsers. Please see the list in default values on the specifics of this policy. To further password security, it is recommended to further define a custom banned password policy. Enabling this gives your organization further customization on what secure passwords are allowed. Setting a bad password list enables your organization to fine-tune its password policy further, depending on your needs. Removing easy-to-guess passwords increases the security of access to your Azure resources. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Security. 4. Under Manage, select Authentication Methods. 5. Select Password Protection. 6. Set the Enforce custom list option to Yes. 7. Double click the custom banned password list to add a string. Associated Objects Affected Objects |
Ensure that Number of days before users are asked to reconfirm their authentication information is not set to 0 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Number of days before users are asked to reconfirm their authentication information is not set to 0 Description Item does not meet all the requirements as per test. Users will be prompted for their multifactor authentication at the duration set here. Ensure that the number of days before users are asked to re-confirm their authentication information is not set to 0. This setting is necessary if you have setup 'Require users to register when signing in option'. If authentication re-confirmation is disabled, registered users will never be prompted to re-confirm their existing authentication information. If the authentication information for a user changes, such as a phone number or email, then the password reset information for that user reverts to the previously registered authentication information. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then Users 4. Select Password reset 5. Then Registration 6. Set the Number of days before users are asked to re-confirm their authentication information to your organization-defined frequency. Associated Objects Affected Objects |
Ensure that Notify users on password resets is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Notify users on password resets is set to Yes Description Item does not meet all the requirements as per test. Users will receive emails alerting them to password changes to both their primary and secondary emails. Ensure that users are notified on their primary and secondary emails on password resets. User notification on password reset is a proactive way of confirming password reset activity. It helps the user to recognize unauthorized password reset activities. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Users 4. Select Password reset 5. Under Manage, select Notifications 6. Set Notify users on password resets? to Yes Associated Objects Affected Objects |
Ensure That Notify all admins when other admins reset their password is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Notify all admins when other admins reset their password is set to Yes Description Item does not meet all the requirements as per test. All Global Administrators will receive a notification from Azure every time a password is reset. This is useful for auditing procedures to confirm that there are no out of the ordinary password resets for Global Administrators. There is additional overhead, however, in the time required for Global Administrators to audit the notifications. This setting is only useful if all Global Administrators pay attention to the notifications, and audit each one. Ensure that all Global Administrators are notified if any other administrator resets their password. Global Administrator accounts are sensitive. Any password reset activity notification, when sent to all Global Administrators, ensures that all Global administrators can passively confirm if such a reset is a common pattern within their group. For example, if all Global Administrators change their password every 30 days, any password reset activity before that may require administrator(s) to evaluate any unusual activity and confirm its origin. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID Page 72 3. Select Users 4. Select Password reset 5. Under Manage, select Notifications 6. Set Notify all admins when other admins reset their password? to Yes Associated Objects Affected Objects |
Ensure that Users can add gallery apps to My Apps is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Users can add gallery apps to My Apps is set to No Description Item does not meet all the requirements as per test. Can cause additional requests to administrators that need to be fulfilled quite often. Require administrators to provide consent for the apps before use. Unless Microsoft Entra ID is running as an identity provider for third-party applications, do not allow users to use their identity outside of your cloud environment. User profiles contain private information such as phone numbers and email addresses which could then be sold off to other third parties without requiring any further consent from the user. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then Enterprise applications 4. Select User settings 5. Set Users can add gallery apps to My Apps to No Associated Objects Affected Objects |
Ensure that Guest invite restrictions is set to Only users assigned to specific admin roles can invite guest users | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Guest invite restrictions is set to Only users assigned to specific admin roles can invite guest users Description Item does not meet all the requirements as per test. With the option of Only users assigned to specific admin roles can invite guest users selected, users with specific admin roles will be in charge of sending invitations to the external users, requiring additional overhead by them to manage user accounts. This will mean coordinating with other departments as they are onboarding new users. Restrict invitations to users with specific administrative roles only. Restricting invitations to users with specific administrator roles ensures that only authorized accounts have access to cloud resources. This helps to maintain Need to Know permissions and prevents inadvertent access to data. By default the setting Guest invite restrictions is set to Anyone in the organization can invite guest users including guests and non-admins. This would allow anyone within the organization to invite guests and non-admins to the tenant, posing a security risk. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then External Identities 4. Select External collaboration settings 5. Under Guest invite settings, for Guest invite restrictions, ensure that Only users assigned to specific admin roles can invite guest users is selected Associated Objects Affected Objects |
Ensure that Users can create security groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Users can create security groups in Azure portals API or PowerShell is set to No Description Item does not meet all the requirements as per test. Enabling this setting could create a number of requests that would need to be managed by an administrator. Restrict security group creation to administrators only. When creating security groups is enabled, all users in the directory are allowed to create new security groups and add members to those groups. Unless a business requires this day-to-day delegation, security group creation should be restricted to administrators only. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Groups 4. Select General under Settings 5. Set Users can create security groups in Azure portals, API or PowerShell to No Associated Objects Affected Objects |
Ensure that Owners can manage group membership requests in the Access Panel is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Owners can manage group membership requests in the Access Panel is set to No Description Item does not meet all the requirements as per test. Group Membership for user accounts will need to be handled by Admins and cause administrative overhead. Restrict security group management to administrators only. Restricting security group management to administrators only prohibits users from making changes to security groups. This ensures that security groups are appropriately managed and their management is not delegated to non-administrators. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then Groups 4. Select General in settings 5. Set Owners can manage group membership requests in the Access Panel to No Associated Objects Affected Objects |
Ensure that Users can create Microsoft 365 groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Users can create Microsoft 365 groups in Azure portals API or PowerShell is set to No Description Item does not meet all the requirements as per test. Enabling this setting could create a number of requests that would need to be managed by an administrator. Restrict Microsoft 365 group creation to administrators only. Restricting Microsoft 365 group creation to administrators only ensures that creation of Microsoft 365 groups is controlled by the administrator. Appropriate groups should be created and managed by the administrator and group creation rights should not be delegated to any other user. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Then Groups 4. Select General in settings 5. Set Users can create Microsoft 365 groups in Azure portals, API or PowerShell to No Associated Objects Affected Objects |
Ensure that Require Multi-Factor Authentication to register or join devices with Microsoft Entra ID is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Require Multi-Factor Authentication to register or join devices with Microsoft Entra ID is set to Yes Description Item does not meet all the requirements as per test. A slight impact of additional overhead, as Administrators will now have to approve every access to the domain. Joining or registering devices to Microsoft Entra ID should require Multi-factor authentication. Multi-factor authentication is recommended when adding devices to Microsoft Entra ID. When set to Yes, users who are adding devices from the internet must first use the second method of authentication before their device is successfully added to the directory. This ensures that rogue devices are not added to the domain using a compromised user account. Note: Some Microsoft documentation suggests to use conditional access policies for joining a domain from certain whitelisted networks or devices. Even with these in place, using Multi-Factor Authentication is still recommended, as it creates a process for review before joining the domain. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Entra ID 3. Select Devices 4. Select Device settings Page 101 5. Set Require Multi-Factor Authentication to register or join devices with Microsoft Entra to Yes Associated Objects Affected Objects |
Ensure That Subscription leaving Microsoft Entra ID directory and Subscription entering Microsoft Entra ID directory Is Set To Permit No One | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Subscription leaving Microsoft Entra ID directory and Subscription entering Microsoft Entra ID directory Is Set To Permit No One Description Item does not meet all the requirements as per test. Subscriptions will need to have these settings turned off to be moved. Users who are set as subscription owners are able to make administrative changes to the subscriptions and move them into and out of Microsoft Entra ID. Permissions to move subscriptions in and out of Microsoft Entra ID directory must only be given to appropriate administrative personnel. A subscription that is moved into an Microsoft Entra ID directory may be within a folder to which other users have elevated permissions. This prevents loss of data or unapproved changes of the objects within by potential bad actors. Recommendation and Steps From Azure Portal 1. From the Azure Portal Home select the portal menu 2. Select Subscriptions 3. In the Advanced options drop-down menu, select Manage Policies 4. Under Subscription leaving Microsoft Entra ID directory and Subscription entering Microsoft Entra ID directory select Permit no one Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure That Microsoft Defender for Servers Is Set to On | High | Microsoft Defendor for Virtual Machines is not configured or set to Off | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Servers Is Set to On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for Servers in Microsoft Defender for Cloud incurs an additional cost per resource. Turning on Microsoft Defender for Servers enables threat detection for Servers, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. Enabling Microsoft Defender for Servers allows for greater defense-in-depth, with threat detection provided by the Microsoft Security Response Center (MSRC). Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud 2. Select Environment Settings 3. Click on the subscription name 4. Select Defender plans 5. Set Server Status to On 6. Select Save Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for App Services Is Set To On | High | Microsoft Defendor for App Services is not configured or set to Off | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for App Services Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for App Service incurs an additional cost per resource. Turning on Microsoft Defender for App Service enables threat detection for App Service, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. Enabling Microsoft Defender for App Service allows for greater defense-in-depth, with threat detection provided by the Microsoft Security Response Center (MSRC). Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud 2. Select Environment Settings 3. Click on the subscription name 4. Select Defender plans 5. Set App Service Status to On 6. Select Save Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for -Managed Instance- Azure SQL Databases Is Set To On | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for -Managed Instance- Azure SQL Databases Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for Azure SQL Databases incurs an additional cost per resource. Turning on Microsoft Defender for Azure SQL Databases enables threat detection for Managed Instance Azure SQL databases, providing threat intelligence, anomaly detection, and behavior analytics in Microsoft Defender for Cloud. Enabling Microsoft Defender for Azure SQL Databases allows for greater defense-indepth, includes functionality for discovering and classifying sensitive data, surfacing and mitigating potential database vulnerabilities, and detecting anomalous activities that could indicate a threat to your database. Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. Click Select types > in the row for Databases. 6. Set the radio button next to Azure SQL Databases to On. 7. Select Continue. 8. Select Save Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for SQL Servers on Machines Is Set To On | High | Microsoft Defender for SQL Servers on Machines Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for SQL Servers on Machines Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for SQL servers on machines incurs an additional cost per resource. Turning on Microsoft Defender for SQL servers on machines enables threat detection for SQL servers on machines, providing threat intelligence, anomaly detection, and behavior analytics in Microsoft Defender for Cloud. Enabling Microsoft Defender for SQL servers on machines allows for greater defensein-depth, functionality for discovering and classifying sensitive data, surfacing and mitigating potential database vulnerabilities, and detecting anomalous activities that could indicate a threat to your database. Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. Click Select types > in the row for Databases. 6. Set the radio button next to SQL servers on machines to On. 7. Select Continue. 8. Select Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for Open-Source Relational Databases Is Set To On | High | Microsoft Defender for Open-Source Relational Databases Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Open-Source Relational Databases Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for Open-source relational databases incurs an additional cost per resource. Turning on Microsoft Defender for Open-source relational databases enables threat detection for Open-source relational databases, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. Enabling Microsoft Defender for Open-source relational databases allows for greater defense-in-depth, with threat detection provided by the Microsoft Security Response Center (MSRC). Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. Click Select types > in the row for Databases. 6. Set the radio button next to Open-source relational databases to On. 7. Select Continue. 8. Select Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for Azure Cosmos DB Is Set To On | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Azure Cosmos DB Is Set To On Description Item does not meet all the requirements as per test. Enabling Microsoft Defender for Azure Cosmos DB requires enabling Microsoft Defender for your subscription. Both will incur additional charges. Microsoft Defender for Azure Cosmos DB scans all incoming network requests for threats to your Azure Cosmos DB resources. In scanning Azure Cosmos DB requests within a subscription, requests are compared to a heuristic list of potential security threats. These threats could be a result of a security breach within your services, thus scanning for them could prevent a potential security threat from being introduced. Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. On the Database row click on Select types >. 6. Set the radio button next to Azure Cosmos DB to On. 7. Click Continue. 8. Click Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for Storage Is Set To On | High | Microsoft Defender for Storage Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Storage Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for Storage incurs an additional cost per resource. Turning on Microsoft Defender for Storage enables threat detection for Storage, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. Enabling Microsoft Defender for Storage allows for greater defense-in-depth, with threat detection provided by the Microsoft Security Response Center (MSRC). Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. Set Status to On for Storage. 6. Select Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for Containers Is Set To On | High | Microsoft Defender for Containers Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Containers Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for Containers incurs an additional cost per resource. Turning on Microsoft Defender for Containers enables threat detection for Container Registries including Kubernetes, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. The following services will be enabled for container instances: ? Defender agent in Azure ? Azure Policy for Kubernetes ? Agentless discovery for Kubernetes ? Agentless container vulnerability assessment Enabling Microsoft Defender for Container Registries allows for greater defense-indepth, with threat detection provided by the Microsoft Security Response Center (MSRC). Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings. 3. Click on the subscription name. 4. Select Defender plans. 5. Set Status to On for Containers. 6. Click Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for Key Vault Is Set To On | High | Microsoft Defender for Key Vault Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Key Vault Is Set To On Description Item does not meet all the requirements as per test. Turning on Microsoft Defender for Key Vault incurs an additional cost per resource. Turning on Microsoft Defender for Key Vault enables threat detection for Key Vault, providing threat intelligence, anomaly detection, and behavior analytics in the Microsoft Defender for Cloud. Enabling Microsoft Defender for Key Vault allows for greater defense-in-depth, with threat detection provided by the Microsoft Security Response Center (MSRC). Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud 2. Select Environment Settings blade 3. Click on the subscription name 4. Select the Defender plans blade 5. Select On under Status for Key Vault. 6. Select Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for DNS Is Set To On | High | Microsoft Defender for DNS Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for DNS Is Set To On Description Item does not meet all the requirements as per test. Enabling Microsoft Defender for DNS requires enabling Microsoft Defender for your subscription. Both will incur additional charges, with Defender for DNS being a small amount per million queries. [NOTE: As of August 1, customers with an existing subscription to Defender for DNS can continue to use the service, but new subscribers will receive alerts about suspicious DNS activity as part of Defender for Servers P2.] Microsoft Defender for DNS scans all network traffic exiting from within a subscription. DNS lookups within a subscription are scanned and compared to a dynamic list of websites that might be potential security threats. These threats could be a result of a security breach within your services, thus scanning for them could prevent a potential security threat from being introduced. Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. Select On under Status for DNS. 6. Select Save. Associated Objects
Affected Objects |
Done | Ensure That Microsoft Defender for Resource Manager Is Set To On | High | Microsoft Defender for Resource Manager Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for Resource Manager Is Set To On Description Item does not meet all the requirements as per test. Enabling Microsoft Defender for Resource Manager requires enabling Microsoft Defender for your subscription. Both will incur additional charges. Microsoft Defender for Resource Manager scans incoming administrative requests to change your infrastructure from both CLI and the Azure portal. Scanning resource requests lets you be alerted every time there is suspicious activity in order to prevent a security threat from being introduced. Recommendation and Steps From Azure Portal 1. Go to Microsoft Defender for Cloud. 2. Select Environment Settings blade. 3. Click on the subscription name. 4. Select the Defender plans blade. 5. Select On under Status for Resource Manager. 6. Select `Save. Associated Objects
Affected Objects |
Done | Ensure that Auto provisioning of Log Analytics agent for Azure VMs is Set to On | High | Not Configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Auto provisioning of Log Analytics agent for Azure VMs is Set to On Description Item does not meet all the requirements as per test. Enable automatic provisioning of the monitoring agent to collect security data. When Log Analytics agent for Azure VMs is turned on, Microsoft Defender for Cloud provisions the Microsoft Monitoring Agent on all existing supported Azure virtual machines and any new ones that are created. The Microsoft Monitoring Agent scans for various security-related configurations and events such as system updates, OS vulnerabilities, endpoint protection, and provides alerts. Recommendation and Steps When Log Analytics agent for Azure VMs is turned on, Microsoft Defender for Cloud provisions the Microsoft Monitoring Agent on all existing supported Azure virtual machines and any new ones that are created. The Microsoft Monitoring Agent scans for various security-related configurations and events such as system updates, OS vulnerabilities, endpoint protection, and provides alerts. Associated Objects
Affected Objects |
Done | Ensure that Auto provisioning of Vulnerability assessment for machines is Set to On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Auto provisioning of Vulnerability assessment for machines is Set to On Description Item does not meet all the requirements as per test. Additional licensing is required and configuration of Azure Arc introduces complexity beyond this recommendation. Enable automatic provisioning of vulnerability assessment for machines on both Azure and hybrid (Arc enabled) machines. Vulnerability assessment for machines scans for various security-related configurations and events such as system updates, OS vulnerabilities, and endpoint protection, then produces alerts on threat and vulnerability findings. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Defender for Cloud 3. Then Environment Settings 4. Select a subscription 5. Click on Settings & Monitoring 6. Ensure that Vulnerability assessment for machines is set to On Repeat the above for any additional subscriptions. Associated Objects
Affected Objects |
Done | Ensure that Auto provisioning of Microsoft Defender for Containers components is Set to On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Auto provisioning of Microsoft Defender for Containers components is Set to On Description Item does not meet all the requirements as per test. Microsoft Defender for Containers will require additional licensing. Enable automatic provisioning of the Microsoft Defender for Containers components. As with any compute resource, Container environments require hardening and run-time protection to ensure safe operations and detection of threats and vulnerabilities. Recommendation and Steps From Azure Portal 1. From the Azure Portal Home page, select Microsoft Defender for Cloud 2. Under Management, select Environment Settings 3. Select a subscription 4. Set Containers to On Associated Objects
Affected Objects |
Done | Ensure that Microsoft Defender for Cloud Apps integration with Microsoft Defender for Cloud is Selected | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Microsoft Defender for Cloud Apps integration with Microsoft Defender for Cloud is Selected Description Item does not meet all the requirements as per test. Microsoft Defender for Cloud Apps works with Standard pricing tier Subscription. Choosing the Standard pricing tier of Microsoft Defender for Cloud incurs an additional cost per resource. This integration setting enables Microsoft Defender for Cloud Apps (formerly 'Microsoft Cloud App Security' or 'MCAS' - see additional info) to communicate with Microsoft Defender for Cloud. Microsoft Defender for Cloud offers an additional layer of protection by using Azure Resource Manager events, which is considered to be the control plane for Azure. By analyzing the Azure Resource Manager records, Microsoft Defender for Cloud detects unusual or potentially harmful operations in the Azure subscription environment. Several of the preceding analytics are powered by Microsoft Defender for Cloud Apps. To benefit from these analytics, subscription must have a Cloud App Security license. Microsoft Defender for Cloud Apps works only with Standard Tier subscriptions. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu. 2. Select Microsoft Defender for Cloud. 3. Select Environment Settings blade. 4. Select the subscription. 5. Select Integrations. 6. Check Allow Microsoft Defender for Cloud Apps to access my data. 7. Select Save. Associated Objects
Affected Objects |
Done | Ensure that Microsoft Defender for Endpoint integration with Microsoft Defender for Cloud is selected | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Microsoft Defender for Endpoint integration with Microsoft Defender for Cloud is selected Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Ensure that Microsoft Defender Recommendation for Apply system updates status is Completed | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Microsoft Defender Recommendation for Apply system updates status is Completed Description Item does not meet all the requirements as per test. Running Microsoft Defender for Cloud incurs additional charges for each resource monitored. Please see attached reference for exact charges per hour. Ensure that the latest OS patches for all virtual machines are applied. Windows and Linux virtual machines should be kept updated to: ? Address a specific bug or flaw ? Improve an OS or application?s general stability ? Fix a security vulnerability Microsoft Defender for Cloud retrieves a list of available security and critical updates from Windows Update or Windows Server Update Services (WSUS), depending on which service is configured on a Windows VM. The security center also checks for the latest updates in Linux systems. If a VM is missing a system update, the security center will recommend system updates be applied. Recommendation and Steps Follow Microsoft Azure documentation to apply security patches from the security center. Alternatively, you can employ your own patch assessment and management tool to periodically assess, report, and install the required security patches for your OS. Associated Objects Affected Objects |
Ensure that Microsoft Cloud Security Benchmark policies are not set to Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Microsoft Cloud Security Benchmark policies are not set to Disabled Description Item does not meet all the requirements as per test. Policies within the MCSB default to an effect of Audit and will evaluate - but not enforce - policy recommendations. Ensuring these policies are set to Audit simply ensures that the evaluation occurs to allow administrators to understand where an improvement may be possible. Administrators will need to determine if the recommendations are relevant and desirable for their environment, then manually take action to resolve the status if desired. The Microsoft Cloud Security Benchmark (or MCSB) is an Azure Policy Initiative containing many security policies to evaluate resource configuration against best practice recommendations. If a policy in the MCSB is set with effect type Disabled, it is not evaluated and may prevent administrators from being informed of valuable security recommendations. A security policy defines the desired configuration of resources in your environment and helps ensure compliance with company or regulatory security requirements. The MCSB Policy Initiative a set of security recommendations based on best practices and is associated with every subscription by default. When a policy Effect is set to Audit, policies in the MCSB ensure that Defender for Cloud evaluates relevant resources for supported recommendations. To ensure that policies within the MCSB are not being missed when the Policy Initiative is evaluated, none of the policies should have an Effect of Disabled. Recommendation and Steps From Azure Portal Part A - List all disabled policies 1. From Azure Home select the Portal Menu 2. Select Microsoft Defender for Cloud 3. Then Environment Settings 4. Select the appropriate Subscription 5. Click on Security Policy in the left column. 6. Click on Microsoft Cloud Security Benchmark 7. Click Add Filter and select Effect 8. Check the Disabled box to search for all disabled policies 9. Click Apply Part B - Remediate Policy Effect For each policy that remains in the list: 1. Click the blue ellipses ... to the right of the policy name 2. Click Manage effect and parameters 3. Under Policy Effect, select the Audit radio button 4. Click Save 5. Click Refresh Repeat Part B - Remediate Policy Effect until no more policies are listed. Associated Objects Affected Objects |
Ensure That All users with the following roles is set to Owner | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That All users with the following roles is set to Owner Description Item does not meet all the requirements as per test. Enable security alert emails to subscription owners. Enabling security alert emails to subscription owners ensures that they receive security alert emails from Microsoft. This ensures that they are aware of any potential security issues and can mitigate the risk in a timely fashion. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Defender for Cloud 3. Click on Environment Settings 4. Click on the appropriate Management Group, Subscription, or Workspace 5. Click on Email notifications 6. In the drop down of the All users with the following roles field select Owner 7. Click Save Associated Objects Affected Objects |
Ensure Additional email addresses is Configured with a Security Contact Email | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Additional email addresses is Configured with a Security Contact Email Description Item does not meet all the requirements as per test. Microsoft Defender for Cloud emails the subscription owners whenever a high-severity alert is triggered for their subscription. You should provide a security contact email address as an additional email address. Microsoft Defender for Cloud emails the Subscription Owner to notify them about security alerts. Adding your Security Contact's email address to the 'Additional email addresses' field ensures that your organization's Security Team is included in these alerts. This ensures that the proper people are aware of any potential compromise in order to mitigate the risk in a timely fashion. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Defender for Cloud 3. Click on Environment Settings 4. Click on the appropriate Management Group, Subscription, or Workspace 5. Click on Email notifications 6. Enter a valid security contact email address (or multiple addresses separated by commas) in the Additional email addresses field 7. Click Save Associated Objects Affected Objects |
Ensure That Notify about alerts with the following severity is Set to High | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Notify about alerts with the following severity is Set to High Description Item does not meet all the requirements as per test. Enables emailing security alerts to the subscription owner or other designated security contact. Enabling security alert emails ensures that security alert emails are received from Microsoft. This ensures that the right people are aware of any potential security issues and are able to mitigate the risk. Recommendation and Steps From Azure Portal 1. From Azure Home select the Portal Menu 2. Select Microsoft Defender for Cloud 3. Click on Environment Settings 4. Click on the appropriate Management Group, Subscription, or Workspace 5. Click on Email notifications 6. Under Notification types, check the check box next to Notify about alerts with the following severity (or higher): and select High from the drop down menu 7. Click Save Associated Objects Affected Objects |
Ensure that Microsoft Defender External Attack Surface Monitoring -EASM- is enabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Microsoft Defender External Attack Surface Monitoring -EASM- is enabled Description Item does not meet all the requirements as per test. Microsoft Defender EASM workspaces are currently available as Azure Resources with a 30-day free trial period but can quickly accrue significant charges. The costs are calculated daily as (Number of billable inventory items) x (item cost per day- approximately: USD0.017). Estimated cost is not provided within the tool, and users are strongly advised to contact their Microsoft sales representative for pricing and set a calendar reminder for the end of the trial period. Page 177 For an EASM workspace having an Inventory of 5k-10k billable items (IP addresses, hostnames, SSL certificates, etc) a typical cost might be approximiately USD85-170 per day or USD2500-5000 USD/month at the time of publication. If the workspace is deleted by the last day of a free trial period, no charges are billed. An organization's attack surface is the collection of assets with a public network identifier or URI that an external threat actor can see or access from outside your cloud. It is the set of points on the boundary of a system, a system element, system component, or an environment where an attacker can try to enter, cause an effect on, or extract data from, that system, system element, system component, or envir onment. The larger the attack surface, the harder it is to protect. This tool can be configured to scan your organization's online infrastructure such as specified domains, hosts, CIDR blocks, and SSL certificates, and store them in an Inventory. Inventory items can be added, reviewed, approved, and removed, and may contain enrichments (insights) and additional information collected from the tool's different scan engines and open-source intelligence sources. A Defender EASM workspace will generate an Inventory of publicly exposed assets by crawling and scanning the internet using Seeds you provide when setting up the tool. Seeds can be FQDNs, IP CIDR blocks, and WHOIS records. Defender EASM will generate Insights within 24-48 hours after Seeds are provided, and these insights include vulnerability data (CVEs), ports and protocols, and weak or expired SSL certificates that could be used by an attacker for reconnaisance or exploitation. Results are classified High/Medium/Low and some of them include proposed mitigations. This tool can monitor the externally exposed resources of an organization, provide valuable insights, and export these findings in a variety of formats (including CSV) for use in vulnerability management operations and red/purple team exercises. Recommendation and Steps To begin remediation, a Microsoft Defender EASM workspace must be created. The resources and inventory items added to this workspace will depend on your environment. Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure That Microsoft Defender for IoT Hub Is Set To On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That Microsoft Defender for IoT Hub Is Set To On Description Item does not meet all the requirements as per test. Enabling Microsoft Defender for IoT will incur additional charges dependent on the level of usage. Microsoft Defender for IoT acts as a central security hub for IoT devices within your organization. IoT devices are very rarely patched and can be potential attack vectors for enterprise networks. Updating their network configuration to use a central security hub allows for detection of these breaches. Recommendation and Steps From Azure Portal 1. Go to IoT Hub. 2. Select a IoT Hub to validate. 3. Select Overview in Defender for IoT. 4. Click on Secure your IoT solution, and complete the onboarding. Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that Enable key rotation reminders is enabled for each Storage Account | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Enable key rotation reminders is enabled for each Storage Account Description Item does not meet all the requirements as per test. This recommendation only creates a periodic reminder to regenerate access keys. Regenerating access keys can affect services in Azure as well as the organization's applications that are dependent on the storage account. All clients that use the access key to access the storage account must be updated to use the new key. Access Keys authenticate application access requests to data contained in Storage Accounts. A periodic rotation of these keys is recommended to ensure that potentially compromised keys cannot result in a long-term exploitable credential. The Rotation Reminder is an automatic reminder feature for a manual procedure. Reminders such as those generated by this recommendation will help maintain a regular and healthy cadence for activities which improve the overall efficacy of a security program. Cryptographic key rotation periods will vary depending on your organization's security requirements and the type of data which is being stored in the Storage Account. For example, PCI DSS mandates that cryptographic keys be replaced or rotated 'regularly,' and advises that keys for static data stores be rotated every 'few months.' For the purposes of this recommendation, 90 days will prescribed for the reminder. Review and adjustment of the 90 day period is recommended, and may even be necessary. Your organization's security requirements should dictate the appropriate setting. Recommendation and Steps From Azure Portal 1. Go to Storage Accounts 2. For each Storage Account that is not compliant, go to Access keys 3. Click Set rotation reminder 4. Check Enable key rotation reminders 5. In the Send reminders field select Custom, then set the Remind me every field to 90 and the period drop down to Days. 6. Click Save Associated Objects
Affected Objects
|
Done | Ensure that Storage Account Access Keys are Periodically Regenerated | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Storage Account Access Keys are Periodically Regenerated Description Item does not meet all the requirements as per test. Regenerating access keys can affect services in Azure as well as the organization's applications that are dependent on the storage account. All clients who use the access key to access the storage account must be updated to use the new key. For increased security, regenerate storage account access keys periodically. When a storage account is created, Azure generates two 512-bit storage access keys which are used for authentication when the storage account is accessed. Rotating these keys periodically ensures that any inadvertent access or exposure does not result from the compromise of these keys. Cryptographic key rotation periods will vary depending on your organization's security requirements and the type of data which is being stored in the Storage Account. For example, PCI DSS mandates that cryptographic keys be replaced or rotated 'regularly,' and advises that keys for static data stores be rotated every 'few months.' For the purposes of this recommendation, 90 days will prescribed for the reminder. Review and adjustment of the 90 day period is recommended, and may even be necessary. Your organization's security requirements should dictate the appropriate setting. Recommendation and Steps From Azure Portal 1. Go to Storage Accounts 2. For each Storage Account with outdated keys, go to Access keys 3. Click Rotate key next to the outdated key, then click Yes to the prompt confirming that you want to regenerate the access key. After Azure regenerates the Access Key, you can confirm that Access keys reflects a Last rotated date of (0 days ago). Associated Objects
Affected Objects
|
Done | Ensure Storage Logging is Enabled for Queue Service for Read Write and Delete requests | High | Not Configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Storage Logging is Enabled for Queue Service for Read Write and Delete requests Description Item does not meet all the requirements as per test. Enabling this setting can have a high impact on the cost of the log analytics service and data storage used by logging more data per each request. Do not enable this without determining your need for this level of logging, and do not forget to check in on data usage and projected cost. Some users have seen their logging costs increase from USD10 per month to USD10,000 per month. The Storage Queue service stores messages that may be read by any client who has access to the storage account. A queue can contain an unlimited number of messages, each of which can be up to 64KB in size using version 2011-08-18 or newer. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the queues. Storage Logging log entries contain the following information about individual requests: Timing information such as start time, end-to-end latency, and server latency, authentication details, concurrency information, and the sizes of the request and response messages. Storage Analytics logs contain detailed information about successful and failed requests to a storage service. This information can be used to monitor individual requests and to diagnose issues with a storage service. Requests are logged on a best-effort basis. Storage Analytics logging is not enabled by default for your storage account. Recommendation and Steps From Azure Portal 1. Go to Storage Accounts. 2. Select the specific Storage Account. 3. Click the Diagnostics settings under the Monitoring section in the left column. 4. Select the queue tab indented below the storage account. 5. Click + Add diagnostic setting. 6. Select StorageRead, StorageWrite and StorageDelete options under the Logs section to enable Storage Logging for Queue service. 7. Select a destination for your logs to be sent to. Associated Objects
Affected Objects
|
Done | Ensure that Public Network Access is Disabled for storage accounts | High | Disabled | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Public Network Access is Disabled for storage accounts Description Item does not meet all the requirements as per test. Access will have to be managed using shared access signatures or via Azure AD RBAC. Disallowing public network access for a storage account overrides the public access settings for individual containers in that storage account for Azure Resource Manager Deployment Model storage accounts. Azure Storage accounts that use the classic deployment model will be retired on August 31, 2024. The default network configuration for a storage account permits a user with appropriate permissions to configure public network access to containers and blobs in a storage account. Keep in mind that public access to a container is always turned off by default and must be explicitly configured to permit anonymous requests. It grants read-only access to these resources without sharing the account key, and without requiring a shared access signature. It is recommended not to provide public network access to storage accounts until, and unless, it is strongly desired. A shared access signature token or Azure AD RBAC should be used for providing controlled and timed access to blob containers. Recommendation and Steps From Azure Portal First, follow Microsoft documentation and create shared access signature tokens for your blob containers. Then, 1. Go to Storage Accounts 2. For each storage account, under the Security + networking section, click Networking 3. Set Public Network Access to Disabled. Associated Objects
Affected Objects |
Done | Ensure Default Network Access Rule for Storage Accounts is Set to Deny | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Default Network Access Rule for Storage Accounts is Set to Deny Description Item does not meet all the requirements as per test. All allowed networks will need to be whitelisted on each specific network, creating administrative overhead. This may result in loss of network connectivity, so do not turn on for critical resources during business hours. Restricting default network access helps to provide a new layer of security, since storage accounts accept connections from clients on any network. To limit access to selected networks, the default action must be changed. Storage accounts should be configured to deny access to traffic from all networks (including internet traffic). Access can be granted to traffic from specific Azure Virtual networks, allowing a secure network boundary for specific applications to be built. Access can also be granted to public internet IP address ranges to enable connections from specific internet or on-premises clients. When network rules are configured, only applications from allowed networks can access a storage account. When calling from an allowed network, applications continue to require proper authorization (a valid access key or SAS token) to access the storage account. Recommendation and Steps From Azure Console 1. Go to Storage Accounts 2. For each storage account, Click on the Networking blade 3. Click the Firewalls and virtual networks heading. 4. Ensure that you have elected to allow access from Selected networks 5. Add rules to allow traffic from specific network. 6. Click Save to apply your changes. Associated Objects
Affected Objects
|
Done | Ensure Private Endpoints are used to access Storage Accounts | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Private Endpoints are used to access Storage Accounts Description Item does not meet all the requirements as per test. There is no cost in deploying VNets between Azure resources. If improperly implemented, it may result in loss of critical network traffic. Use private endpoints for your Azure Storage accounts to allow clients and services to securely access data located over a network via an encrypted Private Link. To do this, the private endpoint uses an IP address from the VNet for each service. Network traffic between disparate services securely traverses encrypted over the VNet. This VNet can also link addressing space, extending your network and accessing resources on it. Similarly, it can be a tunnel through public networks to connect remote infrastructures together. This creates further security through segmenting network traffic and preventing outside sources from accessing it. Securing traffic between services through encryption protects the data from easy interception and reading. Recommendation and Steps From Azure Portal 1. Open the Storage Accounts blade 2. For each listed Storage Account, perform the following: 3. Under the Security + networking heading, click on Networking 4. Click on the Private Endpoint Connections tab at the top of the networking window 5. Click the +Private endpoint button 6. In the 1 - Basics tab/step: o Enter a name that will be easily recognizable as associated with the Storage Account (Note: The Network Interface Name will be automatically completed, but you can customize it if needed.) o Ensure that the Region matches the region of the Storage Account o Click Next 7. In the 2 - Resource tab/step: Page 210 o Select the target sub-resource based on what type of storage resource is being made available o Click Next 8. In the 3 - Virtual Network tab/step: o Select the Virtual network that your Storage Account will be connecting to o Select the Subnet that your Storage Account will be connecting to o (Optional) Select other network settings as appropriate for your environment o Click Next 9. In the 4 - DNS tab/step: o (Optional) Select other DNS settings as appropriate for your environment o Click Next 10.In the 5 - Tags tab/step: o (Optional) Set any tags that are relevant to your organization o Click Next 11.In the 6 - Review + create tab/step: o A validation attempt will be made and after a few moments it should indicate Validation Passed - if it does not pass, double-check your settings before beginning more in depth troubleshooting. o If validation has passed, click Create then wait for a few minutes for the scripted deployment to complete. Repeat the above procedure for each Private Endpoint required within every Storage Account. Associated Objects
Affected Objects
|
Done | Ensure Storage for Critical Data are Encrypted with Customer Managed Keys -CMK- | High | Configured Correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Storage for Critical Data are Encrypted with Customer Managed Keys -CMK- Description Item does not meet all the requirements as per test. If the key expires by setting the 'activation date' and 'expiration date', the user must rotate the key manually. Using Customer Managed Keys may also incur additional man-hour requirements to create, store, manage, and protect the keys as needed. Enable sensitive data encryption at rest using Customer Managed Keys (CMK) rather than Microsoft Managed keys. By default, data in the storage account is encrypted using Microsoft Managed Keys at rest. All Azure Storage resources are encrypted, including blobs, disks, files, queues, and tables. All object metadata is also encrypted. If you want to control and manage this encryption key yourself, however, you can specify a customer-managed key. That key is used to protect and control access to the key that encrypts your data. You can also choose to automatically update the key version used for Azure Storage encryption whenever a new version is available in the associated Key Vault. Recommendation and Steps From Azure Portal 1. Go to Storage Accounts 2. For each storage account, go to Encryption 3. Set Customer Managed Keys 4. Select the Encryption key and enter the appropriate setting value 5. Click Save Associated Objects
Affected Objects
|
Done | Ensure Storage logging is Enabled for Blob Service for Read Write and Delete requests | High | Configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Storage logging is Enabled for Blob Service for Read Write and Delete requests Description Item does not meet all the requirements as per test. Being a level 2, enabling this setting can have a high impact on the cost of data storage used for logging more data per each request. Do not enable this without determining your need for this level of logging or forget to check in on data usage and projected cost. The Storage Blob service provides scalable, cost-efficient object storage in the cloud. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the blobs. Storage Logging log entries contain the following information about individual requests: timing information such as start time, end-to-end latency, and server latency; authentication details; concurrency information; and the sizes of the request and response messages. Storage Analytics logs contain detailed information about successful and failed requests to a storage service. This information can be used to monitor each individual request to a storage service for increased security or diagnostics. Requests are logged on a besteffort basis. Storage Analytics logging is not enabled by default for your storage account. Recommendation and Steps From Azure Portal 1. From the default portal page select Storage Accounts. 2. Select the specific Storage Account. 3. Click the Diagnostics settings under the Monitoring section in the left column. 4. Select the 'blob' tab indented below the storage account. 5. Click '+ Add diagnostic setting'. 6. Select StorageRead, StorageWrite and StorageDelete options under the Logging section to enable Storage Logging for Blob service. 7. Select a destination for your logs to be sent to. Associated Objects
Affected Objects
|
Done | Ensure Storage Logging is Enabled for Table Service for Read Write and Delete Requests | High | Configured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Storage Logging is Enabled for Table Service for Read Write and Delete Requests Description Item does not meet all the requirements as per test. Being a level 2, enabling this setting can have a high impact on the cost of data storage used for logging more data per each request. Do not enable this without determining your need for this level of logging or forget to check in on data usage and projected cost. Azure Table storage is a service that stores structured NoSQL data in the cloud, providing a key/attribute store with a schema-less design. Storage Logging happens server-side and allows details for both successful and failed requests to be recorded in the storage account. These logs allow users to see the details of read, write, and delete operations against the tables. Storage Logging log entries contain the following information about individual requests: timing information such as start time, end-to-end latency, and server latency; authentication details; concurrency information; and the sizes of the request and response messages. Storage Analytics logs contain detailed information about successful and failed requests to a storage service. This information can be used to monitor each individual request to a storage service for increased security or diagnostics. Requests are logged on a besteffort basis. Storage Analytics logging is not enabled by default for your storage account. Recommendation and Steps From Azure Portal 1. From the default portal page select Storage Accounts. 2. Select the specific Storage Account. 3. Click the Diagnostics settings under the Monitoring section in the left column. 4. Select the 'table' tab indented below the storage account. 5. Click '+ Add diagnostic setting'. 6. Select StorageRead, StorageWrite and StorageDelete options under the Logging section to enable Storage Logging for Table service. 7. Select a destination for your logs to be sent to. Associated Objects
Affected Objects
|
Done | Ensure that Secure transfer required is set to Enabled | Passed | Enabled for all Storage Accounts | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Secure transfer required is set to Enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects
|
Done | Ensure that Enable Infrastructure Encryption for Each Storage Account in Azure Storage is Set to enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Enable Infrastructure Encryption for Each Storage Account in Azure Storage is Set to enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Allow Azure services on the trusted services list to access this storage account is Enabled for Storage Account Access | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Allow Azure services on the trusted services list to access this storage account is Enabled for Storage Account Access Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Soft Delete is Enabled for Azure Containers and Blob Storage | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Soft Delete is Enabled for Azure Containers and Blob Storage Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure the Minimum TLS version for storage accounts is set to Version 1.2 | Passed | Not Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure the Minimum TLS version for storage accounts is set to Version 1.2 Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Cross Tenant Replication is not enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Cross Tenant Replication is not enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects More Information TEST ID
|
Done | Ensure that Allow Blob Anonymous Access is set to Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Allow Blob Anonymous Access is set to Disabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Ensure that Shared Access Signature Tokens Expire Within an Hour | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Shared Access Signature Tokens Expire Within an Hour Description Item does not meet all the requirements as per test. Expire shared access signature tokens within an hour. A shared access signature (SAS) is a URI that grants restricted access rights to Azure Storage resources. A shared access signature can be provided to clients who should not be trusted with the storage account key but for whom it may be necessary to delegate access to certain storage account resources. Providing a shared access signature URI to these clients allows them access to a resource for a specified period of time. This time should be set as low as possible and preferably no longer than an hour. Recommendation and Steps When generating shared access signature tokens, use start and end time such that it falls within an hour. Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that Auditing is set to On | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Auditing is set to On Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure no Azure SQL Databases allow ingress from 0.0.0.0_0 -ANY IP- | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure no Azure SQL Databases allow ingress from 0.0.0.0_0 -ANY IP- Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure SQL servers Transparent Data Encryption -TDE- protector is encrypted with Customer-managed key | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure SQL servers Transparent Data Encryption -TDE- protector is encrypted with Customer-managed key Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Microsoft Entra authentication is Configured for SQL Servers | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Microsoft Entra authentication is Configured for SQL Servers Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Data encryption is set to On on a SQL Database | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Data encryption is set to On on a SQL Database Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Auditing Retention is greater than 90 days | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Auditing Retention is greater than 90 days Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Enforce SSL connection is set to ENABLED for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Enforce SSL connection is set to ENABLED for PostgreSQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Server Parameter log_checkpoints is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Server Parameter log_checkpoints is set to ON for PostgreSQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure server parameter log_connections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure server parameter log_connections is set to ON for PostgreSQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure server parameter log_disconnections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure server parameter log_disconnections is set to ON for PostgreSQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure server parameter connection_throttling is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure server parameter connection_throttling is set to ON for PostgreSQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Server Parameter log_retention_days is greater than 3 days for PostgreSQL Database Server | Passed | Log Retention configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Server Parameter log_retention_days is greater than 3 days for PostgreSQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Allow access to Azure services for PostgreSQL Database Server is disabled | Passed | Disabled | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Allow access to Azure services for PostgreSQL Database Server is disabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Infrastructure double encryption for PostgreSQL Database Server is Enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Infrastructure double encryption for PostgreSQL Database Server is Enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Enforce SSL connection is set to Enabled for Standard MySQL Database Server | Passed | Enforce SSL is set | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Enforce SSL connection is set to Enabled for Standard MySQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure TLS Version is set to TLSV1.2 -or higher- for MySQL flexible Database Server | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure TLS Version is set to TLSV1.2 -or higher- for MySQL flexible Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure server parameter audit_log_enabled is set to ON for MySQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure server parameter audit_log_enabled is set to ON for MySQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure server parameter audit_log_events has CONNECTION set for MySQL Database Server | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure server parameter audit_log_events has CONNECTION set for MySQL Database Server Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure to Enable In-Transit Encryption for MySQL Servers | Passed | Configured correctly | SP v1.0 | YES |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure That Firewalls-Networks Is Limited to Use Selected Networks Instead of All Networks | Passed | Selected Networks Configured | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure That Firewalls-Networks Is Limited to Use Selected Networks Instead of All Networks Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure That Private Endpoints Are Used Where Possible | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure That Private Endpoints Are Used Where Possible Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Use Entra ID Client Authentication and Azure RBAC where possible | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Use Entra ID Client Authentication and Azure RBAC where possible Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects More Information TEST ID
|
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that a Diagnostic Setting exists for Subscription Activity Logs | High | Diagnostic setting does not exist | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that a Diagnostic Setting exists for Subscription Activity Logs Description Item does not meet all the requirements as per test. Enable Diagnostic settings for exporting activity logs. Diagnostic settings are available for each individual resource within a subscription. Settings should be configured for all appropriate resources for your environment. A diagnostic setting controls how a diagnostic log is exported. By default, logs are retained only for 90 days. Diagnostic settings should be defined so that logs can be exported and stored for a longer duration in order to analyze security activities within an Azure subscription. Recommendation and Steps To enable Diagnostic Settings on a Subscription: 1. Go to Monitor 2. Click on Activity Log 3. Click on Export Activity Logs 4. Click + Add diagnostic setting 5. Enter a Diagnostic setting name 6. Select Categories for the diagnostic settings 7. Select the appropriate Destination details (this may be Log Analytics, Storage Account, Event Hub, or Partner solution) 8. Click Save To enable Diagnostic Settings on a specific resource: 1. Go to Monitor 2. Click Diagnostic settings 3. Click on the resource that has a diagnostics status of disabled 4. Select Add Diagnostic Setting 5. Enter a Diagnostic setting name 6. Select the appropriate log, metric, and destination. (this may be Log Analytics, Storage Account, Event Hub, or Partner solution) 7. Click save Repeat these step for all resources as needed. Associated Objects
Affected Objects
|
Done | Ensure Diagnostic Setting captures appropriate categories | High | Not Enabled or Not Captured | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Diagnostic Setting captures appropriate categories Description Item does not meet all the requirements as per test. Prerequisite: A Diagnostic Setting must exist. If a Diagnostic Setting does not exist, the navigation and options within this recommendation will not be available. Please review the recommendation at the beginning of this subsection titled: Ensure that a 'Diagnostic Setting' exists. The diagnostic setting should be configured to log the appropriate activities from the control/management plane. A diagnostic setting controls how the diagnostic log is exported. Capturing the diagnostic setting categories for appropriate control/management plane activities allows proper alerting. Recommendation and Steps From Azure Portal 1. Go to Azure Monitor 2. Click Activity log 3. Click on Export Activity Logs 4. Select the Subscription from the drop down menu 5. Click on Add diagnostic setting 6. Enter a name for your new Diagnostic Setting 7. Check the following categories: Administrative, Alert, Policy, and Security 8. Choose the destination details according to your organization's needs. Associated Objects
Affected Objects |
Done | Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key -CMK- | Passed | Encrypted with a Customer Managed Key | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key -CMK- Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that logging for Azure Key Vault is Enabled | Passed | Logging for Azure Key Vault is enabled | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that logging for Azure Key Vault is Enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Network Security Group Flow logs are captured and sent to Log Analytics | Passed | Captured and Sent to Log Analytics | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Network Security Group Flow logs are captured and sent to Log Analytics Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
Done | Ensure that logging for Azure AppService HTTP logs is enabled | Passed | AppServiceHTTPLogs is Enabled | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that logging for Azure AppService HTTP logs is enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that Activity Log Alert exists for Create Policy Assignment | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Create Policy Assignment Description Item does not meet all the requirements as per test. Create an activity log alert for the Create Policy Assignment event. Monitoring for create policy assignment events gives insight into changes done in Azure policy - assignments and can reduce the time it takes to detect unsolicited changes. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Create policy assignment (Policy assignment). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Delete Policy Assignment | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Delete Policy Assignment Description Item does not meet all the requirements as per test. Create an activity log alert for the Delete Policy Assignment event. Monitoring for delete policy assignment events gives insight into changes done in azure policy - assignments and can reduce the time it takes to detect unsolicited changes. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Delete policy assignment (Policy assignment). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Create or Update Network Security Group | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Create or Update Network Security Group Description Item does not meet all the requirements as per test. Create an Activity Log Alert for the Create or Update Network Security Group event. Monitoring for Create or Update Network Security Group events gives insight into network access changes and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Create or Update Network Security Group (Network Security Group). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Delete Network Security Group | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Delete Network Security Group Description Item does not meet all the requirements as per test. Create an activity log alert for the Delete Network Security Group event. Monitoring for Delete Network Security Group events gives insight into network access changes and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Delete Network Security Group (Network Security Group). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Create or Update Security Solution | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Create or Update Security Solution Description Item does not meet all the requirements as per test. Create an activity log alert for the Create or Update Security Solution event. Monitoring for Create or Update Security Solution events gives insight into changes to the active security solutions and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Create or Update Security Solutions (Security Solutions). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Delete Security Solution | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Delete Security Solution Description Item does not meet all the requirements as per test. Create an activity log alert for the Delete Security Solution event. Monitoring for Delete Security Solution events gives insight into changes to the active security solutions and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Console 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Delete Security Solutions (Security Solutions). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Create or Update SQL Server Firewall Rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Create or Update SQL Server Firewall Rule Description Item does not meet all the requirements as per test. There will be a substantial increase in log size if there are a large number of administrative actions on a server. Create an activity log alert for the Create or Update SQL Server Firewall Rule event. Monitoring for Create or Update SQL Server Firewall Rule events gives insight into network access changes and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Create/Update server firewall rule (Server Firewall Rule). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Delete SQL Server Firewall Rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Delete SQL Server Firewall Rule Description Item does not meet all the requirements as per test. There will be a substantial increase in log size if there are a large number of administrative actions on a server. Create an activity log alert for the Delete SQL Server Firewall Rule. Monitoring for Delete SQL Server Firewall Rule events gives insight into SQL network access changes and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Delete server firewall rule (Server Firewall Rule). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Create or Update Public IP Address rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Create or Update Public IP Address rule Description Item does not meet all the requirements as per test. There will be a substantial increase in log size if there are a large number ofadministrative actions on a server. Create an activity log alert for the Create or Update Public IP Addresses rule. Monitoring for Create or Update Public IP Address events gives insight into network access changes and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Create or Update Public Ip Address (Public Ip Address). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review + create. 17.Click Create. Associated Objects
Affected Objects |
Done | Ensure that Activity Log Alert exists for Delete Public IP Address rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Activity Log Alert exists for Delete Public IP Address rule Description Item does not meet all the requirements as per test. There will be a substantial increase in log size if there are a large number ofadministrative actions on a server. Create an activity log alert for the Delete Public IP Address rule. Monitoring for Delete Public IP Address events gives insight into network access changes and may reduce the time it takes to detect suspicious activity. Recommendation and Steps From Azure Portal 1. Navigate to the Monitor blade. 2. Select Alerts. 3. Select Create. 4. Select Alert rule. 5. Choose a subscription. 6. Select Apply. 7. Select the Condition tab. 8. Click See all signals. 9. Select Delete Public Ip Address (Public Ip Address). 10.Click Apply. 11.Select the Actions tab. 12.Click Select action groups to select an existing action group, or Create action group to create a new action group. 13.Follow the prompts to choose or create an action group. 14.Select the Details tab. 15.Select a Resource group, provide an Alert rule name and an optional Alert rule description. 16.Click Review Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Application Insights are Configured | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Application Insights are Configured Description Item does not meet all the requirements as per test. Because Application Insights relies on a Log Analytics Workspace, an organization willincur additional expenses when using this service. Application Insights within Azure act as an Application Performance Monitoring solution providing valuable data into how well an application performs and additional information when performing incident response. The types of log data collected include application metrics, telemetry data, and application trace logging data providing organizations with detailed information about application activity and application transactions. Both data sets help organizations adopt a proactive and retroactive means to handle security and performance related metrics within their modern applications. Configuring Application Insights provides additional data not found elsewhere within Azure as part of a much larger logging and monitoring program within an organization's Information Security practice. The types and contents of these logs will act as both a potential cost saving measure (application performance) and a means to potentially confirm the source of a potential incident (trace logging). Metrics and Telemetry data provide organizations with a proactive approach to cost savings by monitoring an application's performance, while the trace logging data provides necessary details in a reactive incident response scenario by helping organizations identify the potential source of an incident within their application. Recommendation and Steps From Azure Portal 1. Navigate to Application Insights 2. Under the Basics tab within the PROJECT DETAILS section, select the Subscription 3. Select the Resource group 4. Within the INSTANCE DETAILS, enter a Name 5. Select a Region 6. Next to Resource Mode, select Workspace-based 7. Within the WORKSPACE DETAILS, select the Subscription for the log analytics workspace 8. Select the appropriate Log Analytics Workspace 9. Click Next:Tags > 10.Enter the appropriate Tags as Name, Value pairs. 11.Click Next:Review+Create 12.Click Create Associated Objects
Affected Objects More Information TEST ID
|
Done | Ensure that Azure Monitor Resource Logging is Enabled for All Services that Support it | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Azure Monitor Resource Logging is Enabled for All Services that Support it Description Item does not meet all the requirements as per test. Costs for monitoring varies with Log Volume. Not every resource needs to have logging enabled. It is important to determine the security classification of the data being processed by the given resource and adjust the logging based on which events need tobe tracked. This is typically determined by governance and compliance requirements. Resource Logs capture activity to the data access plane while the Activity log is a subscription-level log for the control plane. Resource-level diagnostic logs provide insight into operations that were performed within that resource itself; for example, reading or updating a secret from a Key Vault. Currently, 95 Azure resources support Azure Monitoring (See the more information section for a complete list), including Network Security Groups, Load Balancers, Key Vault, AD, Logic Apps, and CosmosDB. The content of these logs varies by resource type. A number of back-end services were not configured to log and store Resource Logs for certain activities or for a sufficient length. It is crucial that monitoring is correctly configured to log all relevant activities and retain those logs for a sufficient length of time. Given that the mean time to detection in an enterprise is 240 days, a minimum retention period of two years is recommended. A lack of monitoring reduces the visibility into the data plane, and therefore an organization's ability to detect reconnaissance, authorization attempts or other malicious activity. Unlike Activity Logs, Resource Logs are not enabled by default. Specifically, without monitoring it would be impossible to tell which entities had accessed a data store that was breached. In addition, alerts for failed attempts to access APIs for Web Services or Databases are only possible when logging is enabled. Recommendation and Steps Azure Subscriptions should log every access and operation for all resources. Logs should be sent to Storage and a Log Analytics Workspace or equivalent third-party system. Logs should be kept in readily-accessible storage for a minimum of one year, and then moved to inexpensive cold storage for a duration of time as necessary. If retention policies are set but storing logs in a Storage Account is disabled (for example, if only Event Hubs or Log Analytics options are selected), the retention policies have no effect. Enable all monitoring at first, and then be more aggressive moving data to cold storage if the volume of data becomes a cost concern. From Azure Portal The specific steps for configuring resources within the Azure console vary depending on resource, but typically the steps are: 1. Go to the resource 2. Click on Diagnostic settings 3. In the blade that appears, click Add diagnostic setting 4. Configure the diagnostic settings 5. Click on Save Associated Objects
Affected Objects
|
Done | Ensure that SKU Basic_Consumption is not used on artifacts that need to be monitored -Particularly for Production Workloads- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that SKU Basic_Consumption is not used on artifacts that need to be monitored -Particularly for Production Workloads- Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects More Information TEST ID
|
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that Public IP addresses are Evaluated on a Periodic Basis | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Public IP addresses are Evaluated on a Periodic Basis Description Item does not meet all the requirements as per test. Public IP Addresses provide tenant accounts with Internet connectivity for resources contained within the tenant. During the creation of certain resources in Azure, a Public IP Address may be created. All Public IP Addresses within the tenant should be periodically reviewed for accuracy and necessity. Public IP Addresses allocated to the tenant should be periodically reviewed for necessity. Public IP Addresses that are not intentionally assigned and controlled present a publicly facing vector for threat actors and significant risk to the tenant. Recommendation and Steps Remediation will vary significantly depending on your organization's security requirements for the resources attached to each individual Public IP address. Associated Objects
Affected Objects
|
Done | Ensure that RDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that RDP access from the Internet is evaluated and restricted Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that SSH access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that SSH access from the Internet is evaluated and restricted Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that UDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that UDP access from the Internet is evaluated and restricted Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that HTTP-S- access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that HTTP-S- access from the Internet is evaluated and restricted Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Network Security Group Flow Log retention period is greater than 90 days | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Network Security Group Flow Log retention period is greater than 90 days Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
Done | Ensure that Network Watcher is Enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Network Watcher is Enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure an Azure Bastion Host Exists | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure an Azure Bastion Host Exists Description Item does not meet all the requirements as per test. The Azure Bastion service incurs additional costs and requires a specific virtual network configuration. The Standard tier offers additional configuration options compared to the Basic tier and may incur additional costs for those added features. The Azure Bastion service allows secure remote access to Azure Virtual Machines over the Internet without exposing remote access protocol ports and services directly to the Internet. The Azure Bastion service provides this access using TLS over 443/TCP, and subscribes to hardened configurations within an organization's Azure Active Directory service. The Azure Bastion service allows organizations a more secure means of accessing Azure Virtual Machines over the Internet without assigning public IP addresses to those Virtual Machines. The Azure Bastion service provides Remote Desktop Protocol (RDP) and Secure Shell (SSH) access to Virtual Machines using TLS within a web browser, thus preventing organizations from opening up 3389/TCP and 22/TCP to the Internet on Azure Virtual Machines. Additional benefits of the Bastion service includes Multi-Factor Authentication, Conditional Access Policies, and any other hardening measures configured within Azure Active Directory using a central point of access. Recommendation and Steps From Azure Portal 1. Click on Bastions 2. Select the Subscription 3. Select the Resource group 4. Type a Name for the new Bastion host 5. Select a Region 6. Choose Standard next to Tier 7. Use the slider to set the Instance count 8. Select the Virtual network or Create new 9. Select the Subnet named AzureBastionSubnet. Create a Subnet named AzureBastionSubnet using a /26 CIDR range if it doesn't already exist. 10.Selct the appropriate Public IP address option. 11.If Create new is selected for the Public IP address option, provide a Public IP address name. 12.If Use existing is selected for Public IP address option, select an IP address from Choose public IP address 13.Click Next: Tags > 14.Configure the appropriate Tags 15.Click Next: Advanced > 16.Select the appropriate Advanced options 17.Click Next: Review + create > 18.Click Create Associated Objects
Affected Objects
|
Done | Ensure Associated Load Balancers are configured | High | Not Configured correctly | SP v1.0 | NO |
X |
Done | Ensure Just-In-Time Access for Virtual Machines is enabled | High | Not Configured correctly | SP v1.0 | NO |
X TEST NAME Ensure Just-In-Time Access for Virtual Machines is enabled Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Virtual Machines are utilizing Managed Disks | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Virtual Machines are utilizing Managed Disks Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that OS and Data disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that OS and Data disks are encrypted with Customer Managed Key -CMK- Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
Done | Ensure that Unattached disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Unattached disks are encrypted with Customer Managed Key -CMK- Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Only Approved Extensions Are Installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Only Approved Extensions Are Installed Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Endpoint Protection for all Virtual Machines is installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Endpoint Protection for all Virtual Machines is installed Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | [Legacy] Ensure that VHDs are Encrypted | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME [Legacy] Ensure that VHDs are Encrypted Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
Done | Ensure only MFA enabled identities can access privileged Virtual Machine | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure only MFA enabled identities can access privileged Virtual Machine Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Trusted Launch is enabled on Virtual Machines | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Trusted Launch is enabled on Virtual Machines Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Approved Azure Machine Image in Use | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Non-Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Desired VM SKU Size are configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Scale Sets are not empty | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machines are configured with SSH Authentication Type | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Virtual Machines are configured with SSH Authentication Type Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Sufficient Daily Backup Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Sufficient Daily Backup Retention Period is configured for Virtual Machines Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Sufficient Instant Restore Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Sufficient Instant Restore Retention Period is configured for Virtual Machines Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure No Unused Load Balancers are identified to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure No Unused Load Balancers are identified to reduce cost Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Zone-Redundant Virtual Machine Scale Sets are present | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Premium SSD are disabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Premium SSD are disabled to reduce cost Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Accelerated Networking for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Accelerated Networking for Virtual Machines is enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Auto-Shutdown of Virtual Machine is enabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Auto-Shutdown of Virtual Machine is enabled to reduce cost Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Automatic Instance Repairs is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Automatic Instance Repairs is enabled for Virtual Machines Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Automatic OS Upgrades is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Automatic OS Upgrades is enabled for Virtual Machines Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Guest-Level Diagnostics for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Guest-Level Diagnostics for Virtual Machines is enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Instance Termination Notifications for Virtual Machine Scale Sets is configured | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Instance Termination Notifications for Virtual Machine Scale Sets is configured Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Performance Diagnostics for Azure Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Performance Diagnostics for Azure Virtual Machines is enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure System-Assigned Managed Identities are enabled | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure System-Assigned Managed Identities are enabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Virtual Machine Boot Diagnostics is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Health Monitoring is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
X TEST NAME Ensure Health Monitoring is configured for Virtual Machines Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Old Virtual Machine Disk Snapshots are removed | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Unattached Virtual Machine Disk Volumes are removed from Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure BYOK for Disk Volumes Encryption is used | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Enable Virtual Machine Access using Microsoft Entra ID Authentication | Passed | Configured correctly | SP v1.0 | YES |
X |
Ensure Autoscale Notifications are configured for Virtual Machines | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Autoscale Notifications are configured for Virtual Machines Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure Backups for Azure Virtual Machines are configured | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Backups for Azure Virtual Machines are configured Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure Encryption for App-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Encryption for App-Tier Disk Volumes are configured Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects | |
Ensure Encryption for Web-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure Encryption for Web-Tier Disk Volumes are configured Description Item does not meet all the requirements as per test. Recommendation and Steps Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that the Expiration Date is set for all Keys in RBAC Key Vaults | Passed | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that the Expiration Date is set for all Keys in RBAC Key Vaults Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that the Expiration Date is set for all Keys in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that the Expiration Date is set for all Keys in NonRBAC Key Vaults Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that the Expiration Date is set for all Secrets in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that the Expiration Date is set for all Secrets in NonRBAC Key Vaults Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure the Key Vault is Recoverable | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure the Key Vault is Recoverable Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Enable Role Based Access Control for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Enable Role Based Access Control for Azure Key Vault Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Private Endpoints are Used for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Private Endpoints are Used for Azure Key Vault Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Automatic Key Rotation is Enabled Within Azure Key Vault for the Supported Services | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Automatic Key Rotation is Enabled Within Azure Key Vault for the Supported Services Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Web App Redirects All HTTP traffic to HTTPS in Azure App Service | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure Web App Redirects All HTTP traffic to HTTPS in Azure App Service Description Item does not meet all the requirements as per test. When it is enabled, every incoming HTTP request is redirected to the HTTPS port. This means an extra level of security will be added to the HTTP requests made to the app. Azure Web Apps allows sites to run under both HTTP and HTTPS by default. Web apps can be accessed by anyone using non-secure HTTP links by default. Non-secure HTTP requests can be restricted and all HTTP requests redirected to the secure HTTPS port. It is recommended to enforce HTTPS-only traffic. Enabling HTTPS-only traffic will redirect all non-secure HTTP requests to HTTPS ports. HTTPS uses the TLS/SSL protocol to provide a secure connection which is both encrypted and authenticated. It is therefore important to support HTTPS for the security benefits. Recommendation and Steps From Azure Portal 1. Login to Azure Portal using https://portal.azure.com 2. Go to App Services 3. Click on each App 4. Click on configuration 5. Under the HTTPS Only heading select 'On' to enable https only 6. Click Save at the top Associated Objects
Affected Objects
|
Done | Ensure that Register with Entra ID is enabled on App Service | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Register with Entra ID is enabled on App Service Description Item does not meet all the requirements as per test. Managed service identity in App Service provides more security by eliminating secrets from the app, such as credentials in the connection strings. When registering an App Service with Entra ID, the app will connect to other Azure services securely without the need for usernames and passwords. App Service provides a highly scalable, self-patching web hosting service in Azure. It also provides a managed identity for apps, which is a turn-key solution for securing access to Azure SQL Database and other Azure services. Recommendation and Steps From Azure Portal 1. Login to Azure Portal using https://portal.azure.com 2. Go to App Services 3. Click on each App 4. Under Setting section, Click on Identity 5. Under the System assigned pane, set Status to On Associated Objects
Affected Objects
|
Done | Ensure That PHP version is the Latest If Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure That PHP version is the Latest If Used to Run the Web App Description Item does not meet all the requirements as per test. If your app is written using version-dependent features or libraries, they may not be available on the latest version. If you wish to upgrade, research the impact thoroughly. Upgrading may have unforeseen consequences that could result in downtime. Periodically newer versions are released for PHP software either due to security flaws or to include additional functionality. Using the latest PHP version for web apps is recommended in order to take advantage of security fixes, if any, and/or additional functionalities of the newer version. Newer versions may contain security enhancements and additional functionality. Using the latest software version is recommended in order to take advantage of enhancements and new capabilities. With each software installation, organizations need to determine if a given update meets their requirements. They must also verify the compatibility and support p Recommendation and Steps From Azure Portal 1. From Azure Home open the Portal Menu in the top left 2. Go to App Services 3. Click on each App 4. Under Settings section, click on Configuration 5. Click on the General settings pane, ensure that for a Stack of PHP the Major Version and Minor Version reflect the latest stable and supported release. NOTE: No action is required If PHP version is set to Off or is set with an empty value as PHP is not used by your web app. Associated Objects
Affected Objects
|
Done | Ensure that Python version is the Latest Stable Version if Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Python version is the Latest Stable Version if Used to Run the Web App Description Item does not meet all the requirements as per test. If your app is written using version-dependent features or libraries, they may not be available on the latest version. If you wish to upgrade, research the impact thoroughly. Upgrading may have unforeseen consequences that could result in downtime. Periodically, newer versions are released for Python software either due to security flaws or to include additional functionality. Using the latest full Python version for web apps is recommended in order to take advantage of security fixes, if any, and/or additional functionalities of the newer version. Newer versions may contain security enhancements and additional functionality. Using the latest software version is recommended in order to take advantage of enhancements and new capabilities. With each software installation, organizations need to determine if a given update meets their requirements. They must also verify the compatibility and support provided for any additional software against the update revision that is selected. Using the latest full version will keep your stack secure to vulnerabilities and exploits. Recommendation and Steps From Azure Portal 1. From Azure Home open the Portal Menu in the top left 2. Go to App Services 3. Click on each App 4. Under Settings section, click on Configuration 5. Click on the General settings pane and ensure that the Major Version and the Minor Version is set to the latest stable version available (Python 3.11, at the time of writing) NOTE: No action is required if Python version is set to Off, as Python is not used by your web app. Associated Objects
Affected Objects
|
Done | Ensure that HTTP Version is the Latest if Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that HTTP Version is the Latest if Used to Run the Web App Description Item does not meet all the requirements as per test. Periodically, newer versions are released for HTTP either due to security flaws or to include additional functionality. Using the latest HTTP version for web apps to take advantage of security fixes, if any, and/or new functionalities of the newer version. Newer versions may contain security enhancements and additional functionality. Using the latest version is recommended in order to take advantage of enhancements and new capabilities. With each software installation, organizations need to determine if a given update meets their requirements. They must also verify the compatibility and support provided for any additional software against the update revision that is selected. HTTP 2.0 has additional performance improvements on the head-of-line blocking problem of old HTTP version, header compression, and prioritization of requests. HTTP 2.0 no longer supports HTTP 1.1's chunked transfer encoding mechanism, as it provides its own, more efficient, mechanisms for data streaming. Recommendation and Steps From Azure Portal 1. Login to Azure Portal using https://portal.azure.com 2. Go to App Services 3. Click on each App 4. Under Setting section, Click on Configuration 5. Set HTTP version to 2.0 under General settings NOTE: Most modern browsers support HTTP 2.0 protocol over TLS only, while nonencrypted traffic continues to use HTTP 1.1. To ensure that client browsers connect to your app with HTTP/2, either buy an App Service Certificate for your app's custom domain or bind a third party certificate. Associated Objects
Affected Objects
|
Done | Ensure App Service Authentication is set up for apps in Azure App Service | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure App Service Authentication is set up for apps in Azure App Service Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Web App is using the latest version of TLS encryption | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Web App is using the latest version of TLS encryption Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure that Java version is the latest if used to run the Web App | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure that Java version is the latest if used to run the Web App Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects
|
Done | Ensure FTP deployments are Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure FTP deployments are Disabled Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Done | Ensure Azure Key Vaults are Used to Store Secrets | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
X TEST NAME Ensure Azure Key Vaults are Used to Store Secrets Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that Resource Locks are set for Mission-Critical Azure Resources | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
X TEST NAME Ensure that Resource Locks are set for Mission-Critical Azure Resources Description Item does not meet all the requirements as per test. There can be unintended outcomes of locking a resource. Applying a lock to a parent service will cause it to be inherited by all resources within. Conversely, applying a lock to a resource may not apply to connected storage, leaving it unlocked. Please see the documentation for further information. Resource Manager Locks provide a way for administrators to lock down Azure resources to prevent deletion of, or modifications to, a resource. These locks sit outside of the Role Based Access Controls (RBAC) hierarchy and, when applied, will place restrictions on the resource for all users. These locks are very useful when there is an important resource in a subscription that users should not be able to delete or change. Locks can help prevent accidental and malicious changes or deletion. As an administrator, it may be necessary to lock a subscription, resource group, or resource to prevent other users in the organization from accidentally deleting or modifying critical resources. The lock level can be set to to CanNotDelete or ReadOnly to achieve this purpose. ? CanNotDelete means authorized users can still read and modify a resource, but they cannot delete the resource. ? ReadOnly means authorized users can read a resource, but they cannot delete or update the resource. Applying this lock is similar to restricting all authorized users to the permissions granted by the Reader role. Recommendation and Steps From Azure Portal 1. Navigate to the specific Azure Resource or Resource Group 2. For each mission critical resource, click on Locks 3. Click Add 4. Give the lock a name and a description, then select the type, Read-only or Delete as appropriate 5. Click OK Associated Objects
Affected Objects
|
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Ensure that AKS clusters are using the latest available version of Kubernetes software | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that AKS clusters are using the latest available version of Kubernetes software Description Item does not meet all the requirements as per test. Ensure that your Azure Kubernetes Service (AKS) clusters are using the latest available version of Kubernetes platform in order to receive new or enhanced features and the most recent security fixes. The Kubernetes version upgrade becomes fully available only after it is approved by Microsoft Azure. Recommendation and Steps To upgrade your Azure Kubernetes Service (AKS) clusters to the latest available version of Kubernetes software, perform the following actions:Using Azure Portal01Sign in to Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#blade/HubsExtension/BrowseAll to access all your Microsoft Azure resources.03Choose the Azure subscription that you want to access from the Subscription filter box.04From the Type filter box, select Kubernetes Service to display the AKS clusters launched within the selected subscription.05Click on the name of the AKS cluster that you want to upgrade.06In the navigation panel, under Settings, select Upgrade, then choose the latest version of the Kubernetes software, available in the Kubernetes version dropdown list. Click Save to apply the configuration changes and start the upgrade process. Upgrading your AKS cluster may take up to 10 minutes per node.07Repeat step no. 5 and 6 for each AKS cluster provisioned in the selected subscription.08Repeat steps no. 3 ? 7 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Microsoft Defender for Cloud is enabled for AKS clusters | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Microsoft Defender for Cloud is enabled for AKS clusters Description Item does not meet all the requirements as per test. Ensure that Microsoft Defender for Cloud is enabled for Azure Kubernetes Service (AKS) clusters. Defender for Cloud for AKS clusters enables threat detection for containers, providing threat intelligence, anomaly detection, and behavior analytics. Recommendation and Steps To enable Microsoft Defender for Cloud for your Azure Kubernetes Service (AKS) clusters, perform the following actions:Using Azure Portal01Sign in to the Azure Management Console.02Navigate to Microsoft Defender for Cloud blade at https://portal.azure.com/#blade/Microsoft_Azure_Security/SecurityMenuBlade/0.03In the main navigation panel, under Management, choose Environment settings.04Click on the name (link) of the Azure subscription that you want to access.05In the navigation panel, under Settings, choose Defender plans to access the Defender for Cloud pricing plans available for the selected subscription.06On the Defender plans configuration page, under Cloud Workload Protection (CWP), choose On for the Containers pricing plan listed in the Status column, to enable Microsoft Defender for Cloud for Azure containers. Choose Save from the top menu to apply the changes.07Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.08Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.09From the Type filter box, select Kubernetes service and choose Apply to list the Azure Kubernetes Service (AKS) clusters available in the selected subscription.10Click on the name (link) of the AKS cluster that you want to configure.11In the resource navigation panel, select Microsoft Defender for Cloud to access the Defender for Cloud service dashboard provided for the selected AKS cluster.12Under Recommendations, select the Azure Kubernetes Service clusters should have Defender profile enabled recommendation, and choose Fix. Select the name of your AKS cluster and choose Fix 1 resource.13Repeat steps no. 10 ? 12 for each AKS cluster provisioned in the selected Azure subscription.14Repeat steps no. 8 ? 13 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Kubernetes Role-Based Access Control is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Kubernetes Role-Based Access Control is enabled for Azure Kubernetes clusters Description Item does not meet all the requirements as per test. Ensure that Kubernetes Role-Based Access Control (RBAC) is enabled for all Azure Kubernetes Service (AKS) clusters in order to achieve fine-grained control over AKS cluster resources. The Kubernetes Role-Based Access Control (RBAC) represents an efficient method of regulating access to Azure Kubernetes Service resources based on the roles of individual users or groups within an organization. Recommendation and Steps Kubernetes Role-Based Access Control (RBAC) cannot be configured for existing Azure Kubernetes Service (AKS) clusters. To enable and configure RBAC for your AKS clusters, you have to re-create these clusters. To relaunch your AKS clusters with the required RBAC configuration, perform the following actions:Using Azure Console01Sign in to Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#blade/HubsExtension/BrowseAll to access all your Microsoft Azure resources.03Choose the Azure subscription that you want to access from the Subscription filter box.04From the Type filter box, select Kubernetes service to list only the Azure Kubernetes Service (AKS) clusters available in the selected subscription.05Click on the name of the AKS cluster that you want to re-create and copy the necessary configuration details such as associated resource group, Azure region, Kubernetes version, node size and count, scaling and networking settings and so on. This configuration information will be required later when the new AKS cluster will be launched.06Navigate to Azure Kubernetes Service blade at https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ContainerService%2FmanagedClusters and click +Add to initiate the cluster setup wizard.07On the Create Kubernetes cluster page, configure the AKS new cluster using the configuration information copied at step no. 5:On the Basics panel, provide a name for the new cluster, select the resource group where the resource will be created, select the appropriate Azure region and Kubernetes version, and configure the cluster node size and count. Click Next : Scale to continue the setup process.On the Scale panel, configure the scaling/autoscaling settings required for the new cluster, then click Next : Authentication to continue.On the Authentication panel, configure the service principal, then click Yes next to Enable RBAC to enable Kubernetes Role-Based Access Control (RBAC) for the cluster. This will implement granular access to Kubernetes resources that support RBAC controls within the new AKS cluster. Click Next : Networking to continue the resource setup process.On the Networking panel, configure the networking settings for the new AKS cluster as seen at step. no 5, then click Next : Monitoring to continue.On the Monitoring panel, configure container monitoring, then click Next : Tags to continue the process.On the Tags panel, create the necessary tags and click Next : Review + Create to validate the configuration information provided during setup.On the Review + Create panel, review the configuration details, then click Create to launch the new Azure Kubernetes Service (AKS) cluster. The provisioning process should take a few minutes to complete.08Repeat steps no. 5 ? 7 for each Azure Kubernetes Service cluster that you want to relaunch in order to enable Kubernetes Role-Based Access Control (RBAC), available in the selected subscription.09Repeat steps no. 3 ? 8 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that AKS clusters are using the latest version of Kubernetes API | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that AKS clusters are using the latest version of Kubernetes API Description Item does not meet all the requirements as per test. To maximize the benefits of your Azure Kubernetes Service (AKS) clusters, it is important to ensure they are running on the latest Kubernetes version. By doing so, you gain access to new and improved features, as well as the latest security patches. The Kubernetes API upgrade becomes fully available only after it is approved by Microsoft Azure. Recommendation and Steps To upgrade your Azure Kubernetes Service (AKS) clusters to the latest version of Kubernetes API, perform the following operations:Using Azure Portal01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Kubernetes service and choose Apply to list the Azure Kubernetes Service (AKS) clusters available in the selected subscription.05Click on the name (link) of the AKS cluster that you want to upgrade.06In the resource navigation panel, under Settings, select Cluster configuration and choose Upgrade version.07Select the latest version of the Kubernetes API from the Kubernetes version dropdown list and choose Upgrade control plane + all node pools for Upgrade scope. Choose Save to apply the changes and start the Kubernetes API upgrade process.08Repeat steps no. 5 ? 7 for each AKS cluster that you want to relaunch, available in the selected subscription.09Repeat steps no. 3 ? 8 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that public access to Kubernetes API server is restricted | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that public access to Kubernetes API server is restricted Description Item does not meet all the requirements as per test. Ensure that Azure Kubernetes Service (AKS) clusters are configured to use the API Server Authorized IP Address Ranges feature in order to limit which IP addresses and CIDRs can access the Kubernetes control plane. Recommendation and Steps To secure access to the Kubernetes API server using authorized IP address ranges, perform the following actions:Using Azure Portal01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Kubernetes service and choose Apply to list the Azure Kubernetes Service (AKS) clusters available in the selected subscription.05Click on the name (link) of the AKS cluster that you want to configure.06In the resource navigation panel, under Settings, select Networking to access the networking settings configured for the selected AKS cluster.07Under Security, select the Set authorized IP ranges setting checkbox to enable the API Server Authorized IP Address Ranges feature. For08For Specify IP ranges, provide an IPv4 address range using CIDR notation (e.g. 10.0.15.0/24), or an IP address (e.g. 10.0.15.30). You can also provide a comma-separated list of IP addresses or address ranges.09Choose Apply to save the configuration changes.10Repeat steps no. 5 ? 9 for each AKS cluster provisioned in the selected Azure subscription.11Repeat steps no. 3 ? 10 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure Container Networking Interface (CNI) add-on is used for managing network resources | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure Container Networking Interface (CNI) add-on is used for managing network resources Description Item does not meet all the requirements as per test. Ensure that Azure Kubernetes Service (AKS) clusters are configured to use the Azure Container Networking Interface (CNI) add-on for dynamic allocation of IP addresses and enhanced subnet support within AKS. Recommendation and Steps To configure your AKS clusters to use Azure CNI add-on for dynamic allocation of IPs and enhanced subnet support, you have to re-create your clusters. To provision the required Azure networking resources and relaunch your AKS clusters with the new networking configuration, perform the following operations:Configuring AKS clusters to use Azure CNI add-on for dynamic allocation of IPs and enhanced subnet support using Azure Console (Azure Portal) is not currently supported. Associated Objects Affected Objects | |
Ensure that Azure CNI networking mode is configured for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure CNI networking mode is configured for Azure Kubernetes clusters Description Item does not meet all the requirements as per test. Ensure that Azure Kubernetes Service (AKS) clusters are configured to use the Azure Container Networking Interface (CNI) mode instead of the default Kubenet networking mode in order to enhance the segregation of resources and controls in an enterprise environment. Recommendation and Steps To configure Azure CNI networking mode for your AKS clusters, you have to re-create your clusters. To relaunch your AKS clusters with the required networking configuration, perform the following actions:Using Azure Portal01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Kubernetes service and choose Apply to list the Azure Kubernetes Service (AKS) clusters available in the selected subscription.05Click on the name (link) of the AKS cluster that you want to re-create and copy the necessary configuration details such as the associated resource group, Azure region, Kubernetes version, node size and count, scaling and networking settings and so on. This configuration information will be required later when the new AKS cluster will be launched.06Navigate to Kubernetes Services blade at https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ContainerService%2FmanagedClusters.07Choose Create and select Create a Kubernetes cluster to initiate the cluster setup wizard.08On the Create Kubernetes cluster setup page, configure the AKS new cluster using the configuration information copied at step no. 5:For Basics, provide a name for the new cluster, select the resource group where the resource will be created, select the appropriate Azure region and Kubernetes version, then configure the cluster node size and count, and choose the appropriate scaling method. Choose Next : Node pools > to continue the setup process.For Node pools, configure the primary and optional node pools required for the new cluster, then choose Next : Access > to continue the setup.For Access, configure the authentication and authorization settings required for your AKS cluster. Choose Next : Networking > to continue.For Networking, choose Azure CNI for Network configuration, select the virtual network and the subnet in which both the nodes and containers within the cluster will be placed, and provide a DNS name prefix to use with the hosted Kubernetes API server FQDN in the DNS name prefix box. Configure the networking security settings required for your cluster, then choose Next : Integrations > to continue.For Integrations, connect your new AKS cluster with additional Azure cloud services such as Microsoft Defender for Cloud, Azure Container Registry, and Azure Monitor, and configure any required alert rules. Choose Next : Advanced > to continue.For Advanced, choose whether to use Azure Key Vault as a secrets store with your Kubernetes cluster via a CSI volume, provide the name of the necessary infrastructure resource group, then choose Next : Tags > to continue.For Tags, create the necessary tags and choose Next : Review + Create > to validate the configuration information provided during setup.For Review + Create, review the configuration details, then choose Create to launch your new Azure Kubernetes Service (AKS) cluster. The provisioning process should take a few minutes to complete.09Repeat steps no. 5 ? 8 for each AKS cluster that you want to relaunch, available in the selected subscription.10Repeat steps no. 3 ? 9 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Microsoft Entra ID integration is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Microsoft Entra ID integration is enabled for Azure Kubernetes clusters Description Item does not meet all the requirements as per test. Ensure that your Azure Kubernetes Service (AKS) clusters are integrated with Microsoft Entra ID in order to provide granular access to EKS resources. Recommendation and Steps To enable Microsoft Entra ID integration for your Azure Kubernetes Service (AKS) clusters, perform the following operations:Using Azure Portal01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Kubernetes service and choose Apply to list the Azure Kubernetes Service (AKS) clusters available in the selected subscription.05Click on the name (link) of the AKS cluster that you want to configure.06In the resource navigation panel, under Settings, select Cluster configuration to access the configuration settings available for the selected AKS cluster.07Under Authentication and Authorization, perform the following actions:For Authentication and Authorization select Microsoft Entra ID authentication with Kubernetes RBAC.For Cluster admin ClusterRoleBinding, click on Choose Microsoft Entra group, and select the group(s) of users that will have administrative access to your EKS cluster.08Choose Apply to save the configuration changes.09Repeat steps no. 5 ? 8 for each AKS cluster that you want to configure, available in the selected subscription.10Repeat steps no. 3 ? 9 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that AKS clusters are configured to use the Network Contributor role | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that AKS clusters are configured to use the Network Contributor role Description Item does not meet all the requirements as per test. Ensure that Azure Kubernetes Service (AKS) clusters are using the Network Contributor role for managing networking resources and accessing other Azure services within an Azure Virtual Network (VNet). The Network Contributor role role enables seamless network management, facilitates service integration, and enhances overall security. Recommendation and Steps To assign the Network Contributor role to your Azure Kubernetes Service (AKS) clusters, perform the following actions:Using Azure Portal01Sign in to the Azure Management Console.02Navigate to Subscriptions blade at https://portal.azure.com/#view/Microsoft_Azure_Billing/SubscriptionsBlade to access all your Microsoft Azure subscriptions.03Click on the name (link) of the Azure subscription that you want to configure, listed in the Subscription name column.04In the navigation panel, select Access control (IAM), choose Add from the blade top menu, and select Add role assigment.05For Role, select the Job function roles tab, find and select the Network Contributor role, and choose Next to continue the assignment process.06For Members, select User, group, or service principal next to Assign access to, choose Select members, and select the specific user, group, or service principal to whom you want to assign the Network Contributor role. Choose Review + assign to continue.07For Review + assign, review the role assigment information, then choose Review + assign to complete the assignment process.08Repeat steps no. 3 ? 7 for each subscription that you want to configure, available within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure Kubernetes clusters are using a private Key Vault for secret data encryption | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure Kubernetes clusters are using a private Key Vault for secret data encryption Description Item does not meet all the requirements as per test. Ensure that your Azure Kubernetes Service (AKS) clusters are configured with encryption at rest for Kubernetes secrets in etcd using a private Azure Key Vault. Recommendation and Steps To configure Azure Kubernetes Service (AKS) clusters to use a private Key Vault for secret data encryption, perform the following operations:Configuring Azure Kubernetes clusters to use a private Key Vault for secret data encryption using Azure Console (Azure Portal) is not currently supported. Associated Objects Affected Objects | |
Ensure that AKS clusters are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that AKS clusters are using system-assigned managed identities Description Item does not meet all the requirements as per test. Ensure that your Azure Kubernetes Service (AKS) clusters are using system-assigned managed identities in order to allow secure application access to other Azure cloud resources such as load balancers, managed disks, and key vaults. Recommendation and Steps To ensure that your Azure Kubernetes Service (AKS) clusters are using system-assigned managed identities, perform the following actions:Configuring Azure Kubernetes Service (AKS) clusters to use system-assigned managed identities using Azure Console (Azure Portal) is not currently supported. Associated Objects Affected Objects | |
Ensure that AKS clusters are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that AKS clusters are using user-assigned managed identities Description Item does not meet all the requirements as per test. Ensure that your Azure Kubernetes Service (AKS) clusters are using user-assigned managed identities for fine-grained control over access permissions. Recommendation and Steps To ensure that your Azure Kubernetes Service (AKS) clusters are using user-assigned managed identities, perform the following actions:Configuring Azure Kubernetes Service (AKS) clusters to use user-assigned managed identities using Azure Console (Azure Portal) is not currently supported. Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure that your Microsoft Azure functions are using access keys | Passed | Configured Correctly | SP v1.0 | YES |
X |
Done | Ensure that your Azure functions are using the latest runtime version of the function host | Passed | Configured Correctly | SP v1.0 | YES |
X TEST NAME Ensure that your Azure functions are using the latest runtime version of the function host Description Item has met all the requirements as per test. Recommendation and Steps Associated Objects
Affected Objects |
Ensure that your Azure functions are not configured with admin privileges | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that your Azure functions are not configured with admin privileges Description Item does not meet all the requirements as per test. Ensure that your functions managed with Microsoft Azure Function App don't have privileged administrative permissions in order to promote the Principle of Least Privilege (POLP) and provide your functions the minimal amount of access required to perform their tasks. Recommendation and Steps To ensure that your functions managed with Microsoft Azure Function App are not configured with admin privileges, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Function App and choose Apply to list only the Microsoft Azure Function Apps available in the selected subscription.05Click on the name (link) of the Azure Function App that you want to examine.06In the navigation panel, under Settings, select Identity to access the identity-based settings configured for the selected Function App resource.07Select the User assigned tab and click on the name (link) of the user-assigned managed identity associated with your Function App.08In the navigation panel, select Azure role assignments to access the role assignments for the selected identity.09Click on the name of the privileged administrator role that you want to remove from your user-assigned managed identity, select the Assignments tab, and choose Remove to delete the role assignment for the managed identity. On the Remove role assignments box, choose Yes for confirmation.10To add a new role assigment that follows the Principle of Least Privilege (POLP), choose Access control (IAM) from the navigation panel, choose Add, select Add role assigment to initiate the assigment process.11For Role, select the Job function roles tab, and choose the appropriate, non-privileged role that you want to attach. Choose Next to continue.12For Members, choose Managed identity next to Assign access to, choose Select members, and select your user-assigned managed identity. Choose Next to continue.13For Review + assign, choose Review + assign to complete the assigment process.14Repeat steps no. 5 ? 13 for each Azure Function App that you want to configure, deployed in the selected Azure subscription.15Repeat steps no. 3 ? 14 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that your Microsoft Azure functions are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that your Microsoft Azure functions are using Application Insights Description Item does not meet all the requirements as per test. Ensure that the functions managed with Microsoft Azure Function App are configured to use Azure Monitor Application Insights. Application Insights is a robust APM solution designed to cater to the needs of both developers and DevOps experts. By enabling this service, you can effortlessly set up continuous monitoring for your serverless application. Application Insights excels at identifying performance irregularities and offers a suite of potent analytical tools to assist you in troubleshooting problems and gaining deep insights into user interactions with your application. Recommendation and Steps To enable integration with Application Insights for your Microsoft Azure Function Apps, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Function App and choose Apply to list only the Microsoft Azure Function Apps available in the selected subscription.05Click on the name (link) of the Azure Function App that you want to configure.06In the navigation panel, under Settings, select Application Insights to access the Application Insights integration settings available for the selected Function App.07Choose Turn on Application Insights, select Create new resource, ensure that the new resource has the appropriate name and location, and choose Apply to enable Application Insights integration for the selected Azure Function App. Once the integration is enabled, your Function App will be connected to a new, auto-created Application Insights resource. The necessary instrumentation key (i.e. APPINSIGHTS_INSTRUMENTATIONKEY) will be added automatically to Function App settings.08Repeat steps no. 5 ? 7 for each Azure Function App that you want to configure, deployed in the selected Azure subscription.09Repeat steps no. 3 ? 8 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Virtual Network integration is enabled for your Azure Function Apps | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Virtual Network integration is enabled for your Azure Function Apps Description Item does not meet all the requirements as per test. To follow Azure networking best practices and securely access cloud resources available within your Azure Virtual Network (VNet), ensure that Virtual Network integration is enabled for your Microsoft Azure Function Apps. With Virtual Network integration, you can restrict your Function App outbound connections to specific, trusted VNets only Recommendation and Steps To ensure that Virtual Network integration is enabled for your Microsoft Azure Function Apps, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Function App and choose Apply to list only the Microsoft Azure Function Apps available in the selected subscription.05Click on the name (link) of the Azure Function App that you want to examine.06In the navigation panel, under Settings, select Networking to access the networking settings configured for the selected Function App.07In the Outbound Traffic section, click on the VNet integration link to access the networking feature configuration page.08Choose Add VNet under VNet Configuration to set up the Virtual Network integration for the selected Azure Function App.09On the Add VNet integration panel, choose the appropriate subscription from the Subscription list, select the Azure Virtual Network that you want to use from the Virtual Network dropdown list, and choose whether to create a new VNet subnet for integration or use an existing one. Choose OK to apply the changes. The Function App outbound traffic is now restricted to the specific Virtual Network and its subnet.10Repeat steps no. 5 ? 9 for each Azure Function App that you want to configure, deployed in the selected Azure subscription.11Repeat steps no. 3 ? 10 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that your Microsoft Azure functions are not publicly accessible | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that your Microsoft Azure functions are not publicly accessible Description Item does not meet all the requirements as per test. To follow Azure cloud security best practices and prevent public exposure, ensure that the functions managed with Microsoft Azure Function App are not publicly accessible. An Azure function is considered publicly accessible when is configured to allow inbound access through the default (public) endpoint. Recommendation and Steps To ensure that your functions managed with Microsoft Azure Function App are not publicly accessible, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Function App and choose Apply to list only the Microsoft Azure Function Apps available in the selected subscription.05Click on the name (link) of the Azure Function App that you want to examine.06In the navigation panel, under Settings, select Networking to access the networking settings configured for the selected Function App.07In the Inbound Traffic section, click on the Access restriction link to open the page with the access restrictions configured for the selected resource.08On the Access restriction configuration page, perform one of the following sets of actions:To deny public network access entirely, deselect the Allow public access setting checkbox and choose Save to apply the changes.In Azure Function App, access restrictions allow you to define lists of allow/deny rules to control traffic to your functions. These lists can include IP addresses or Virtual Network (VNet) subnets. Rules are evaluated in priority order. If there are no rules defined, your functions will accept traffic from any IP address, leaving your functions exposed. To configure access restrictions, leave the Allow public access setting checkbox selected, set Unmatched rule action to Deny, and choose Add from the Site access and rules section to add one or more rules in order to allow inbound traffic to your functions from trusted sources only. Select Continue to confirm access denial and choose Save to apply the changes.09Repeat steps no. 5 ? 8 for each Azure Function App that you want to configure, deployed in the selected Azure subscription.10Repeat steps no. 3 ? 8 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure functions are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure functions are using system-assigned managed identities Description Item does not meet all the requirements as per test. Ensure that functions managed with Azure Function App are using system-assigned managed identities in order to allow secure application access to other Microsoft Azure cloud resources such as SQL databases, storage accounts, and key vaults. Using system-assigned managed identities minimizes risks, simplifies management, and maintains compliance with evolving Azure cloud services. Recommendation and Steps To ensure that your functions managed with Microsoft Azure Function App are configured to use system-assigned managed identities, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Function App and choose Apply to list only the Microsoft Azure Function Apps available in the selected subscription.05Click on the name (link) of the Azure Function App that you want to configure.06In the navigation panel, under Settings, select Identity to access the identity-based settings configured for the selected Function App resource.07Choose the System assigned tab and select On under Status to enable the system-assigned managed identity for the Azure functions managed with the selected Azure Function App. Choose Yes to confirm the changes. The Function App resource is now registered with Microsoft Entra ID and the managed identity can be configured to allow access to other Azure cloud resources based on your application requirements.08Repeat steps no. 5 ? 7 for each Azure Function App that you want to configure, deployed in the selected Azure subscription.09Repeat steps no. 3 ? 8 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure functions are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure functions are using user-assigned managed identities Description Ensure that functions managed with Azure Function App are using user-assigned managed identities for fine-grained control over access permissions. Recommendation and Steps To ensure that your functions managed with Microsoft Azure Function App are configured to use user-assigned managed identities, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select Function App and choose Apply to list only the Microsoft Azure Function Apps available in the selected subscription.05Click on the name (link) of the Azure Function App that you want to configure.06In the navigation panel, under Settings, select Identity to access the identity-based settings configured for the selected Function App resource.07Select the User assigned tab and choose Add from the top menu to add your user-assigned managed identity to the selected Function App resource.08Select your Azure subscription from the Select a subscription dropdown list and choose the user-assigned managed identity that you want to assign to your functions within the selected Azure Function App, from the User assigned managed identities list. Select the appropriate identity and choose Add to apply the changes.09Repeat steps no. 5 ? 8 for each Azure Function App that you want to configure, deployed in the selected Azure subscription.10Repeat steps no. 3 ? 8 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects |
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Ensure that user sign-in with Microsoft Entra ID is enabled for Azure API Management Developer Portal | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that user sign-in with Microsoft Entra ID is enabled for Azure API Management Developer Portal Description Item does not meet all the requirements as per test. Ensure that your Azure API Management API services are configured to automatically enable a Microsoft Entra ID application and identity provider for users of the Developer Portal. The Developer Portal in Azure API Management is an automatically generated, fully customizable website that serves as a central hub for developers to discover, understand, and consume APIs. It provides comprehensive API documentation, interactive code samples, and secure access to APIs. Recommendation and Steps To ensure that user sign-in with Microsoft Entra ID is enabled for Azure API Management Developer Portal, perform the following actions:Enabling Microsoft Entra ID user authentication for Azure API Management Developer Portal via Azure Command Line Interface (Azure CLI) and Azure PowerShell is not currently supported.Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to examine.06In the navigation panel, under Developer portal, select Portal overview to access the Developer Portal overview page.07Select the Overview tab and choose Enable Azure AD under Enable user sign-in with Azure Active Directory. On the Enable Azure Active Directory confirmation panel, choose Enable Azure AD to enable user access to the Developer Portal using Microsoft Entra ID. Enabling user sign-in with Microsoft Entra ID will automatically provision a Microsoft Entra application in your tenant, configure it as an identity provider in API Management, and publish your Developer Portal instance. Choose Close to return to the Developer Portal overview page. The users within the specified Microsoft Entra instance can now sign into the Developer Portal by using a Microsoft Entra ID account.08(Optional) To manage the Microsoft Entra ID configuration for the Developer Portal, choose Identities from the navigation panel, and select Azure Active Directory.09Repeat steps no. 5 ? 8 for each Azure API Management service that you want to configure, available in the selected Azure subscription.10Repeat steps no. 3 ? 9 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management API gateways do not use weak cipher suites | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management API gateways do not use weak cipher suites Description Item does not meet all the requirements as per test. Ensure that your Azure API Management API gateways are not configured to use weak or deprecated TLS ciphers for client and backend communication. The following TLS ciphers are considered weak or deprecated:TLS_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_256_CBC_SHATLS_RSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_256_CBC_SHATLS_RSA_WITH_AES_256_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_128_GCM_SHA256TLS_RSA_WITH_3DES_EDE_CBC_SHA (TRIPLE DES) Recommendation and Steps To ensure that your Azure API Management API gateways don't use weak or deprecated TLS ciphers, perform the following actions:IMPORTANT: Disabling TLS ciphers may break client or backend connectivity.Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to examine.06In the navigation panel, under Security, select Protocols + ciphers to access the API gateway's protocol and cipher configuration.07Select the Ciphers tab, choose Hide required ciphers, select the following deprecated TLS ciphers: TLS_RSA_WITH_3DES_EDE_CBC_SHA (Triple DES), TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, and TLS_RSA_WITH_AES_128_GCM_SHA256, and choose Disable. Select Save to apply the changes. Configuration changes can take from 15 to 45 minutes to apply.08Repeat steps no. 5 ? 7 for each Azure API Management service that you want to configure, available in the selected Azure subscription.09Repeat steps no. 3 ? 8 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management API gateways do not use deprecated TLS protocols | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management API gateways do not use deprecated TLS protocols Description Item does not meet all the requirements as per test. Ensure that your Azure API Management API gateways are not configured to use weak and deprecated TLS protocols such as TLS 1.0 and TLS 1.1. To follow security best practices and protect your APIs from potential exploits that can target flaws in the older versions of the TLS protocol, ensure that your API gateways are using the the latest supported version of TLS. Recommendation and Steps To ensure that your Azure API Management API gateways don't use weak and deprecated SSL/TLS protocols, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to examine.06In the navigation panel, under Security, select Protocols + ciphers to access the API gateway's protocol and cipher configuration.07Choose the Protocols tab, select the following deprecated protocols from both Client protocol and Backend protocol lists: SSL 3.0, TLS 1.0, and TLS 1.1, and choose Disable. Choose Save to apply the changes. Configuration changes can take from 15 to 45 minutes to apply.08Repeat steps no. 5 ? 7 for each Azure API Management service that you want to configure, available in the selected Azure subscription.09Repeat steps no. 3 ? 8 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management services with private endpoints are not publicly exposed | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management services with private endpoints are not publicly exposed Description Item does not meet all the requirements as per test. Azure API Management services configured with a private endpoint should not be publicly accessible in order to enhance security by ensuring that the API service instance is only accessible from within your private network, over Azure Private Link, limiting exposure to potential external threats and unauthorized access. Recommendation and Steps To disable public network access to API Management services configured with private endpoints, perform the following actions:Disabling public network access to API Management service instances via Azure Portal is not currently supported. Associated Objects Affected Objects | |
Ensure that Azure API Management APIs are configured to enforce built-in response caching | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management APIs are configured to enforce built-in response caching Description Item does not meet all the requirements as per test. Ensure that built-in response caching is enabled for Microsoft Azure API Management APIs in order to reduce latency for API callers and backend load for API providers. To enable response caching, a set of caching policies must be configured at the API level. Recommendation and Steps To enable built-in response caching for your Azure API Management APIs, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to access.06In the main navigation panel, under APIs, select APIs to access the list of APIs managed by the selected service.07Select the API that you want to configure, listed under All APIs.08Select the Design tab and choose All operations from the API menu, to apply the policy to all operations.09Choose + Add policy from the Inbound processing box, select Cache responses (cache-lookup/store) built-in policy and set the preferred cache duration in the Duration (in seconds) box. (Optional) To access all the attributes supported by the caching policy, choose Full and configure the advanced attributes and elements based on your application requirements. Choose Save to apply the changes. Azure API Management automatically adds the cache-lookup policy to the list of Inbound processing policies and the cache-store policy to the list of Outbound processing policies. To ensure that response caching is enabled for your API, the cache-lookup and cache-store policies must be available in the Policies section for both inbound and outbound operations.10Repeat steps no. 7 - 9 for each API managed by the selected Azure API Management service.11Repeat steps no. 5 - 10 for each Azure API Management service available within the current Azure subscription.12Repeat steps no. 3 ? 11 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management APIs are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management APIs are using Application Insights Description Item does not meet all the requirements as per test. Ensure that your Azure API Management APIs are configured to use Application Insights. Application Insights is a robust APM solution designed to cater to the needs of both developers and DevOps professionals. Enabling this service facilitates effortless implementation of continuous monitoring for your APIs, allowing Application Insights to effectively identify performance anomalies and provide a comprehensive suite of analytical tools to assist in troubleshooting issues and gaining deep understanding of API interactions. Recommendation and Steps Remediation / ResolutionTo enable integration with Application Insights for your Azure API Management APIs, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to access.06In the main navigation panel, under APIs, select APIs to access the list of APIs managed by the selected service.07Select the API that you want to configure, listed under All APIs.08Choose the Settings tab and select the Application Insights tab from the Diagnostics Logs section.09Select the Enable checkbox and perform the following actions:For Destination, choose the Application Insights logger to send the telemetry to.For Sampling (%), you can reduce the volume of telemetry by setting a sampling percentage.For Always log errors, choose whether to send telemetry if there is an erroneous condition, regardless of the sampling setting configured.For Log client IP address, choose whether or not to log client IP.(Optional) Select Support custom metrics if you want to enable support for custom metrics.For Verbosity, choose the log verbosity level.For Correlation protocol, select the protocol to use in order to correlate telemetry sent by multiple components.(Optional) Use Additional settings to add content to log in addition to the basic telemetry.Choose Save to apply the configuration changes.10Repeat steps no. 7 ? 9 for each API managed by the selected Azure API Management service.11Repeat steps no. 5 ? 10 for each Azure API Management service available in the selected Azure subscription.12Repeat steps no. 3 ? 11 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that resource logs are enabled for Azure API Management API services | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that resource logs are enabled for Azure API Management API services Description Item does not meet all the requirements as per test. Ensure that your Azure API Management API services are configured to use resource logs in order to collect valuable information on API Management operations and errors. By enabling resource logs through a diagnostic setting, you can gather extensive information on the API requests received and handled by the Azure API Management service gateway. Recommendation and Steps To ensure that resource logs are enabled for your Azure API Management API services, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to configure.06In the navigation panel, under Monitoring, select Diagnostic settings. Diagnostic settings are used to configure the streaming export of the logs and metrics to the destination of your choice.07Choose + Add diagnostic setting to create a new diagnostic setting for the selected resource.08On the Diagnostic setting setup page, perform the following operations:Provide a unique name for your new diagnostic setting in the Diagnostic setting name box.For Logs, choose the log categories that you want to collect from the selected resource, available in the Categories section. You can also choose to enable one or more log category groups from the Category groups section.For Destination details, select one of the following options or multiple options, based on your application requirements:Select Send to Log Analytics workspace and choose the subscription and the Log Analytics workspace that you want to use to collect your logging data. For Destination table select which table resource data is stored in.Select Archive to a storage account if you want to write the logs to an Azure storage account. Choose the Azure subscription and the storage account that will store your log data.Select Stream to an event hub if you want to write the resource logs to an Azure Event Hub. Choose the subscription and the event hub namespace in which you would like an event hub to be created for streaming your logging data.Select Send to partner solution for partner integration. You must first install partner integration into your Azure subscription. Configuration options vary by partner.Choose Save to apply the changes. Logs are streamed to the specified destination(s) as new event data is generated.09Repeat steps no. 5 ? 8 for each Azure API Management service that you want to configure, available in the selected Azure subscription.10Repeat steps no. 3 ? 9 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that HTTP-2 support is enabled within Microsoft Azure API Management | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that HTTP-2 support is enabled within Microsoft Azure API Management Description Item does not meet all the requirements as per test. Ensure that your Azure API Management API gateways are configured to use HTTP/2 in order to increase the API performance on the client-side. HTTP/2 represents a major revision of the HTTP protocol, that has the primary goal of reducing the impact of latency and connection load on servers by implementing full request and response multiplexing, minimizing protocol overhead via compression of HTTP header fields, and by adding support for HTTP request prioritization and server push. Recommendation and Steps To enable the HTTP/2 support for your Azure API Management API gateways, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to examine.06In the navigation panel, under Security, select Protocols + ciphers to access the API gateway's protocol and cipher configuration.07Choose the Protocols tab, select HTTP/2 under Client protocol, and choose Enable to enable support for HTTP/2. Select Save to apply the changes. Configuration changes can take from 15 to 45 minutes to apply.08Repeat steps no. 5 ? 7 for each Azure API Management service that you want to configure, available in the selected Azure subscription.09Repeat steps no. 3 ? 8 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management APIs are configured to enforce HTTPS for API calls | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management APIs are configured to enforce HTTPS for API calls Description Item does not meet all the requirements as per test. Ensure that your Azure API Management APIs are configured to enforce HTTPS for all API calls in order to provide secure, encrypted communication, protect data integrity, user privacy, and comply with industry standards. Recommendation and Steps To ensure that your Azure API Management APIs are configured to enforce HTTPS for all API calls, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to access.06In the main navigation panel, under APIs, select APIs to access the list of APIs managed by the selected service.07Select the API that you want to configure, listed under All APIs.08Choose the Settings tab and set the URL scheme to HTTPS to enforce HTTPS for all API requests made to the selected Azure API Management API. Choose Save to apply the changes.09Repeat steps no. 7 and 8 for each API managed by the selected Azure API Management service.10Repeat steps no. 5 - 9 for each Azure API Management service available in the selected Azure subscription.11Repeat steps no. 3 ? 10 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that named values are encrypted to prevent the exposure of secrets in Azure API Management | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that named values are encrypted to prevent the exposure of secrets in Azure API Management Description Item does not meet all the requirements as per test. Ensure that all the named values used to define secret data within Azure API Management policies are encrypted in order to prevent the exposure of credentials and secrets. Recommendation and Steps With Azure API Management named values, secret data can be stored either as encrypted strings or by referencing secrets in Azure Key Vault. To ensure that your named values are encrypted to prevent the exposure of secrets, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to access.06In the main navigation panel, under APIs, select Named values.07Choose + Add to create a new Azure API Management named value for your secret.08On the Add named value setup page, perform the following actions:Provide a unique name for the new named value in the Name box.For Display name, enter a name that can used for referencing the property in the API policy.(Optional) For Tags, choose + to add tags to the new resource.For Type, choose one of the following options:Select Secret to encrypt the secret value with Azure API Management. For Value, enter the secret value that you want to store with the new named value.Select Key vault, choose Select next to Secret, and select the secret resource created and stored within Azure Key Vault. Choose Select to confirm the selection. To create a new secret with Azure Key Vault, choose Create new key vault and Create new to generate the new secret. Once the Key Vault secret is selected, choose the system-assigned or user-assigned managed identity required to access the Key Vault. To improve API Management service security and achieve regulatory compliance, it is highly recommended to use Key Vault secrets.Choose Save to apply the changes.09Once the new, encrypted named value is referenced in the Azure API Management policy, you can remove the non-compliant named value that holds the secret data in plaintext. On the Named values listing page, choose the non-compliant named value, click on the 3-dot options button, and select Delete. Choose Yes to confirm the resource deletion.10Repeat steps no. 5 - 9 for each Azure API Management service available within the current Azure subscription.11Repeat steps no. 3 ? 10 for each subscription created in your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management services are configured to use client certificates | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management services are configured to use client certificates Description Item does not meet all the requirements as per test. Ensure that your Azure API Management service instances are configured to use client certificates for authentication in order to enhance security and establish trust between API clients and Azure API Management. Recommendation and Steps To ensure that your Azure API Management services are configured to use client certificates in order to secure access to your APIs, perform the following operations:Configuring Azure API Management services to use client certificates via Azure Command Line Interface (Azure CLI) is not currently supported.Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to examine.06In the navigation panel, under Security, select Certificates.07Select the Certificates tab, choose Add, and perform the following actions:Provide a unique identifier for the certificate in the Id box.For Certificate, select the type of the certificate. To add an Azure Key Vault certificate choose Key Vault, use Select under Certificate key vault id to choose the required certificate and its key vault, and choose Select to apply the changes. For Client identity, select a system or user assigned managed identity to access the key vault. To upload a client certificate, choose Custom, browse to select the required certificate (.pfx file format), and enter the certificate password in the Password box.Choose Add to add a new client certificate to your Azure API Management service.08In the navigation panel, under Deployment + infrastructure, select Custom domains to configure your API Management service instance to receive and verify client certificates.09If your API service tier is Developer, Basic, Standard, or Premium, click on the hostname of the Azure API Management API gateway configured for your API service and select the Negotiate client certificate checkbox. Choose Update to save the changes. If your API service tier is Consumption, select Yes next to Request client certificate, under Client certificates. This enforces a client certificate to be presented on each request made to your API gateway. Choose Save to apply the changes.10Set up the validate-client-certificate inbound policy to validate the client certificate. You can configure the policy to validate one or more attributes such as certificate issuer, thumbprint, certificate subject, etc.11Repeat steps no. 5 ? 10 for each Azure API Management service that you want to configure, available in the selected Azure subscription.12Repeat steps no. 3 ? 11 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that no Azure API Management API allows unrestricted access | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that no Azure API Management API allows unrestricted access Description Item does not meet all the requirements as per test. To safeguard your Azure API Management APIs from unauthorized access, it is imperative to implement network access restrictions based on IP addresses. This requires configuring your APIs to accept requests from authorized IP addresses or designated IP address ranges. Unrestricted network access, which permits connections from all IP addresses, is not recommended. To configure the network (IP-based) access for your APIs, a built-in policy named ip-filter must be implemented at the API level. Recommendation and Steps To allow API calls from specific, trusted IP addresses/IP address ranges only, perform the following operations:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to access.06In the main navigation panel, under APIs, select APIs to access the list of APIs managed by the selected service.07Select the API that you want to configure, listed under All APIs.08Select the Design tab and choose All operations from the API menu, to apply the policy to all operations.09If the ip-filter policy is not enabled for the selected API resource, choose + Add policy from the Inbound processing box, select Filter IP addresses (ip-filter) built-in policy, choose Allowed IPs, select + Add IP filter, add the trusted, designated IP addresses/IP address ranges, and choose Save to apply the changes.10If the policy is enabled for the selected API, click on the ip-filter policy and find the ip-filter element that has action set to allow (i.e. \ Associated Objects Affected Objects | |
Ensure that Azure API Management services are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management services are using system-assigned managed identities Description Item does not meet all the requirements as per test. Ensure that your Azure API Management service instances are using system-assigned managed identities in order to allow secure access to other Microsoft Azure protected resources such as Azure Key Vaults. System-assigned managed identities minimizes risks, simplifies management, and maintains compliance with evolving cloud services. Recommendation and Steps To ensure that your Azure API Management service instances are configured to use system-assigned managed identities, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to configure.06In the navigation panel, under Security, select Managed identities to access the identity-based settings configured for the selected service instance.07Choose the System assigned tab and select On under Status to enable the system-assigned managed identity for the selected Azure API Management service instance. Choose Yes to confirm the changes. The selected service instance is now registered with Microsoft Entra ID and the managed identity can be configured to allow access to other Azure cloud resources based on your application requirements.08Repeat steps no. 5 ? 7 for each Azure API Management service that you want to configure, available in the selected Azure subscription.09Repeat steps no. 3 ? 8 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects | |
Ensure that Azure API Management services are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
X TEST NAME Ensure that Azure API Management services are using user-assigned managed identities Description Item does not meet all the requirements as per test. Ensure that your Azure API Management service instances are using user-assigned managed identities for fine-grained control over access permissions. Recommendation and Steps To ensure that your Azure API Management service instances are configured to use user-assigned managed identities, perform the following actions:Using Azure Console01Sign in to the Azure Management Console.02Navigate to All resources blade at https://portal.azure.com/#view/HubsExtension/BrowseAll to access all your Microsoft Azure cloud resources.03Choose the Azure subscription that you want to access from the Subscription filter box and choose Apply.04From the Type filter box, select API Management service and choose Apply to list only the Microsoft Azure API Management services available in the selected subscription.05Click on the name (link) of the Azure API Management service that you want to configure.06In the navigation panel, under Security, select Managed identities to access the identity-based settings configured for the selected service instance.07Select the User assigned tab and choose Add from the top menu to add your user-assigned managed identity to the selected Azure API Management service.08Select your Azure subscription from the Select a subscription dropdown list and choose the user-assigned managed identity that you want to assign to your Azure API Management service instance, from the User assigned managed identities list. Select the appropriate identity and choose Add to apply the changes.09Repeat steps no. 5 ? 8 for each Azure API Management service that you want to configure, available in the selected Azure subscription.10Repeat steps no. 3 ? 9 for each subscription created within your Microsoft Azure cloud account. Associated Objects Affected Objects |
#TABLE_Azure-Subscription1#TABLE_Azure-Infra2#TABLE_Azure-Entra-ID3#TABLE_Identity-and-Access-Management-Security-Defaults4#TABLE_Identity-and-Access-Management-Conditional-Access5#TABLE_Microsoft-Defender--Microsoft-Defender-for-Cloud6#TABLE_Microsoft-Defender--Microsoft-Defender-for-IoT7#TABLE_Storage-Accounts8#TABLE_Database-Services-SQL-Server---Auditing9#TABLE_Database-Services-SQL-Server---PostgreSQL-Database-Server10#TABLE_Database-Services-SQL-Server----MySQL-Database11#TABLE_Database-Services-SQL-Server----Cosmos-DB12#TABLE_Logging-and-Monitoring-Configuring-Diagnostic-Settings13#TABLE_Logging-and-Monitoring-Monitoring-using-Activity-Log-Alerts14#TABLE_Logging-and-Monitoring-Configuring-Application-Insights15#TABLE_Networking16#TABLE_Virtual-Machines17#TABLE_Key-Vault18#TABLE_AppService19#TABLE_Miscellaneous20#TABLE_AKS21#TABLE_Azure-Functions22#TABLE_API-Management23
All Tests Table
Assessment Table satus contains status for both CIS Benchmark and SmartProfiler Tests.
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Azure Cloud Budget Alerts are configured | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Azure Administrative Units are used | High | Not Defined | SP v1.0 | NO |
|
Done | Ensure Security Defaults is enabled | High | Disabled | SP v1.0 | NO |
|
Done | Ensure Normal Azure Users do not have Permissions to provide unrestricted user Consent | High | Allowed: Full | SP v1.0 | NO |
|
Done | Ensure Conditional Access Policy with signin user-risk location as Factor | High | No Conditional Access Policy found with Sign-in risk | SP v1.0 | NO |
|
Done | AAD Connect sync account password reset | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Guest users are restricted | High | Restricted but can see membership of all non-hidden groups | SP v1.0 | NO |
|
Done | Conditional Access Policy that does not require MFA when sign-in risk has been identified | High | No Conditional Access Policy found. | SP v1.0 | NO |
|
Done | Ensure Number Matching enabled in MFA | High | Number Matching Not Enabled | SP v1.0 | NO |
|
Done | Ensure Policy exists to restrict non-administrator access to Azure Active Directory or Entra | High | No Policy Found | SP v1.0 | NO |
|
Done | Ensure Phishing-resistant MFA strength is required for Administrators | High | Phishing-resistant MFA policy is not configured for administrators | SP v1.0 | NO |
|
Done | Ensure custom banned passwords lists are used | High | Custom banned passwords setting is disabled. | SP v1.0 | NO |
|
Done | Ensure Restrict non-admin users from creating tenants is set to Yes | High | Enabled-Not Ok | SP v1.0 | NO |
|
Done | Ensure a dynamic group for guest users is created | High | Custom banned passwords setting is disabled. | SP v1.0 | NO |
|
Done | Ensure Microsoft Authenticator is configured to protect against MFA fatigue | High | Microsoft Authenticator is disabled. | SP v1.0 | NO |
|
Done | Enable Azure AD Identity Protection user risk policies | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure the admin consent workflow is enabled | High | WARNING: Not Enabled for Graph App | SP v1.0 | NO |
|
Done | Ensure Microsoft Azure Management is limited to administrative roles | High | No Policy Found | SP v1.0 | NO |
|
Done | Ensure LinkedIn account connections is disabled | High | Enabled | SP v1.0 | NO |
|
Done | Ensure Sign-in frequency is enabled and browser sessions are not persistent for Administrative users | High | Disabled | SP v1.0 | NO |
|
Done | Enable Conditional Access policies to block legacy authentication | High | SP v1.0 | NO |
||
Done | Ensure Self service password reset enabled is set to All | High | SP v1.0 | NO |
||
Done | Enable Azure AD Identity Protection sign-in risk policies | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure multifactor authentication is enabled for all users in administrative roles | High | SP v1.0 | NO |
||
Done | Ensure multifactor authentication is enabled for all users | High | Multifactor Authentication is not enabled for all users | SP v1.0 | NO |
|
Done | Ensure Azure Pass Through Authentication is Enabled | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure the Password expiration policy is set to Set passwords to never expire | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure multifactor authentication is enabled for all users | High | Multifactor Authentication is not enabled for all users | SP v1.0 | NO |
|
Done | Ensure multifactor authentication is enabled for all users in administrative roles | High | SP v1.0 | NO |
||
Done | Use least privileged administrative roles | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure to Designate more than one global admin | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure Security Defaults is enabled on Microsoft Entra ID | High | Security Defaults Disabled | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Trusted Locations Are Defined | High | Trusted Location Not Defined | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that an exclusionary Geographic Access Policy is considered | High | No exclusionary Geographic Access Policy is Found | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that A Multi-factor Authentication Policy Exists for All Users | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Restrict non-admin users from creating tenants is set to Yes | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Guest Users Are Reviewed on a Regular Basis | High | Guest Users Found | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Guest users access restrictions is set to Guest user access is restricted to properties and memberships of their own directory objects | High | Guest user access is not restricted | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Restrict access to Microsoft Entra admin center is Set to Yes | High | No Policy Found | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Restrict user ability to access groups features in the Access Pane is Set to Yes | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure a Custom Role is Assigned Permissions for Administering Resource Locks | High | No Custom Role found to manage Resource Locks | Level 1 | CIS v2.1.0 | NO |
Done | Ensure fewer than 5 users have global administrator assignment | High | 3 | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Servers Is Set to On | High | Microsoft Defendor for Virtual Machines is not configured or set to Off | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for App Services Is Set To On | High | Microsoft Defendor for App Services is not configured or set to Off | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for -Managed Instance- Azure SQL Databases Is Set To On | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for SQL Servers on Machines Is Set To On | High | Microsoft Defender for SQL Servers on Machines Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Open-Source Relational Databases Is Set To On | High | Microsoft Defender for Open-Source Relational Databases Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Azure Cosmos DB Is Set To On | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Storage Is Set To On | High | Microsoft Defender for Storage Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Containers Is Set To On | High | Microsoft Defender for Containers Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Key Vault Is Set To On | High | Microsoft Defender for Key Vault Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for DNS Is Set To On | High | Microsoft Defender for DNS Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Resource Manager Is Set To On | High | Microsoft Defender for Resource Manager Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Auto provisioning of Log Analytics agent for Azure VMs is Set to On | High | Not Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Auto provisioning of Vulnerability assessment for machines is Set to On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Auto provisioning of Microsoft Defender for Containers components is Set to On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Microsoft Defender for Cloud Apps integration with Microsoft Defender for Cloud is Selected | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for IoT Hub Is Set To On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Enable key rotation reminders is enabled for each Storage Account | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Storage Account Access Keys are Periodically Regenerated | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage Logging is Enabled for Queue Service for Read Write and Delete requests | High | Not Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Public Network Access is Disabled for storage accounts | High | Disabled | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Default Network Access Rule for Storage Accounts is Set to Deny | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Private Endpoints are used to access Storage Accounts | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage for Critical Data are Encrypted with Customer Managed Keys -CMK- | High | Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage logging is Enabled for Blob Service for Read Write and Delete requests | High | Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage Logging is Enabled for Table Service for Read Write and Delete Requests | High | Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that a Diagnostic Setting exists for Subscription Activity Logs | High | Diagnostic setting does not exist | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Diagnostic Setting captures appropriate categories | High | Not Enabled or Not Captured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create Policy Assignment | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Policy Assignment | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update Network Security Group | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Network Security Group | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update Security Solution | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Security Solution | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update SQL Server Firewall Rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete SQL Server Firewall Rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update Public IP Address rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Public IP Address rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Application Insights are Configured | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Azure Monitor Resource Logging is Enabled for All Services that Support it | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Public IP addresses are Evaluated on a Periodic Basis | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure an Azure Bastion Host Exists | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Associated Load Balancers are configured | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Just-In-Time Access for Virtual Machines is enabled | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Web App Redirects All HTTP traffic to HTTPS in Azure App Service | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Register with Entra ID is enabled on App Service | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That PHP version is the Latest If Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Python version is the Latest Stable Version if Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that HTTP Version is the Latest if Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Resource Locks are set for Mission-Critical Azure Resources | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Privileged Identity Management is used to manage roles | Medium | Permanent active role assignments found. | SP v1.0 | NO |
|
Done | Ensure user consent to apps accessing company data on their behalf is not allowed | Medium | Allowed | SP v1.0 | NO |
|
Done | Ensure User consent for applications is set to Do not allow user consent | Medium | Allowed | Level 1 | CIS v2.1.0 | NO |
Done | Ensure User consent for applications Is Set To Allow for Verified Publishers | Medium | Allowed | Level 1 | CIS v2.1.0 | NO |
Done | Ensure more than one Subscription Owners are assigned | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Tags are configured on the Resources | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure to remove Custom Owner Roles from Subscriptions | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no Subscription Administrator Custom Role are not configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure On-Prem AD Users are not Privileged Users in Azure Entra ID | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Azure Guests cannot invite other Guests | Passed | Guests can Invite Other Guests | SP v1.0 | YES |
|
Done | Ensure non-Admins cannot register custom applications | Passed | Users can't register their Own Applications | SP v1.0 | YES |
|
Done | Ensure no Guest Accounts in Azure Privileged groups | Passed | No Guest Users in Privileged Roles | SP v1.0 | YES |
|
Done | Ensure no Guest accounts that are inactive for more than 45 days | Passed | Not Found | SP v1.0 | YES |
|
Done | Conditional Access Policy that does not require a password change from high risk users | Passed | No Conditional Access Policy for High Risk Users | SP v1.0 | YES |
|
Done | Ensure Synced AAD Users not privileged Users in Azure | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Private IP Addresses in Conditional Access policies | Passed | No Private IP Address in Conditional Access Policies | SP v1.0 | YES |
|
Done | Ensure AD privileged users are not synced to AAD | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Global Administrators | Passed | Less than 5 GA in organization | SP v1.0 | YES |
|
Done | Ensure that password hash sync is enabled for hybrid deployments | Passed | On-Premises Sync is enabled. | SP v1.0 | YES |
|
Done | Ensure Security Defaults is disabled on Azure Active Directory | Passed | Security Defaults are disabled. | SP v1.0 | YES |
|
Done | Ensure third party integrated applications are not allowed | Passed | Not Allowed | SP v1.0 | YES |
|
Done | Ensure Entra ID P1 or P2 License is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure Azure Password Hash Synchronization is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Members in each Entra ID Administrative Role | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure that Multi-Factor Auth Status is Enabled for all Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Multi-Factor Auth Status is Enabled for all Non-Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Multi-factor Authentication is Required for Risky Sign-ins | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Users Can Register Applications Is Set to No | Passed | Not Allowed | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That No Custom Subscription Administrator Roles Exist | Passed | Level 1 | CIS v2.1.0 | YES |
|
Done | Ensure that Microsoft Defender for Endpoint integration with Microsoft Defender for Cloud is selected | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Secure transfer required is set to Enabled | Passed | Enabled for all Storage Accounts | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Enable Infrastructure Encryption for Each Storage Account in Azure Storage is Set to enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Allow Azure services on the trusted services list to access this storage account is Enabled for Storage Account Access | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Soft Delete is Enabled for Azure Containers and Blob Storage | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the Minimum TLS version for storage accounts is set to Version 1.2 | Passed | Not Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Cross Tenant Replication is not enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Allow Blob Anonymous Access is set to Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Auditing is set to On | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure no Azure SQL Databases allow ingress from 0.0.0.0_0 -ANY IP- | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure SQL servers Transparent Data Encryption -TDE- protector is encrypted with Customer-managed key | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Microsoft Entra authentication is Configured for SQL Servers | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Data encryption is set to On on a SQL Database | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Auditing Retention is greater than 90 days | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Enforce SSL connection is set to ENABLED for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Server Parameter log_checkpoints is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter log_connections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter log_disconnections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter connection_throttling is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Server Parameter log_retention_days is greater than 3 days for PostgreSQL Database Server | Passed | Log Retention configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Allow access to Azure services for PostgreSQL Database Server is disabled | Passed | Disabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Infrastructure double encryption for PostgreSQL Database Server is Enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Enforce SSL connection is set to Enabled for Standard MySQL Database Server | Passed | Enforce SSL is set | Level 1 | CIS v2.1.0 | YES |
Done | Ensure TLS Version is set to TLSV1.2 -or higher- for MySQL flexible Database Server | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter audit_log_enabled is set to ON for MySQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter audit_log_events has CONNECTION set for MySQL Database Server | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure to Enable In-Transit Encryption for MySQL Servers | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure That Firewalls-Networks Is Limited to Use Selected Networks Instead of All Networks | Passed | Selected Networks Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Private Endpoints Are Used Where Possible | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Use Entra ID Client Authentication and Azure RBAC where possible | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key -CMK- | Passed | Encrypted with a Customer Managed Key | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that logging for Azure Key Vault is Enabled | Passed | Logging for Azure Key Vault is enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Security Group Flow logs are captured and sent to Log Analytics | Passed | Captured and Sent to Log Analytics | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that logging for Azure AppService HTTP logs is enabled | Passed | AppServiceHTTPLogs is Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that SKU Basic_Consumption is not used on artifacts that need to be monitored -Particularly for Production Workloads- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that RDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that SSH access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that UDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that HTTP-S- access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Security Group Flow Log retention period is greater than 90 days | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Watcher is Enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Virtual Machines are utilizing Managed Disks | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that OS and Data disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Unattached disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Only Approved Extensions Are Installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Endpoint Protection for all Virtual Machines is installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | [Legacy] Ensure that VHDs are Encrypted | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure only MFA enabled identities can access privileged Virtual Machine | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Trusted Launch is enabled on Virtual Machines | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Approved Azure Machine Image in Use | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Non-Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Desired VM SKU Size are configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Scale Sets are not empty | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machines are configured with SSH Authentication Type | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Sufficient Daily Backup Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Sufficient Instant Restore Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Unused Load Balancers are identified to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Zone-Redundant Virtual Machine Scale Sets are present | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Premium SSD are disabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Accelerated Networking for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Auto-Shutdown of Virtual Machine is enabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Automatic Instance Repairs is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Automatic OS Upgrades is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Guest-Level Diagnostics for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Instance Termination Notifications for Virtual Machine Scale Sets is configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Performance Diagnostics for Azure Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure System-Assigned Managed Identities are enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Boot Diagnostics is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Health Monitoring is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Old Virtual Machine Disk Snapshots are removed | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Unattached Virtual Machine Disk Volumes are removed from Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure BYOK for Disk Volumes Encryption is used | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Enable Virtual Machine Access using Microsoft Entra ID Authentication | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure that the Expiration Date is set for all Keys in RBAC Key Vaults | Passed | Level 1 | CIS v2.1.0 | YES |
|
Done | Ensure that the Expiration Date is set for all Keys in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Secrets in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the Key Vault is Recoverable | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Enable Role Based Access Control for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Private Endpoints are Used for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Automatic Key Rotation is Enabled Within Azure Key Vault for the Supported Services | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure App Service Authentication is set up for apps in Azure App Service | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Web App is using the latest version of TLS encryption | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Java version is the latest if used to run the Web App | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure FTP deployments are Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Azure Key Vaults are Used to Store Secrets | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that your Microsoft Azure functions are using access keys | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure that your Azure functions are using the latest runtime version of the function host | Passed | Configured Correctly | SP v1.0 | YES |
|
Ensure Basic and Consumption SKU Should are not be Used in Production | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Not Allowed Resource Types Policy Assignment is in Use | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Resource Locking Administrator Role is configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure privileged accounts have MFA Configured | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access policy with Continuous Access Evaluation disabled | Manual Check | NONE | SP v1.0 | NO |
||
Ensure user are configured with MFA | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access Policy that disables admin token persistence | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Guest invites not accepted in last 30 days are identified | Manual Check | NONE | SP v1.0 | NO |
||
Doable | Ensure SSO computer account with latest password | Manual Check | NONE | SP v1.0 | NO |
|
Doable | Ensure RBCD is not applied to AZUREADSSOACC account | Manual Check | NONE | SP v1.0 | NO |
|
Done | Ensure password protection is enabled for on-prem Active Directory | Manual Check | NONE | SP v1.0 | NO |
|
Ensure that Allow users to remember multi-factor authentication on devices they trust is Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Doable | Ensure that A Multi-factor Authentication Policy Exists for Administrative Groups | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
Ensure Multifactor Authentication is Required for Windows Azure Service Management API | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Multifactor Authentication is Required to access Microsoft Admin Portals | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Number of methods required to reset is set to 2 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that a Custom Bad Password List is set to Enforce for your Organization | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Number of days before users are asked to reconfirm their authentication information is not set to 0 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Notify users on password resets is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Notify all admins when other admins reset their password is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can add gallery apps to My Apps is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Guest invite restrictions is set to Only users assigned to specific admin roles can invite guest users | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can create security groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Owners can manage group membership requests in the Access Panel is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can create Microsoft 365 groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Require Multi-Factor Authentication to register or join devices with Microsoft Entra ID is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Subscription leaving Microsoft Entra ID directory and Subscription entering Microsoft Entra ID directory Is Set To Permit No One | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Defender Recommendation for Apply system updates status is Completed | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Cloud Security Benchmark policies are not set to Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That All users with the following roles is set to Owner | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Additional email addresses is Configured with a Security Contact Email | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Notify about alerts with the following severity is Set to High | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Defender External Attack Surface Monitoring -EASM- is enabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Shared Access Signature Tokens Expire Within an Hour | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Autoscale Notifications are configured for Virtual Machines | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Backups for Azure Virtual Machines are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Encryption for App-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Encryption for Web-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using the latest available version of Kubernetes software | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Microsoft Defender for Cloud is enabled for AKS clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Kubernetes Role-Based Access Control is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using the latest version of Kubernetes API | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that public access to Kubernetes API server is restricted | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure Container Networking Interface (CNI) add-on is used for managing network resources | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure CNI networking mode is configured for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Microsoft Entra ID integration is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are configured to use the Network Contributor role | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure Kubernetes clusters are using a private Key Vault for secret data encryption | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Azure functions are not configured with admin privileges | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Microsoft Azure functions are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Virtual Network integration is enabled for your Azure Function Apps | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Microsoft Azure functions are not publicly accessible | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure functions are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure functions are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that user sign-in with Microsoft Entra ID is enabled for Azure API Management Developer Portal | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management API gateways do not use weak cipher suites | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management API gateways do not use deprecated TLS protocols | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services with private endpoints are not publicly exposed | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are configured to enforce built-in response caching | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that resource logs are enabled for Azure API Management API services | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that HTTP-2 support is enabled within Microsoft Azure API Management | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are configured to enforce HTTPS for API calls | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that named values are encrypted to prevent the exposure of secrets in Azure API Management | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are configured to use client certificates | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that no Azure API Management API allows unrestricted access | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
CIS Assessment Status Table
Assessment Table satus contains status for CIS Benchmark Tests.
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Security Defaults is enabled on Microsoft Entra ID | High | Security Defaults Disabled | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Trusted Locations Are Defined | High | Trusted Location Not Defined | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that an exclusionary Geographic Access Policy is considered | High | No exclusionary Geographic Access Policy is Found | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that A Multi-factor Authentication Policy Exists for All Users | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Restrict non-admin users from creating tenants is set to Yes | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Guest Users Are Reviewed on a Regular Basis | High | Guest Users Found | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Guest users access restrictions is set to Guest user access is restricted to properties and memberships of their own directory objects | High | Guest user access is not restricted | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Restrict access to Microsoft Entra admin center is Set to Yes | High | No Policy Found | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Restrict user ability to access groups features in the Access Pane is Set to Yes | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure a Custom Role is Assigned Permissions for Administering Resource Locks | High | No Custom Role found to manage Resource Locks | Level 1 | CIS v2.1.0 | NO |
Done | Ensure fewer than 5 users have global administrator assignment | High | 3 | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Servers Is Set to On | High | Microsoft Defendor for Virtual Machines is not configured or set to Off | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for App Services Is Set To On | High | Microsoft Defendor for App Services is not configured or set to Off | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for -Managed Instance- Azure SQL Databases Is Set To On | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for SQL Servers on Machines Is Set To On | High | Microsoft Defender for SQL Servers on Machines Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Open-Source Relational Databases Is Set To On | High | Microsoft Defender for Open-Source Relational Databases Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Azure Cosmos DB Is Set To On | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Storage Is Set To On | High | Microsoft Defender for Storage Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Containers Is Set To On | High | Microsoft Defender for Containers Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Key Vault Is Set To On | High | Microsoft Defender for Key Vault Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for DNS Is Set To On | High | Microsoft Defender for DNS Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for Resource Manager Is Set To On | High | Microsoft Defender for Resource Manager Is Set To Off or is not configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Auto provisioning of Log Analytics agent for Azure VMs is Set to On | High | Not Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Auto provisioning of Vulnerability assessment for machines is Set to On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Auto provisioning of Microsoft Defender for Containers components is Set to On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Microsoft Defender for Cloud Apps integration with Microsoft Defender for Cloud is Selected | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That Microsoft Defender for IoT Hub Is Set To On | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Enable key rotation reminders is enabled for each Storage Account | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Storage Account Access Keys are Periodically Regenerated | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage Logging is Enabled for Queue Service for Read Write and Delete requests | High | Not Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Public Network Access is Disabled for storage accounts | High | Disabled | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Default Network Access Rule for Storage Accounts is Set to Deny | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Private Endpoints are used to access Storage Accounts | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage for Critical Data are Encrypted with Customer Managed Keys -CMK- | High | Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage logging is Enabled for Blob Service for Read Write and Delete requests | High | Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Storage Logging is Enabled for Table Service for Read Write and Delete Requests | High | Configured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that a Diagnostic Setting exists for Subscription Activity Logs | High | Diagnostic setting does not exist | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Diagnostic Setting captures appropriate categories | High | Not Enabled or Not Captured | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create Policy Assignment | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Policy Assignment | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update Network Security Group | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Network Security Group | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update Security Solution | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Security Solution | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update SQL Server Firewall Rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete SQL Server Firewall Rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Create or Update Public IP Address rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Activity Log Alert exists for Delete Public IP Address rule | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Application Insights are Configured | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Azure Monitor Resource Logging is Enabled for All Services that Support it | High | Not Configured Correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Public IP addresses are Evaluated on a Periodic Basis | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure an Azure Bastion Host Exists | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure Web App Redirects All HTTP traffic to HTTPS in Azure App Service | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Register with Entra ID is enabled on App Service | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure That PHP version is the Latest If Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Python version is the Latest Stable Version if Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that HTTP Version is the Latest if Used to Run the Web App | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Resource Locks are set for Mission-Critical Azure Resources | High | Not Configured correctly | Level 1 | CIS v2.1.0 | NO |
Done | Ensure User consent for applications is set to Do not allow user consent | Medium | Allowed | Level 1 | CIS v2.1.0 | NO |
Done | Ensure User consent for applications Is Set To Allow for Verified Publishers | Medium | Allowed | Level 1 | CIS v2.1.0 | NO |
Done | Ensure that Multi-Factor Auth Status is Enabled for all Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Multi-Factor Auth Status is Enabled for all Non-Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Multi-factor Authentication is Required for Risky Sign-ins | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Users Can Register Applications Is Set to No | Passed | Not Allowed | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That No Custom Subscription Administrator Roles Exist | Passed | Level 1 | CIS v2.1.0 | YES |
|
Done | Ensure that Microsoft Defender for Endpoint integration with Microsoft Defender for Cloud is selected | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Secure transfer required is set to Enabled | Passed | Enabled for all Storage Accounts | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Enable Infrastructure Encryption for Each Storage Account in Azure Storage is Set to enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Allow Azure services on the trusted services list to access this storage account is Enabled for Storage Account Access | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Soft Delete is Enabled for Azure Containers and Blob Storage | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the Minimum TLS version for storage accounts is set to Version 1.2 | Passed | Not Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Cross Tenant Replication is not enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Allow Blob Anonymous Access is set to Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Auditing is set to On | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure no Azure SQL Databases allow ingress from 0.0.0.0_0 -ANY IP- | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure SQL servers Transparent Data Encryption -TDE- protector is encrypted with Customer-managed key | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Microsoft Entra authentication is Configured for SQL Servers | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Data encryption is set to On on a SQL Database | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Auditing Retention is greater than 90 days | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Enforce SSL connection is set to ENABLED for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Server Parameter log_checkpoints is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter log_connections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter log_disconnections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter connection_throttling is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Server Parameter log_retention_days is greater than 3 days for PostgreSQL Database Server | Passed | Log Retention configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Allow access to Azure services for PostgreSQL Database Server is disabled | Passed | Disabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Infrastructure double encryption for PostgreSQL Database Server is Enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Enforce SSL connection is set to Enabled for Standard MySQL Database Server | Passed | Enforce SSL is set | Level 1 | CIS v2.1.0 | YES |
Done | Ensure TLS Version is set to TLSV1.2 -or higher- for MySQL flexible Database Server | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter audit_log_enabled is set to ON for MySQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter audit_log_events has CONNECTION set for MySQL Database Server | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Firewalls-Networks Is Limited to Use Selected Networks Instead of All Networks | Passed | Selected Networks Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Private Endpoints Are Used Where Possible | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Use Entra ID Client Authentication and Azure RBAC where possible | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key -CMK- | Passed | Encrypted with a Customer Managed Key | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that logging for Azure Key Vault is Enabled | Passed | Logging for Azure Key Vault is enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Security Group Flow logs are captured and sent to Log Analytics | Passed | Captured and Sent to Log Analytics | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that logging for Azure AppService HTTP logs is enabled | Passed | AppServiceHTTPLogs is Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that SKU Basic_Consumption is not used on artifacts that need to be monitored -Particularly for Production Workloads- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that RDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that SSH access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that UDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that HTTP-S- access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Security Group Flow Log retention period is greater than 90 days | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Watcher is Enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Virtual Machines are utilizing Managed Disks | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that OS and Data disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Unattached disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Only Approved Extensions Are Installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Endpoint Protection for all Virtual Machines is installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | [Legacy] Ensure that VHDs are Encrypted | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure only MFA enabled identities can access privileged Virtual Machine | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Trusted Launch is enabled on Virtual Machines | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Keys in RBAC Key Vaults | Passed | Level 1 | CIS v2.1.0 | YES |
|
Done | Ensure that the Expiration Date is set for all Keys in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Secrets in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the Key Vault is Recoverable | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Enable Role Based Access Control for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Private Endpoints are Used for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Automatic Key Rotation is Enabled Within Azure Key Vault for the Supported Services | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure App Service Authentication is set up for apps in Azure App Service | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Web App is using the latest version of TLS encryption | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Java version is the latest if used to run the Web App | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure FTP deployments are Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Azure Key Vaults are Used to Store Secrets | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Ensure that Allow users to remember multi-factor authentication on devices they trust is Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Doable | Ensure that A Multi-factor Authentication Policy Exists for Administrative Groups | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
Ensure Multifactor Authentication is Required for Windows Azure Service Management API | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Multifactor Authentication is Required to access Microsoft Admin Portals | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Number of methods required to reset is set to 2 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that a Custom Bad Password List is set to Enforce for your Organization | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Number of days before users are asked to reconfirm their authentication information is not set to 0 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Notify users on password resets is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Notify all admins when other admins reset their password is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can add gallery apps to My Apps is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Guest invite restrictions is set to Only users assigned to specific admin roles can invite guest users | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can create security groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Owners can manage group membership requests in the Access Panel is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can create Microsoft 365 groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Require Multi-Factor Authentication to register or join devices with Microsoft Entra ID is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Subscription leaving Microsoft Entra ID directory and Subscription entering Microsoft Entra ID directory Is Set To Permit No One | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Defender Recommendation for Apply system updates status is Completed | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Cloud Security Benchmark policies are not set to Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That All users with the following roles is set to Owner | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Additional email addresses is Configured with a Security Contact Email | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Notify about alerts with the following severity is Set to High | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Defender External Attack Surface Monitoring -EASM- is enabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Shared Access Signature Tokens Expire Within an Hour | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
SmartProfiler Assessment Tests Status Table
Assessment Table satus contains status for SmartProfiler Tests.
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure Azure Cloud Budget Alerts are configured | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Azure Administrative Units are used | High | Not Defined | SP v1.0 | NO |
|
Done | Ensure Security Defaults is enabled | High | Disabled | SP v1.0 | NO |
|
Done | Ensure Normal Azure Users do not have Permissions to provide unrestricted user Consent | High | Allowed: Full | SP v1.0 | NO |
|
Done | Ensure Conditional Access Policy with signin user-risk location as Factor | High | No Conditional Access Policy found with Sign-in risk | SP v1.0 | NO |
|
Done | AAD Connect sync account password reset | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Guest users are restricted | High | Restricted but can see membership of all non-hidden groups | SP v1.0 | NO |
|
Done | Conditional Access Policy that does not require MFA when sign-in risk has been identified | High | No Conditional Access Policy found. | SP v1.0 | NO |
|
Done | Ensure Number Matching enabled in MFA | High | Number Matching Not Enabled | SP v1.0 | NO |
|
Done | Ensure Policy exists to restrict non-administrator access to Azure Active Directory or Entra | High | No Policy Found | SP v1.0 | NO |
|
Done | Ensure Phishing-resistant MFA strength is required for Administrators | High | Phishing-resistant MFA policy is not configured for administrators | SP v1.0 | NO |
|
Done | Ensure custom banned passwords lists are used | High | Custom banned passwords setting is disabled. | SP v1.0 | NO |
|
Done | Ensure Restrict non-admin users from creating tenants is set to Yes | High | Enabled-Not Ok | SP v1.0 | NO |
|
Done | Ensure a dynamic group for guest users is created | High | Custom banned passwords setting is disabled. | SP v1.0 | NO |
|
Done | Ensure Microsoft Authenticator is configured to protect against MFA fatigue | High | Microsoft Authenticator is disabled. | SP v1.0 | NO |
|
Done | Enable Azure AD Identity Protection user risk policies | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure the admin consent workflow is enabled | High | WARNING: Not Enabled for Graph App | SP v1.0 | NO |
|
Done | Ensure Microsoft Azure Management is limited to administrative roles | High | No Policy Found | SP v1.0 | NO |
|
Done | Ensure LinkedIn account connections is disabled | High | Enabled | SP v1.0 | NO |
|
Done | Ensure Sign-in frequency is enabled and browser sessions are not persistent for Administrative users | High | Disabled | SP v1.0 | NO |
|
Done | Enable Conditional Access policies to block legacy authentication | High | SP v1.0 | NO |
||
Done | Ensure Self service password reset enabled is set to All | High | SP v1.0 | NO |
||
Done | Enable Azure AD Identity Protection sign-in risk policies | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure multifactor authentication is enabled for all users in administrative roles | High | SP v1.0 | NO |
||
Done | Ensure multifactor authentication is enabled for all users | High | Multifactor Authentication is not enabled for all users | SP v1.0 | NO |
|
Done | Ensure Azure Pass Through Authentication is Enabled | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure the Password expiration policy is set to Set passwords to never expire | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure multifactor authentication is enabled for all users | High | Multifactor Authentication is not enabled for all users | SP v1.0 | NO |
|
Done | Ensure multifactor authentication is enabled for all users in administrative roles | High | SP v1.0 | NO |
||
Done | Use least privileged administrative roles | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure to Designate more than one global admin | High | Not Configured Correctly | SP v1.0 | NO |
|
Done | Ensure Associated Load Balancers are configured | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Just-In-Time Access for Virtual Machines is enabled | High | Not Configured correctly | SP v1.0 | NO |
|
Done | Ensure Privileged Identity Management is used to manage roles | Medium | Permanent active role assignments found. | SP v1.0 | NO |
|
Done | Ensure user consent to apps accessing company data on their behalf is not allowed | Medium | Allowed | SP v1.0 | NO |
|
Done | Ensure more than one Subscription Owners are assigned | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Tags are configured on the Resources | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure to remove Custom Owner Roles from Subscriptions | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no Subscription Administrator Custom Role are not configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure On-Prem AD Users are not Privileged Users in Azure Entra ID | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Azure Guests cannot invite other Guests | Passed | Guests can Invite Other Guests | SP v1.0 | YES |
|
Done | Ensure non-Admins cannot register custom applications | Passed | Users can't register their Own Applications | SP v1.0 | YES |
|
Done | Ensure no Guest Accounts in Azure Privileged groups | Passed | No Guest Users in Privileged Roles | SP v1.0 | YES |
|
Done | Ensure no Guest accounts that are inactive for more than 45 days | Passed | Not Found | SP v1.0 | YES |
|
Done | Conditional Access Policy that does not require a password change from high risk users | Passed | No Conditional Access Policy for High Risk Users | SP v1.0 | YES |
|
Done | Ensure Synced AAD Users not privileged Users in Azure | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Private IP Addresses in Conditional Access policies | Passed | No Private IP Address in Conditional Access Policies | SP v1.0 | YES |
|
Done | Ensure AD privileged users are not synced to AAD | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Global Administrators | Passed | Less than 5 GA in organization | SP v1.0 | YES |
|
Done | Ensure that password hash sync is enabled for hybrid deployments | Passed | On-Premises Sync is enabled. | SP v1.0 | YES |
|
Done | Ensure Security Defaults is disabled on Azure Active Directory | Passed | Security Defaults are disabled. | SP v1.0 | YES |
|
Done | Ensure third party integrated applications are not allowed | Passed | Not Allowed | SP v1.0 | YES |
|
Done | Ensure Entra ID P1 or P2 License is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure Azure Password Hash Synchronization is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Members in each Entra ID Administrative Role | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure to Enable In-Transit Encryption for MySQL Servers | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Approved Azure Machine Image in Use | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Non-Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Desired VM SKU Size are configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Scale Sets are not empty | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machines are configured with SSH Authentication Type | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Sufficient Daily Backup Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Sufficient Instant Restore Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Unused Load Balancers are identified to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Zone-Redundant Virtual Machine Scale Sets are present | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Premium SSD are disabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Accelerated Networking for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Auto-Shutdown of Virtual Machine is enabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Automatic Instance Repairs is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Automatic OS Upgrades is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Guest-Level Diagnostics for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Instance Termination Notifications for Virtual Machine Scale Sets is configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Performance Diagnostics for Azure Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure System-Assigned Managed Identities are enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Boot Diagnostics is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Health Monitoring is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Old Virtual Machine Disk Snapshots are removed | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Unattached Virtual Machine Disk Volumes are removed from Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure BYOK for Disk Volumes Encryption is used | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Enable Virtual Machine Access using Microsoft Entra ID Authentication | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure that your Microsoft Azure functions are using access keys | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure that your Azure functions are using the latest runtime version of the function host | Passed | Configured Correctly | SP v1.0 | YES |
|
Ensure Basic and Consumption SKU Should are not be Used in Production | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Not Allowed Resource Types Policy Assignment is in Use | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Resource Locking Administrator Role is configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure privileged accounts have MFA Configured | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access policy with Continuous Access Evaluation disabled | Manual Check | NONE | SP v1.0 | NO |
||
Ensure user are configured with MFA | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access Policy that disables admin token persistence | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Guest invites not accepted in last 30 days are identified | Manual Check | NONE | SP v1.0 | NO |
||
Doable | Ensure SSO computer account with latest password | Manual Check | NONE | SP v1.0 | NO |
|
Doable | Ensure RBCD is not applied to AZUREADSSOACC account | Manual Check | NONE | SP v1.0 | NO |
|
Done | Ensure password protection is enabled for on-prem Active Directory | Manual Check | NONE | SP v1.0 | NO |
|
Ensure Autoscale Notifications are configured for Virtual Machines | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Backups for Azure Virtual Machines are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Encryption for App-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Encryption for Web-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using the latest available version of Kubernetes software | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Microsoft Defender for Cloud is enabled for AKS clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Kubernetes Role-Based Access Control is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using the latest version of Kubernetes API | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that public access to Kubernetes API server is restricted | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure Container Networking Interface (CNI) add-on is used for managing network resources | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure CNI networking mode is configured for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Microsoft Entra ID integration is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are configured to use the Network Contributor role | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure Kubernetes clusters are using a private Key Vault for secret data encryption | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Azure functions are not configured with admin privileges | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Microsoft Azure functions are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Virtual Network integration is enabled for your Azure Function Apps | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Microsoft Azure functions are not publicly accessible | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure functions are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure functions are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that user sign-in with Microsoft Entra ID is enabled for Azure API Management Developer Portal | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management API gateways do not use weak cipher suites | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management API gateways do not use deprecated TLS protocols | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services with private endpoints are not publicly exposed | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are configured to enforce built-in response caching | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that resource logs are enabled for Azure API Management API services | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that HTTP-2 support is enabled within Microsoft Azure API Management | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are configured to enforce HTTPS for API calls | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that named values are encrypted to prevent the exposure of secrets in Azure API Management | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are configured to use client certificates | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that no Azure API Management API allows unrestricted access | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
All Manual Checks Table
Contains Manual Checks for both CIS Benchmark and SmartProfiler Tests.
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Ensure Basic and Consumption SKU Should are not be Used in Production | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Not Allowed Resource Types Policy Assignment is in Use | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Resource Locking Administrator Role is configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure privileged accounts have MFA Configured | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access policy with Continuous Access Evaluation disabled | Manual Check | NONE | SP v1.0 | NO |
||
Ensure user are configured with MFA | Manual Check | NONE | SP v1.0 | NO |
||
Conditional Access Policy that disables admin token persistence | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Guest invites not accepted in last 30 days are identified | Manual Check | NONE | SP v1.0 | NO |
||
Doable | Ensure SSO computer account with latest password | Manual Check | NONE | SP v1.0 | NO |
|
Doable | Ensure RBCD is not applied to AZUREADSSOACC account | Manual Check | NONE | SP v1.0 | NO |
|
Done | Ensure password protection is enabled for on-prem Active Directory | Manual Check | NONE | SP v1.0 | NO |
|
Ensure that Allow users to remember multi-factor authentication on devices they trust is Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Doable | Ensure that A Multi-factor Authentication Policy Exists for Administrative Groups | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
Ensure Multifactor Authentication is Required for Windows Azure Service Management API | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Multifactor Authentication is Required to access Microsoft Admin Portals | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Number of methods required to reset is set to 2 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that a Custom Bad Password List is set to Enforce for your Organization | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Number of days before users are asked to reconfirm their authentication information is not set to 0 | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Notify users on password resets is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Notify all admins when other admins reset their password is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can add gallery apps to My Apps is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Guest invite restrictions is set to Only users assigned to specific admin roles can invite guest users | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can create security groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Owners can manage group membership requests in the Access Panel is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Users can create Microsoft 365 groups in Azure portals API or PowerShell is set to No | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Require Multi-Factor Authentication to register or join devices with Microsoft Entra ID is set to Yes | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Subscription leaving Microsoft Entra ID directory and Subscription entering Microsoft Entra ID directory Is Set To Permit No One | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Defender Recommendation for Apply system updates status is Completed | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Cloud Security Benchmark policies are not set to Disabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That All users with the following roles is set to Owner | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Additional email addresses is Configured with a Security Contact Email | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure That Notify about alerts with the following severity is Set to High | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Microsoft Defender External Attack Surface Monitoring -EASM- is enabled | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure that Shared Access Signature Tokens Expire Within an Hour | Manual Check | NONE | Level 1 | CIS v2.1.0 | NO |
|
Ensure Autoscale Notifications are configured for Virtual Machines | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Backups for Azure Virtual Machines are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Encryption for App-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure Encryption for Web-Tier Disk Volumes are configured | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using the latest available version of Kubernetes software | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Microsoft Defender for Cloud is enabled for AKS clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Kubernetes Role-Based Access Control is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using the latest version of Kubernetes API | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that public access to Kubernetes API server is restricted | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure Container Networking Interface (CNI) add-on is used for managing network resources | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure CNI networking mode is configured for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Microsoft Entra ID integration is enabled for Azure Kubernetes clusters | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are configured to use the Network Contributor role | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure Kubernetes clusters are using a private Key Vault for secret data encryption | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that AKS clusters are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Azure functions are not configured with admin privileges | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Microsoft Azure functions are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Virtual Network integration is enabled for your Azure Function Apps | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that your Microsoft Azure functions are not publicly accessible | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure functions are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure functions are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that user sign-in with Microsoft Entra ID is enabled for Azure API Management Developer Portal | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management API gateways do not use weak cipher suites | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management API gateways do not use deprecated TLS protocols | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services with private endpoints are not publicly exposed | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are configured to enforce built-in response caching | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are using Application Insights | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that resource logs are enabled for Azure API Management API services | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that HTTP-2 support is enabled within Microsoft Azure API Management | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management APIs are configured to enforce HTTPS for API calls | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that named values are encrypted to prevent the exposure of secrets in Azure API Management | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are configured to use client certificates | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that no Azure API Management API allows unrestricted access | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are using system-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
||
Ensure that Azure API Management services are using user-assigned managed identities | Manual Check | NONE | SP v1.0 | NO |
All Passed Checks Table
Contains Passed Checks for both CIS Benchmark and SmartProfiler Tests.
CIS Section | Test | Severity | Items | CIS Profile | Control Type | Configured Correctly? |
Done | Ensure more than one Subscription Owners are assigned | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Tags are configured on the Resources | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure to remove Custom Owner Roles from Subscriptions | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no Subscription Administrator Custom Role are not configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure On-Prem AD Users are not Privileged Users in Azure Entra ID | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Azure Guests cannot invite other Guests | Passed | Guests can Invite Other Guests | SP v1.0 | YES |
|
Done | Ensure non-Admins cannot register custom applications | Passed | Users can't register their Own Applications | SP v1.0 | YES |
|
Done | Ensure no Guest Accounts in Azure Privileged groups | Passed | No Guest Users in Privileged Roles | SP v1.0 | YES |
|
Done | Ensure no Guest accounts that are inactive for more than 45 days | Passed | Not Found | SP v1.0 | YES |
|
Done | Conditional Access Policy that does not require a password change from high risk users | Passed | No Conditional Access Policy for High Risk Users | SP v1.0 | YES |
|
Done | Ensure Synced AAD Users not privileged Users in Azure | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Private IP Addresses in Conditional Access policies | Passed | No Private IP Address in Conditional Access Policies | SP v1.0 | YES |
|
Done | Ensure AD privileged users are not synced to AAD | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Global Administrators | Passed | Less than 5 GA in organization | SP v1.0 | YES |
|
Done | Ensure that password hash sync is enabled for hybrid deployments | Passed | On-Premises Sync is enabled. | SP v1.0 | YES |
|
Done | Ensure Security Defaults is disabled on Azure Active Directory | Passed | Security Defaults are disabled. | SP v1.0 | YES |
|
Done | Ensure third party integrated applications are not allowed | Passed | Not Allowed | SP v1.0 | YES |
|
Done | Ensure Entra ID P1 or P2 License is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure Azure Password Hash Synchronization is Enabled | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure no more than 5 Members in each Entra ID Administrative Role | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure that Multi-Factor Auth Status is Enabled for all Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Multi-Factor Auth Status is Enabled for all Non-Privileged Users | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Multi-factor Authentication is Required for Risky Sign-ins | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Users Can Register Applications Is Set to No | Passed | Not Allowed | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That No Custom Subscription Administrator Roles Exist | Passed | Level 1 | CIS v2.1.0 | YES |
|
Done | Ensure that Microsoft Defender for Endpoint integration with Microsoft Defender for Cloud is selected | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Secure transfer required is set to Enabled | Passed | Enabled for all Storage Accounts | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Enable Infrastructure Encryption for Each Storage Account in Azure Storage is Set to enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Allow Azure services on the trusted services list to access this storage account is Enabled for Storage Account Access | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Soft Delete is Enabled for Azure Containers and Blob Storage | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the Minimum TLS version for storage accounts is set to Version 1.2 | Passed | Not Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Cross Tenant Replication is not enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Allow Blob Anonymous Access is set to Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Auditing is set to On | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure no Azure SQL Databases allow ingress from 0.0.0.0_0 -ANY IP- | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure SQL servers Transparent Data Encryption -TDE- protector is encrypted with Customer-managed key | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Microsoft Entra authentication is Configured for SQL Servers | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Data encryption is set to On on a SQL Database | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Auditing Retention is greater than 90 days | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Enforce SSL connection is set to ENABLED for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Server Parameter log_checkpoints is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter log_connections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter log_disconnections is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter connection_throttling is set to ON for PostgreSQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Server Parameter log_retention_days is greater than 3 days for PostgreSQL Database Server | Passed | Log Retention configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Allow access to Azure services for PostgreSQL Database Server is disabled | Passed | Disabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Infrastructure double encryption for PostgreSQL Database Server is Enabled | Passed | Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Enforce SSL connection is set to Enabled for Standard MySQL Database Server | Passed | Enforce SSL is set | Level 1 | CIS v2.1.0 | YES |
Done | Ensure TLS Version is set to TLSV1.2 -or higher- for MySQL flexible Database Server | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter audit_log_enabled is set to ON for MySQL Database Server | Passed | Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure server parameter audit_log_events has CONNECTION set for MySQL Database Server | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure to Enable In-Transit Encryption for MySQL Servers | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure That Firewalls-Networks Is Limited to Use Selected Networks Instead of All Networks | Passed | Selected Networks Configured | Level 1 | CIS v2.1.0 | YES |
Done | Ensure That Private Endpoints Are Used Where Possible | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Use Entra ID Client Authentication and Azure RBAC where possible | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key -CMK- | Passed | Encrypted with a Customer Managed Key | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that logging for Azure Key Vault is Enabled | Passed | Logging for Azure Key Vault is enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Security Group Flow logs are captured and sent to Log Analytics | Passed | Captured and Sent to Log Analytics | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that logging for Azure AppService HTTP logs is enabled | Passed | AppServiceHTTPLogs is Enabled | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that SKU Basic_Consumption is not used on artifacts that need to be monitored -Particularly for Production Workloads- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that RDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that SSH access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that UDP access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that HTTP-S- access from the Internet is evaluated and restricted | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Security Group Flow Log retention period is greater than 90 days | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Network Watcher is Enabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Virtual Machines are utilizing Managed Disks | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that OS and Data disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Unattached disks are encrypted with Customer Managed Key -CMK- | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Only Approved Extensions Are Installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Endpoint Protection for all Virtual Machines is installed | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | [Legacy] Ensure that VHDs are Encrypted | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure only MFA enabled identities can access privileged Virtual Machine | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Trusted Launch is enabled on Virtual Machines | Passed | Configured Correctly | Level 1 | CIS v2.1.0 | YES |
Done | Approved Azure Machine Image in Use | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Azure Disk Encryption for Non-Boot Disk Volumes | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Desired VM SKU Size are configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Scale Sets are not empty | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machines are configured with SSH Authentication Type | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Sufficient Daily Backup Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Sufficient Instant Restore Retention Period is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure No Unused Load Balancers are identified to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Zone-Redundant Virtual Machine Scale Sets are present | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Premium SSD are disabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Accelerated Networking for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Auto-Shutdown of Virtual Machine is enabled to reduce cost | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Automatic Instance Repairs is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Automatic OS Upgrades is enabled for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Guest-Level Diagnostics for Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Instance Termination Notifications for Virtual Machine Scale Sets is configured | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Performance Diagnostics for Azure Virtual Machines is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure System-Assigned Managed Identities are enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Virtual Machine Boot Diagnostics is enabled | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Health Monitoring is configured for Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Old Virtual Machine Disk Snapshots are removed | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure Unattached Virtual Machine Disk Volumes are removed from Virtual Machines | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure BYOK for Disk Volumes Encryption is used | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Enable Virtual Machine Access using Microsoft Entra ID Authentication | Passed | Configured correctly | SP v1.0 | YES |
|
Done | Ensure that the Expiration Date is set for all Keys in RBAC Key Vaults | Passed | Level 1 | CIS v2.1.0 | YES |
|
Done | Ensure that the Expiration Date is set for all Keys in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Secrets in RBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that the Expiration Date is set for all Secrets in NonRBAC Key Vaults | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure the Key Vault is Recoverable | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Enable Role Based Access Control for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Private Endpoints are Used for Azure Key Vault | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Automatic Key Rotation is Enabled Within Azure Key Vault for the Supported Services | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure App Service Authentication is set up for apps in Azure App Service | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Web App is using the latest version of TLS encryption | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that Java version is the latest if used to run the Web App | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure FTP deployments are Disabled | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure Azure Key Vaults are Used to Store Secrets | Passed | Configured correctly | Level 1 | CIS v2.1.0 | YES |
Done | Ensure that your Microsoft Azure functions are using access keys | Passed | Configured Correctly | SP v1.0 | YES |
|
Done | Ensure that your Azure functions are using the latest runtime version of the function host | Passed | Configured Correctly | SP v1.0 | YES |
Microsoft-Assessment.com
© 2025 DynamicPacks Technologies. All rights reserved.