Identity
Identity is the new security perimeter. Strong identity equals strong security.
Administrator accounts are high-value targets for attackers. MFA protects against 99.9% of identity-based attacks. If you aren't requiring every privileged account to use MFA, stop reading and do this immediately.
- Navigate to the Microsoft Entra admin center (entra.microsoft.com)
- Go to Azure Active Directory → Security → MFA
- Click "Additional cloud-based MFA settings"
- Select the administrators tab and enable MFA for each admin account
- Alternatively, create a Conditional Access policy requiring MFA for admin roles
Many breaches start with compromised user credentials. MFA is free for all Microsoft 365 tenants and significantly reduces the risk of account compromise.
- Navigate to the Microsoft Entra admin center (entra.microsoft.com)
- Go to Protection → Authentication methods → Policies
- Enable Microsoft Authenticator for all users
- Go to Protection → Conditional Access → Create new policy
- Create a policy requiring MFA for all users, all cloud apps
- Better approach: Use Conditional Access policy (requires Entra ID P1)
Train users to: install Microsoft Authenticator app, understand why MFA is deployed, and REJECT prompts they didn't initiate (potential attack indicator).
Separate admin accounts from day-to-day user accounts. Cloud-only accounts aren't synced from on-premises AD, reducing attack surface. They don't require a license for admin-only tasks.
- Go to Microsoft 365 Admin Center → Users → Active users
- Click "Add a user" to create a new cloud-only account
- Use a naming convention like [email protected]
- Assign only necessary admin roles (least privilege)
- Enable MFA immediately on these accounts
- Use strong, unique passwords (40+ characters recommended)
App passwords are a workaround for legacy clients that don't support modern authentication. They bypass MFA protection and should be disabled in 2024.
- Go to Microsoft Entra admin center → Protection → Authentication methods
- Click on "Policies" and review authentication method settings
- For legacy MFA settings: go to Protection → Multifactor authentication → Additional cloud-based MFA settings
- Under "app passwords", select "Do not allow users to create app passwords"
- Click Save
SMS-based MFA is vulnerable to SIM swapping attacks, SS7 protocol vulnerabilities, and social engineering. Microsoft Authenticator or FIDO2 keys are much more secure.
- Go to Entra Admin Center → Protection → Authentication methods
- Click on "SMS" in the methods list
- Set "Enable" to "No" to disable for all users
- Alternatively, limit to specific groups during transition
- Ensure users have Authenticator app configured first
Voice calls for MFA share similar vulnerabilities to SMS. Social engineering attacks can trick phone carriers into forwarding calls. Use app-based or hardware token authentication instead.
- Go to Entra Admin Center → Protection → Authentication methods
- Click on "Voice call" in the methods list
- Set "Enable" to "No"
- Save changes
Prompting users too frequently leads to "MFA fatigue" where they automatically approve without thinking. Microsoft recommends 90 days or using Conditional Access for smarter sign-in frequency.
- Go to Microsoft Entra admin center → Protection → Multifactor authentication
- Click "Additional cloud-based MFA settings"
- Under "remember multi-factor authentication", check the box
- Set days to 90
- Click Save
MFA is only effective if users understand how to use it properly. They must know to REJECT unexpected prompts, as attackers may trigger prompts hoping users approve out of habit.
- How to install and set up Microsoft Authenticator
- Why MFA is important for security
- What to do when receiving unexpected MFA prompts (REJECT)
- How to report suspicious MFA activity to IT
- Backup authentication methods and recovery
Windows Hello for Business (WHFB) provides passwordless, phishing-resistant authentication using biometrics or PIN tied to the device's TPM. This is stronger than traditional MFA.
- Go to Intune Admin Center → Devices → Enrollment
- Select "Windows Hello for Business"
- Configure WHFB settings for your organization
- Set to "Enabled" for target groups
- Configure PIN complexity requirements
- Enable biometric authentication if devices support it
FIDO2 security keys provide the strongest form of MFA, offering phishing-resistant, passwordless authentication. The key physically validates the website's identity, preventing credential theft.
- Go to Entra Admin Center → Protection → Authentication methods
- Enable "FIDO2 security key" method
- Configure allowed vendors (YubiKey, Feitian, etc.)
- Deploy physical keys to high-risk users (admins, executives)
- Have users register keys at aka.ms/mysecurityinfo
Legacy protocols (POP3, IMAP, SMTP AUTH, etc.) don't support MFA, allowing attackers to bypass your MFA protection. Before blocking, identify legitimate uses.
- Go to Entra Admin Center → Monitoring → Sign-in logs
- Change time range to "Last 1 month"
- Click "Add filters" → Client app
- Select all 13 Legacy Authentication Clients checkboxes
- Review results - add Status filter for "Success" to focus on actual usage
- Identify users/apps and migrate them to modern auth
• Android/iOS native mail apps (switch to Outlook)
• Printers/scanners sending email
• Line-of-business applications
• Old Office versions (pre-2013)
Conditional Access provides granular control to block legacy auth while allowing exceptions. This is the recommended method over the admin center toggle.
- Go to Entra Admin Center → Protection → Conditional Access
- Click "New policy from template"
- Select "Block legacy authentication" template
- Review settings and exclude break glass accounts
- Set to "Report-only" first to test impact
- After validation, switch to "On"
Belt and suspenders approach - use both Conditional Access AND the admin center setting for defense in depth.
- Go to admin.microsoft.com
- Navigate to Settings → Org settings → Services
- Click "Modern authentication"
- Uncheck all basic authentication protocols
- Click Save
Break glass accounts provide emergency access if MFA services are down or all admins are locked out. They're exempt from MFA and CA policies but have extremely strong passwords.
- Create 2 cloud-only accounts (e.g., [email protected])
- Use 40+ character random passwords
- Assign Global Administrator role
- Exclude from ALL Conditional Access policies
- Exclude from MFA requirements
- Store credentials securely (safe, separate locations)
- Test accounts periodically (quarterly)
You must be immediately notified if break glass accounts are used - this could indicate a legitimate emergency OR an attacker who obtained the credentials.
- Option 1: Send sign-in logs to Azure Monitor/Log Analytics
- Create an alert rule for break glass account sign-ins
- Option 2: Use Microsoft Sentinel with an Analytics rule
- Configure email/SMS notifications
- Test the alert by signing in with the break glass account
Privileged Identity Management (PIM) provides just-in-time admin access. Accounts are ordinary users until they elevate for a limited time, reducing the attack window.
- Go to Entra Admin Center → Identity Governance → Privileged Identity Management
- Click "Microsoft Entra roles"
- Click "Roles" and select each admin role
- Change assignments from "Permanent" to "Eligible"
- Configure activation settings (MFA, justification, approval)
- Set maximum activation duration (e.g., 8 hours)
Microsoft Entra Password Protection blocks common bad passwords globally. Add your company name, products, locations, executive names, and local sports teams - words your employees likely use.
- Go to Entra Admin Center → Protection → Authentication methods
- Click "Password protection"
- Add custom banned passwords (up to 1000 words)
- Include: company name, brands, locations, C-suite names
- Don't add common passwords - Microsoft already blocks those
- Click Save
ProductBrand
CityLocation
CEOFirstName
LocalSportsTeam
CompanyAcronym
Custom branding helps users identify legitimate login pages. Phishing attacks typically use generic Microsoft login pages - your branded page is a security indicator. Also required for Windows Autopilot.
- Go to Entra Admin Center → User experiences → Company branding
- Click "Configure" or edit existing
- Upload background image (1920x1080px, max 300KB)
- Upload banner logo (280x60px, max 10KB)
- Add sign-in page text with company name
- Configure square logo for mobile apps
SSPR reduces help desk load and allows users to reset passwords securely 24/7. Without it, users may choose weaker passwords or share credentials to work around lockouts.
- Go to Entra Admin Center → Protection → Password reset
- Set "Self service password reset enabled" to "All" or selected groups
- Configure required authentication methods (recommend 2)
- Enable mobile app and email notification options
- If syncing from AD, enable password writeback in Azure AD Connect
- Test with a non-admin account
Audit logs are essential for investigating security incidents. Without sufficient retention, evidence may be lost before you discover a breach. Default is on but verify retention policy exists.
- Go to Microsoft Purview Compliance portal
- Navigate to Audit → Audit retention policies
- Click "New audit retention policy"
- Name it and add ALL record types
- Set retention: 90 days (Business Premium) or 1 year (E5)
- Set priority to 1 (highest) and save
Don't sync service accounts, computer objects, or test accounts to Microsoft Entra ID. Every synced account is potential attack surface. Only sync OUs with actual users who need cloud access.
- On the Azure AD Connect server, launch the configuration wizard
- Select "Customize synchronization options"
- Review Domain/OU Filtering
- Uncheck OUs containing service accounts, computers, etc.
- Only keep user OUs that need cloud access
- Complete the wizard and verify sync
Email Security
Email remains one of the most common attack vectors. Configure EOP and Defender for Office 365.
Mailbox auditing logs actions like message access, deletion, and forwarding. Essential for investigating compromised accounts. Enabled by default since 2019 but verify older mailboxes.
Get-Mailbox | FL Identity, AuditEnabled
# Enable if needed:
Set-Mailbox -Identity [email protected] -AuditEnabled $true
- Go to security.microsoft.com → Email & collaboration → Policies & rules
- Click Threat policies → Anti-phishing
- Edit the default policy
- Enable "Include domains I own"
- Enable mailbox intelligence and impersonation protection
- Enable spoof intelligence
- Configure actions (quarantine recommended)
Zero-hour Auto Purge (ZAP) removes malicious messages that were delivered before being identified as threats. It "reaches into" inboxes to remove newly-identified spam/phish.
- Go to security.microsoft.com → Threat policies → Anti-malware
- Edit the default policy
- Enable common attachment types filter
- Click "Customize file types" and select ALL 96 extensions
- Enable ZAP for malware
- Set quarantine access to admins only
Attackers often set up email forwarding to external addresses after compromising accounts. This lets them monitor communications for Business Email Compromise (BEC) attacks, which cost more than ransomware.
- Go to Exchange Admin Center → Mail flow → Rules
- Create new rule
- Apply if: Recipient is located → Outside the organization
- AND: Message type → Auto-forward
- Action: Reject with explanation
- Set mode to Enforce
SPF (Sender Policy Framework) helps receiving servers verify that email claiming to be from your domain actually came from authorized servers.
Host: @
Value: v=spf1 include:spf.protection.outlook.com -all
DKIM (DomainKeys Identified Mail) cryptographically signs outgoing emails, allowing recipients to verify the message wasn't altered in transit.
v=DMARC1; p=none; rua=mailto:[email protected]
# Phase 2 - Quarantine:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
# Phase 3 - Reject (goal):
v=DMARC1; p=reject; rua=mailto:[email protected]
Safe Attachments detonates suspicious attachments in a sandbox VM to catch zero-day malware that bypasses traditional AV. Dynamic Delivery shows the email immediately while attachments are scanned.
Safe Links scans URLs at time-of-click, not just delivery. Attackers often send clean links, wait for delivery, then weaponize the destination. Time-of-click scanning defeats this.
Teams Governance
Apply governance controls for Teams creation, sharing, and external access.
By default, all users can create Teams (M365 Groups). This leads to sprawl and potential data governance issues.
- Go to Entra Admin Center → External Identities → External collaboration settings
- Configure guest user permissions (limited recommended)
- Set who can invite guests (admins only recommended)
- Configure domain allow/deny lists
Applications (OAuth)
Control OAuth app permissions and consent workflows.
Malicious OAuth apps can gain persistent access to user mailboxes even after password changes and MFA. Users may unknowingly grant excessive permissions.
Endpoint Manager / Intune
Manage device security with MDM and MAM policies.
• Require BitLocker encryption
• Require Secure Boot
• Require firewall enabled
• Require antivirus/antispyware
• Minimum OS version
Information Protection & DLP
Classify, label, and protect sensitive data.
Microsoft Secure Score
Track and improve your security posture.
1. Implement all low user-impact actions first
2. Then high score-improvement actions
3. Schedule monthly reviews for new recommendations
Microsoft 365 E5 Security
Advanced security features with E5 licensing - enterprise-grade protection for sophisticated threats.
Defender for Endpoint P2 adds advanced capabilities beyond P1/Business: Threat Hunting, Microsoft Threat Experts, full EDR capabilities, and support for Linux servers.
• Advanced Hunting - Query-based threat hunting with KQL
• Threat Experts - Access to Microsoft's SOC analysts
• Endpoint Attack Notifications - Proactive threat alerts
• Sandbox (Deep Analysis) - Detonate suspicious files
• Linux Server support - Full EDR for Linux
Advanced Hunting allows proactive threat hunting using Kusto Query Language (KQL). Search across 30 days of raw endpoint, email, identity, and app data to find hidden threats.
• DeviceEvents - Security events on devices
• DeviceProcessEvents - Process execution
• DeviceNetworkEvents - Network connections
• DeviceFileEvents - File operations
• DeviceRegistryEvents - Registry changes
• EmailEvents - Email metadata
• IdentityLogonEvents - Authentication events
| where ProcessCommandLine has_any ("Invoke-WebRequest", "wget", "curl", "DownloadFile")
| where ProcessCommandLine has_any (".ps1", ".exe", ".dll")
| project Timestamp, DeviceName, AccountName, ProcessCommandLine
Microsoft Threat Experts provides access to Microsoft's security analysts who proactively hunt for threats in your environment and provide expert guidance.
Endpoint Attack Notifications (Included with E5):
• Proactive notifications about serious threats
• Targeted attack notifications tagged in portal
Experts on Demand (Additional purchase):
• Consult Microsoft analysts directly
• Get expert help with investigations
- Go to Settings → Endpoints → General → Advanced features
- Find "Microsoft Threat Experts" section
- Click "Apply" to request access
- Microsoft will review and approve based on environment size
Defender for Identity (formerly Azure ATP) monitors Active Directory traffic to detect advanced attacks like Pass-the-Hash, Pass-the-Ticket, Golden Ticket, and lateral movement.
• Reconnaissance - Account enumeration, network mapping
• Compromised credentials - Brute force, exposed credentials
• Lateral movement - Pass-the-Hash, Pass-the-Ticket, NTLM relay
• Domain dominance - Golden Ticket, DCSync, skeleton key
• Exfiltration - DNS exfiltration
- Go to security.microsoft.com → Settings → Identities
- Download the sensor setup package
- Create a Directory Service account (gMSA recommended)
- Install sensor on each Domain Controller
- Install on AD FS servers if using federation
- Verify sensor health in the portal
Review and tune alerts to reduce noise. Some alerts may need exclusions for legitimate admin activities like penetration testing or specific service accounts.
- Configure sensitive accounts (executives, service accounts)
- Tag honeytoken accounts to detect enumeration
- Exclude known scanner/admin accounts from alerts
- Configure email notifications for high-severity alerts
- Integrate with Microsoft Sentinel for SIEM correlation
Threat Explorer provides real-time views of email threats, allowing you to investigate phishing campaigns, trace malware delivery, and understand attack patterns.
• All Email view - See all messages and their verdicts
• Malware view - Filter for malware detections
• Phish view - Filter for phishing attempts
• Content Malware - Threats in SharePoint/OneDrive
• URL clicks - Track clicked URLs and their verdicts
AIR automatically investigates alerts, determines scope, and can automatically remediate threats (delete malicious emails, block URLs) without manual intervention.
• Soft delete malicious emails from all mailboxes
• Block malicious URLs organization-wide
• Turn off external mail forwarding
• Quarantine messages matching threat indicators
Regular phishing simulations train users to recognize attacks. Users who fail simulations get automatic training. Track improvement over time with detailed reports.
• Credential Harvest - Fake login pages
• Malware Attachment - Simulated malicious files
• Link in Attachment - Link inside document
• Link to Malware - Direct download link
• Drive-by URL - Compromised website simulation
- Start with baseline simulation to measure current state
- Run simulations monthly (not just annually)
- Vary payloads and techniques each time
- Enable automatic training for users who fail
- Track metrics and report to leadership
Threat Trackers provide intelligence on current threats targeting organizations worldwide. Campaign Views show coordinated attacks targeting your organization.
Discover Shadow IT - cloud applications your users are using without IT approval. The catalog includes 31,000+ apps with risk scores based on security, compliance, and legal factors.
• Defender for Endpoint integration - Automatic discovery from endpoints
• Log upload - Upload firewall/proxy logs
• Log collectors - Continuous automated upload
OAuth apps with excessive permissions are a major attack vector. Defender for Cloud Apps provides visibility into all OAuth apps and can automatically revoke risky ones.
• Alert on apps with high permission level from unverified publishers
• Alert on apps accessing mail/files with no recent activity
• Block apps with community rating below threshold
• Revoke access for apps marked as banned
Conditional Access App Control enables real-time monitoring and control of cloud app sessions. Block downloads, restrict copy/paste, require step-up authentication for sensitive actions.
• Block download of sensitive files on unmanaged devices
• Protect documents with encryption on download
• Block copy/paste of sensitive content
• Block print of sensitive documents
• Block upload of malware
Sign-in risk uses ML to evaluate each login in real-time. Risky sign-ins (unfamiliar location, impossible travel, malware-linked IP) automatically require MFA or are blocked.
• Anonymous IP address (TOR, VPN)
• Atypical travel (impossible travel)
• Malware-linked IP address
• Unfamiliar sign-in properties
• Password spray detection
• Microsoft Entra threat intelligence
- Go to Entra Admin Center → Protection → Identity Protection
- Click "Sign-in risk policy"
- Set threshold to "Medium and above"
- Set action to "Require multi-factor authentication"
- Exclude break glass accounts
- Enable the policy
User risk identifies potentially compromised accounts over time. When Microsoft finds credentials in breach dumps or detects suspicious activity patterns, the user is marked as risky.
- Go to Entra Admin Center → Protection → Identity Protection
- Click "User risk policy"
- Set threshold to "High" (start conservative)
- Set action to "Require password change"
- Ensure SSPR is enabled for users
- Enable the policy
PIM provides just-in-time privileged access. Admin accounts remain ordinary users until they elevate for a limited time. This dramatically reduces the risk of persistent admin access being compromised.
1. Admin requests activation of their eligible role
2. They must provide justification
3. They complete MFA challenge
4. (Optional) Another admin approves the request
5. Role is active for limited time (e.g., 8 hours)
6. Role automatically deactivates
- Go to Entra Admin Center → Identity Governance → PIM
- Click "Microsoft Entra roles"
- For each admin role, convert "Permanent" to "Eligible"
- Configure role settings: require MFA, justification, approval
- Set maximum activation duration (8 hours recommended)
- Keep break glass accounts as permanent
Access Reviews automate the process of verifying that users still need their access. Reviewers regularly certify that group memberships, role assignments, and guest access are still appropriate.
• Admin role assignments - Monthly, reviewed by manager
• Guest user access - Quarterly, reviewed by sponsor
• Sensitive group memberships - Quarterly
• Application access - Semi-annually
E5 enables automatic sensitivity labeling based on content inspection. Documents containing sensitive data (SSN, credit cards, etc.) are automatically classified and protected without user action.
• Exchange Online emails
• SharePoint Online sites
• OneDrive for Business
• On-premises file shares (with scanner)
Endpoint DLP extends data loss prevention to Windows and macOS devices. Control printing, USB copying, cloud uploads, and clipboard operations based on document sensitivity.
• Upload to cloud services (Dropbox, personal OneDrive)
• Copy to USB/removable media
• Copy to network shares
• Print documents
• Copy to clipboard
• Access by unallowed apps
Insider Risk Management detects and helps you act on malicious and inadvertent insider threats - data theft by departing employees, data leaks, and security policy violations.
• Data theft by departing users - HR integration triggers
• Data leaks - Unusual file sharing patterns
• Security policy violations - Disabling security controls
• Patient data misuse - Healthcare-specific
• Risky browser usage - Visiting risky sites
Communication Compliance scans Teams, Exchange, and Yammer for regulatory violations, harassment, threats, and inappropriate content. Required for many financial services regulations.
• Regulatory compliance - FINRA, SEC requirements
• Inappropriate content - Harassment, threats, discrimination
• Sensitive information - Detect PII sharing
• Custom policies - Keywords, trainable classifiers
Advanced Audit extends retention to 1 year (vs 90 days), adds crucial events like MailItemsAccessed, and provides high-bandwidth API access for investigation.
• MailItemsAccessed - Every email access (sync or view)
• Send - Email sent by user
• SearchQueryInitiatedExchange - Mailbox searches
• SearchQueryInitiatedSharePoint - SharePoint searches
Microsoft 365 Defender correlates signals across endpoint, email, identity, and cloud apps into unified incidents. Instead of separate alerts, you get the full attack story.
• Microsoft Defender for Endpoint
• Microsoft Defender for Office 365
• Microsoft Defender for Identity
• Microsoft Defender for Cloud Apps
• Microsoft Entra ID Protection
Microsoft Sentinel is a cloud-native SIEM/SOAR that can ingest M365 Defender data alongside logs from other sources (firewalls, other clouds, on-premises) for unified security monitoring.
• Correlate M365 with non-Microsoft data sources
• Long-term log retention beyond M365 limits
• Custom detection rules and analytics
• Automated response playbooks (Logic Apps)
• Workbooks for custom reporting