Skip to main content
COSMICBYTEZLABS
NewsSecurityHOWTOsToolsStudyTraining
ProjectsChecklistsAI RankingsNewsletterStatusTagsAbout
Subscribe

Press Enter to search or Esc to close

News
Security
HOWTOs
Tools
Study
Training
Projects
Checklists
AI Rankings
Newsletter
Status
Tags
About
RSS Feed
Reading List
Subscribe

Stay in the Loop

Get the latest security alerts, tutorials, and tech insights delivered to your inbox.

Subscribe NowFree forever. No spam.
COSMICBYTEZLABS

Your trusted source for IT intelligence, cybersecurity insights, and hands-on technical guides.

429+ Articles
114+ Guides

CONTENT

  • Latest News
  • Security Alerts
  • HOWTOs
  • Projects
  • Exam Prep

RESOURCES

  • Search
  • Browse Tags
  • Newsletter Archive
  • Reading List
  • RSS Feed

COMPANY

  • About Us
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CosmicBytez Labs. All rights reserved.

System Status: Operational
  1. Home
  2. HOWTOs
  3. Microsoft 365 Security and Compliance Configuration Guide
Microsoft 365 Security and Compliance Configuration Guide
HOWTOIntermediate

Microsoft 365 Security and Compliance Configuration Guide

Harden your Microsoft 365 tenant with security baselines, conditional access policies, data loss prevention, audit logging, and compliance configurations...

Dylan H.

Security Engineering

February 5, 2026
7 min read

Prerequisites

  • Microsoft 365 E3 or E5 license
  • Global Administrator or Security Administrator role
  • Microsoft Entra ID P1 or P2 for conditional access
  • PowerShell with Microsoft Graph modules

Overview

Microsoft 365 is the backbone of most enterprise productivity environments — and a prime target for attackers. This guide covers the essential security and compliance configurations every M365 tenant should implement, from identity protection to data loss prevention.

Who Should Use This Guide:

  • M365 administrators configuring tenant security
  • Security engineers implementing compliance controls
  • MSP technicians hardening client tenants
  • IT managers preparing for compliance audits

What You Will Learn:

AreaConfiguration
IdentityMFA enforcement, conditional access, PIM
EmailAnti-phishing, safe links, safe attachments
Data ProtectionDLP policies, sensitivity labels, retention
Audit & MonitoringUnified audit log, alert policies
ComplianceeDiscovery, compliance score, assessments

Requirements

ComponentMinimum License
Conditional AccessEntra ID P1 (included in M365 E3)
PIMEntra ID P2 (included in M365 E5)
Defender for Office 365Plan 1 (E3) or Plan 2 (E5)
DLPM365 E3+
Sensitivity LabelsM365 E3+
Advanced AuditM365 E5

Part 1: Identity Security

Enable Security Defaults (Minimum Baseline)

For tenants without Entra ID P1:

# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Policy.ReadWrite.ConditionalAccess"
 
# Check current security defaults status
Get-MgPolicyIdentitySecurityDefaultEnforcementPolicy
 
# Enable security defaults (if no conditional access policies exist)
Update-MgPolicyIdentitySecurityDefaultEnforcementPolicy -IsEnabled $true

Conditional Access Policies (Recommended Over Security Defaults)

Policy 1: Require MFA for All Users

SettingValue
UsersAll users
ExcludeBreak-glass emergency accounts
Cloud AppsAll cloud apps
GrantRequire authentication strength — Phishing-resistant MFA

Policy 2: Block Legacy Authentication

SettingValue
UsersAll users
Cloud AppsAll cloud apps
Conditions > Client appsExchange ActiveSync, Other clients
GrantBlock access

Policy 3: Require Compliant Devices

SettingValue
UsersAll users
Cloud AppsOffice 365
Conditions > Device platformsWindows, macOS, iOS, Android
GrantRequire device to be marked as compliant

Policy 4: Block Access from Risky Sign-ins

SettingValue
UsersAll users
Conditions > Sign-in riskHigh
GrantBlock access

Break-Glass Emergency Accounts

Always maintain at least two emergency access accounts:

# Create break-glass account (do this in Entra admin center)
# - Use a non-personal, organization-owned email
# - Exclude from ALL conditional access policies
# - Use a very long, complex password stored in a physical safe
# - Do NOT enable MFA on these accounts
# - Monitor sign-in activity with alerts
 
# Create alert for break-glass account usage
# In Microsoft 365 Defender > Alert policies
# Alert when: "Activity by break-glass account"

Part 2: Email Security (Defender for Office 365)

Anti-Phishing Policy

# Connect to Exchange Online
Connect-ExchangeOnline
 
# Create strict anti-phishing policy
New-AntiPhishPolicy -Name "Strict Anti-Phishing" `
    -Enabled $true `
    -EnableMailboxIntelligenceProtection $true `
    -EnableOrganizationDomainsProtection $true `
    -EnableSpoofIntelligence $true `
    -EnableFirstContactSafetyTips $true `
    -EnableSimilarUsersSafetyTips $true `
    -EnableUnauthenticatedSender $true `
    -PhishThresholdLevel 3 `
    -TargetedUserProtectionAction Quarantine `
    -TargetedDomainProtectionAction Quarantine `
    -MailboxIntelligenceProtectionAction Quarantine
 
# Apply to all users
New-AntiPhishRule -Name "Strict Anti-Phishing Rule" `
    -AntiPhishPolicy "Strict Anti-Phishing" `
    -RecipientDomainIs (Get-AcceptedDomain).DomainName

Safe Links Policy

New-SafeLinksPolicy -Name "Strict Safe Links" `
    -EnableSafeLinksForEmail $true `
    -EnableSafeLinksForTeams $true `
    -EnableSafeLinksForOffice $true `
    -TrackClicks $true `
    -ScanUrls $true `
    -EnableForInternalSenders $true `
    -DeliverMessageAfterScan $true `
    -DisableUrlRewrite $false
 
New-SafeLinksRule -Name "Strict Safe Links Rule" `
    -SafeLinksPolicy "Strict Safe Links" `
    -RecipientDomainIs (Get-AcceptedDomain).DomainName

Safe Attachments Policy

New-SafeAttachmentPolicy -Name "Strict Safe Attachments" `
    -Enable $true `
    -Action Block `
    -ActionOnError $true `
    -EnableRedirect $true `
    -RedirectAddress "security@example.com"
 
New-SafeAttachmentRule -Name "Strict Safe Attachments Rule" `
    -SafeAttachmentPolicy "Strict Safe Attachments" `
    -RecipientDomainIs (Get-AcceptedDomain).DomainName

Email Authentication (SPF, DKIM, DMARC)

RecordConfiguration
SPFv=spf1 include:spf.protection.outlook.com -all
DKIMEnable in Defender portal for each domain
DMARCv=DMARC1; p=reject; rua=mailto:dmarc@example.com; pct=100

Part 3: Data Loss Prevention (DLP)

Create DLP Policy for Sensitive Data

# Connect to Security & Compliance
Connect-IPPSSession
 
# Create DLP policy for credit card numbers
New-DlpCompliancePolicy -Name "Protect Financial Data" `
    -ExchangeLocation All `
    -SharePointLocation All `
    -OneDriveLocation All `
    -TeamsLocation All `
    -Mode Enable
 
New-DlpComplianceRule -Name "Block Credit Card Sharing" `
    -Policy "Protect Financial Data" `
    -ContentContainsSensitiveInformation @{
        Name = "Credit Card Number"
        MinCount = 1
        MaxConfidence = 100
        MinConfidence = 75
    } `
    -BlockAccess $true `
    -NotifyUser "SiteAdmin" `
    -GenerateIncidentReport "SiteAdmin"

Recommended DLP Templates

TemplateWhat It Protects
Financial dataCredit cards, bank account numbers
PIISSNs, passport numbers, driver's licenses
Healthcare (HIPAA)Medical record numbers, health data
PCI DSSPayment card industry data
GDPREU personal data

Part 4: Audit Logging and Monitoring

Enable Unified Audit Log

# Check if audit logging is enabled
Get-AdminAuditLogConfig | Select-Object UnifiedAuditLogIngestionEnabled
 
# Enable unified audit logging
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

Enable Mailbox Auditing

# Enable mailbox auditing for all mailboxes
Get-Mailbox -ResultSize Unlimited |
    Set-Mailbox -AuditEnabled $true -AuditLogAgeLimit 365
 
# Verify
Get-Mailbox -ResultSize Unlimited |
    Select-Object DisplayName, AuditEnabled |
    Where-Object { -not $_.AuditEnabled }

Critical Alert Policies

Configure these in Microsoft 365 Defender:

AlertWhat It Monitors
Suspicious email forwardingAuto-forwarding rules to external domains
Elevation of privilegeAdmin role assignments
Malware campaignMultiple users receiving same malware
Unusual external user file activityExternal sharing anomalies
eDiscovery search startedCompliance search initiated
Mass file deletionBulk SharePoint/OneDrive deletions

Part 5: Additional Hardening

Disable External Forwarding

# Block automatic external forwarding
Set-TransportRule -Name "Block External Auto-Forwarding" `
    -FromScope InOrganization `
    -MessageTypeMatches AutoForward `
    -SentToScope NotInOrganization `
    -RejectMessageReasonText "External email forwarding is blocked by policy" `
    -RejectMessageEnhancedStatusCode "5.7.1"

SharePoint and OneDrive Security

# Connect to SharePoint Online
Connect-SPOService -Url "https://contoso-admin.sharepoint.com"
 
# Restrict external sharing
Set-SPOTenant -SharingCapability ExternalUserSharingOnly
 
# Block downloads from unmanaged devices
Set-SPOTenant -ConditionalAccessPolicy AllowLimitedAccess
 
# Require MFA for sharing
Set-SPOTenant -RequireAcceptingAccountMatchInvitedAccount $true

Teams Security

SettingRecommended Value
External accessAllow only specific domains
Guest accessEnabled with restrictions
Meeting policiesLobby for external participants
Messaging policiesReport security concerns enabled
App permissionsAdmin-approved apps only

Compliance Score Checklist

Track your progress in Microsoft Compliance Manager:

  • MFA enabled for all users
  • Legacy authentication blocked
  • Anti-phishing policies configured
  • Safe Links and Safe Attachments enabled
  • SPF, DKIM, DMARC configured
  • DLP policies active for sensitive data
  • Unified audit logging enabled
  • Mailbox auditing enabled
  • External forwarding blocked
  • SharePoint external sharing restricted
  • Alert policies configured
  • Break-glass accounts created and monitored
  • Conditional access policies deployed
  • Sensitivity labels published

References

  • Microsoft 365 Security Documentation
  • CIS Microsoft 365 Benchmarks
  • Microsoft Secure Score
  • Defender for Office 365 Configuration
#Microsoft 365#Security#Compliance#Exchange Online#Entra ID#DLP#Conditional Access

Related Articles

Conditional Access Policies: Zero Trust with Entra ID

Implement Zero Trust security with Microsoft Entra ID Conditional Access. Covers named locations, device compliance, risk-based policies, and...

12 min read

Exchange Online Security Hardening for Enterprise

Secure your Exchange Online environment with mail flow rules, anti-spam policies, DMARC enforcement, admin audit controls, and mailbox permission hardening.

5 min read

Windows Security Baseline Audit: CIS Benchmark Compliance

Automate Windows security baseline checks using PowerShell. Validate configurations against CIS benchmarks for password policies, audit settings, and...

9 min read
Back to all HOWTOs