Skip to main content

CIS Microsoft 365 Foundations Benchmark

Overview

The tests in this section verifies that a Microsoft 365 tenant's configuration conforms to the CIS Microsoft 365 Foundations Benchmark recommendations (v4.0.0).

The CIS published material is shared for these tests as it aligns with their licensing of CC BY-NC-SA 4.0.

Connecting to Azure, Exchange and other services

In order to run all the CIS tests, you need to install and connect to the Azure and Exchange Online modules.

See the Installation guide for more information.

Tests

It is important to note that a number of the policy checks ONLY check the default policy, and not every policy. CIS 2.1.7 Test-MtCisSafeAntiPhishingPolicy is one example.

info

TBD below refers to CIS "manual" checks. It might be possible to automate these, but skipping for now to focus on automated checks. N/A below refers to review checks which cannot be automated.

Cmdlet NameCIS Recommendation ID
Test-MtCisCloudAdmin1.1.1 (L1) Ensure Administrative accounts are cloud-only
TBD1.1.2 (L1) Ensure two emergency access accounts have been defined
Test-MtCisGlobalAdminCount1.1.3 (L1) Ensure that between two and four global admins are designated
TBD1.1.4 (L1) Ensure administrative accounts use licenses with a reduced application footprint
Test-MtCis365PublicGroup1.2.1 (L2) Ensure that only organizationally managed/approved public groups exist
Test-MtCisSharedMailboxSignIn1.2.2 (L1) Ensure sign-in to shared mailboxes is blocked
Test-MtCisPasswordExpiry1.3.1 (L1) Ensure the 'Password expiration policy' is set to 'Set passwords to never expire (recommended)'
TBD1.3.2 (L1) Ensure 'Idle session timeout' is set to '3 hours (or less)' for unmanaged devices
Test-MtCisCalendarSharing1.3.3 (L2) Ensure 'External sharing' of calendars is not available
TBD (MT.1041)1.3.4 (L1) Ensure 'User owned apps and services' is restricted
TBD1.3.5 (L1) Ensure internal phishing protection for Forms is enabled
Test-MtCisCustomerLockBox1.3.6 (L2) Ensure the customer lockbox feature is enabled
TBD (MT.1040)1.3.7 (L2) Ensure 'third-party storage services' are restricted in 'Microsoft 365 on the web'
TBD1.3.8 (L2) Ensure that Sways cannot be shared with people outside of your organization
Test-MtCisSafeLink2.1.1 (L2) Ensure Safe Links for Office Applications is Enabled
Test-MtCisAttachmentFilter2.1.2 (L1) Ensure the Common Attachment Types Filter is enabled
Test-MtCisInternalMalwareNotification2.1.3 (L1) Ensure notifications for internal users sending malware is Enabled
Test-MtCisSafeAttachment2.1.4 (L2) Ensure Safe Attachments policy is enabled
Test-MtCisSafeAttachmentsAtpPolicy2.1.5 (L2) Ensure Safe Attachments for SharePoint, OneDrive, and Microsoft Teams is Enabled
Test-MtCisOutboundSpamFilterPolicy2.1.6 (L1) Ensure Exchange Online Spam Policies are set to notify administrators
Test-MtCisSafeAntiPhishingPolicy2.1.7 (L1) Ensure that an anti-phishing policy has been created
TBD2.1.8 (L1) Ensure that SPF records are published for all Exchange Domains
Test-MtCisDkim2.1.9 (L1) Ensure that DKIM is enabled for all Exchange Online Domains
TBD2.1.10 (L1) Ensure DMARC Records for all Exchange Online domains are published
Test-MtCisAttachmentFilterComprehensive
Test-MtCisHostedConnectionFilterPolicy2.1.12 (L1) Ensure the connection filter IP allow list is not used
Test-MtCisConnectionFilterSafeList2.1.13 (L1) Ensure the connection filter safe list is off
TBD2.1.14 (L1) Ensure inbound anti-spam policies do not contain allowed domains
TBD2.4.1 (L1) Ensure Priority account protection is enabled and configured
TBD2.4.2 (L1) Ensure Priority accounts have 'Strict protection' presets applied
TBD2.4.3 (L2) Ensure Microsoft Defender for Cloud Apps is enabled and configured
Test-MtCisZAP2.4.4 (L1) Ensure Zero-hour auto purge for Microsoft Teams is on
Test-MtCisAuditLogSearch3.1.1 (L1) Ensure Microsoft 365 audit log search is Enabled
TBD3.2.1 (L1) Ensure DLP policies are enabled
TBD3.2.2 (L1) Ensure DLP policies are enabled for Microsoft Teams
TBD3.3.1 (L1) Ensure SharePoint Online Information Protection policies are set up and used
TBD5.1.1.1 (L1) Ensure Security Defaults is disabled
TBD5.1.2.1 (L1) Ensure 'Per-user MFA' is disabled
TBD5.1.2.2 (L2) Ensure third party integrated applications are not allowed
TBD5.1.2.3 (L1) Ensure 'Restrict non-admin users from creating tenants' is set to 'Yes'
TBD5.1.2.4 (L1) Ensure access to the Entra admin center is restricted
TBD5.1.2.5 (L2) Ensure the option to remain signed in is hidden
TBD5.1.2.6 (L2) Ensure 'LinkedIn account connections' is disabled
TBD5.1.3.1 (L1) Ensure a dynamic group for guest users is created
TBD5.1.5.1 (L2) Ensure user consent to apps accessing company data on their behalf is not allowed
TBD5.1.5.2 (L1) Ensure the admin consent workflow is enabled
TBD5.1.6.1 (L2) Ensure that collaboration invitations are sent to allowed domains only
TBD5.1.6.2 (L1) Ensure that guest user access is restricted
TBD5.1.6.3 (L2) Ensure guest user invitations are limited to the Guest Inviter role
TBD5.1.8.1 (L1) Ensure that password hash sync is enabled for hybrid deployments
TBD5.2.2.1 (L1) Ensure multifactor authentication is enabled for all users in administrative roles
TBD5.2.2.2 (L1) Ensure multifactor authentication is enabled for all users
TBD5.2.2.3 (L1) Enable Conditional Access policies to block legacy authentication
TBD5.2.2.4 (L1) Ensure Sign-in frequency is enabled and browser sessions are not persistent for Administrative users
TBD5.2.2.5 (L2) Ensure 'Phishing-resistant MFA strength' is required for Administrators
TBD5.2.2.6 (L1) Enable Identity Protection user risk policies
TBD5.2.2.7 (L1) Enable Identity Protection sign-in risk policies
TBD5.2.2.8 (L2) Ensure admin center access is limited to administrative roles
TBD5.2.2.9 (L2) Ensure 'sign-in risk' is blocked for medium and high risk
TBD5.2.2.10 (L1) Ensure a managed device is required for authentication
TBD5.2.2.11 (L1) Ensure a managed device is required for MFA registration
TBD5.2.3.1 (L1) Ensure Microsoft Authenticator is configured to protect against MFA fatigue
TBD5.2.3.2 (L1) Ensure custom banned passwords lists are used
TBD5.2.3.3 (L1) Ensure password protection is enabled for on-prem Active Directory
TBD5.2.3.4 (L1) Ensure all member users are 'MFA capable'
TBD5.2.3.5 (L1) Ensure weak authentication methods are disabled
TBD5.2.4.1 (L1) Ensure 'Self service password reset enabled' is set to 'All'
TBD5.3.1 (L2) Ensure 'Privileged Identity Management' is used to manage roles
TBD5.3.2 (L1) Ensure 'Access reviews' for Guest Users are configured
TBD5.3.3 (L1) Ensure 'Access reviews' for privileged roles are configured
TBD5.3.4 (L1) Ensure approval is required for Global Administrator role activation
TBD6.1.1 (L1) Ensure 'AuditDisabled' organizationally is set to 'False'
TBD6.1.2 (L1) Ensure mailbox auditing for E3 users is Enabled
TBD6.1.3 (L1) Ensure mailbox auditing for E5 users is Enabled
TBD6.1.4 (L1) Ensure 'AuditBypassEnabled' is not enabled on mailboxes
TBD6.2.1 (L1) Ensure all forms of mail forwarding are blocked and/or disabled
TBD6.2.2 (L1) Ensure mail transport rules do not whitelist specific domains
TBD6.2.3 (L1) Ensure email from external senders is identified
TBD6.3.1 (L2) Ensure users installing Outlook add-ins is not allowed
TBD6.5.1 (L1) Ensure modern authentication for Exchange Online is enabled
TBD6.5.2 (L1) Ensure MailTips are enabled for end users
TBD6.5.3 (L2) Ensure additional storage providers are restricted in Outlook on the web
TBD6.5.4 (L1) Ensure SMTP AUTH is disabled
TBD7.2.1 (L1) Ensure modern authentication for SharePoint applications is required
TBD7.2.2 (L1) Ensure SharePoint and OneDrive integration with Azure AD B2B is enabled
TBD7.2.3 (L1) Ensure external content sharing is restricted
TBD7.2.4 (L2) Ensure OneDrive content sharing is restricted
TBD7.2.5 (L2) Ensure that SharePoint guest users cannot share items they don't own
TBD7.2.6 (L2) Ensure SharePoint external sharing is managed through domain whitelist/blacklists
TBD7.2.7 (L1) Ensure link sharing is restricted in SharePoint and OneDrive
TBD7.2.8 (L2) Ensure external sharing is restricted by security group
TBD7.2.9 (L1) Ensure guest access to a site or OneDrive will expire automatically
TBD7.2.10 (L1) Ensure reauthentication with verification code is restricted
TBD7.2.11 (L1) Ensure the SharePoint default sharing link permission is set
TBD7.3.1 (L2) Ensure Office 365 SharePoint infected files are disallowed for download
TBD7.3.2 (L2) Ensure OneDrive sync is restricted for unmanaged devices
TBD7.3.3 (L1) Ensure custom script execution is restricted on personal sites
TBD7.3.4 (L1) Ensure custom script execution is restricted on site collections
Test-MtCisThirdPartyFileSharing8.1.1 (L2) Ensure external file sharing in Teams is enabled for only approved cloud storage services
TBD8.1.2 (L1) Ensure users can't send emails to a channel email address
TBD8.2.1 (L2) Ensure external domains are restricted in the Teams admin center
Test-MtCisCommunicateWithUnmanagedTeamsUsers8.2.2 (L1) Ensure communication with unmanaged Teams users is disabled
Test-MtCisCommunicateWithUnmanagedTeamsUsers8.2.3 (L1) Ensure external Teams users cannot initiate conversations
Test-MtCisCommunicateWithSkypeUsers8.2.4 (L1) Ensure communication with Skype users is disabled
Test-MtCisThirdPartyAndCustomApps8.4.1 (L1) Ensure app permission policies are configured
TBD8.5.1 (L2) Ensure anonymous users can't join a meeting
TBD8.5.2 (L1) Ensure anonymous users and dial-in callers can't start a meeting
Test-MtCisTeamsLobbyBypass8.5.3 (L1) Ensure only people in my org can bypass the lobby
TBD8.5.4 (L1) Ensure users dialing in can't bypass the lobby
TBD8.5.5 (L2) Ensure meeting chat does not allow anonymous users
TBD8.5.6 (L2) Ensure only organizers and co-organizers can present
TBD8.5.7 (L1) Ensure external participants can't give or request control
TBD8.5.8 (L2) Ensure external meeting chat is off
TBD8.5.9 (L2) Ensure meeting recording is off by default
Test-MtCisTeamsReportSecurityConcerns8.6.1 (L1) Ensure users can report security concerns in Teams
TBD9.1.1 (L1) Ensure guest user access is restricted
TBD9.1.2 (L1) Ensure external user invitations are restricted
TBD9.1.3 (L1) Ensure guest access to content is restricted
TBD9.1.4 (L1) Ensure 'Publish to web' is restricted
TBD9.1.5 (L2) Ensure 'Interact with and share R and Python' visuals is 'Disabled'
TBD9.1.6 (L1) Ensure 'Allow users to apply sensitivity labels for content' is 'Enabled'
TBD9.1.7 (L1) Ensure shareable links are restricted
TBD9.1.8 (L1) Ensure enabling of external data sharing is restricted
TBD9.1.9 (L1) Ensure 'Block ResourceKey Authentication' is 'Enabled'
TBD9.1.10 (L1) Ensure access to APIs by Service Principals is restricted
TBD9.1.11 (L1) Ensure Service Principals cannot create and use profiles