Microsoft 365 tenant · Exchange Online, Defender for Office 365 & mail DNS

Restrict calendar and contact sharing with external domains

When it fails: Users can share calendar details or contacts with any external domain. Meeting subjects, locations, attendees and contact lists can be published to anyone, which helps attackers map the organization and time their phishing.

CB-M365-MAIL-013mediumactivemanualprofile baseline

Description

Exchange Online sharing policies control what users can share from their calendar and contacts with people outside the organization. Required value: {{ external_calendar_sharing }}.

  • free_busy_only: no sharing policy grants calendar details or contacts to all domains or to anonymous users. Entries for * or Anonymous are limited to free/busy time (CalendarSharingFreeBusySimple); CalendarSharingFreeBusyDetail, CalendarSharingFreeBusyReviewer and ContactsSharing are only allowed for named partner domains.
  • disabled: every sharing policy in use is turned off, so users cannot share their calendar with external people at all.

Rationale

A calendar shared with full details reveals who meets whom, when executives travel and which projects are under way: material for targeted phishing and fraud. Shared contact folders leak names and addresses. Free/busy time is enough for scheduling with partners; anything more should be limited to known domains.

Impact

Baseline: users can still share free/busy time with anyone and details with listed partner domains. Hardened: external calendar sharing stops, including free/busy, and existing external shares stop working; organization relationships set up by administrators are not affected.

Parameters

ParameterBaselineHardenedBounds
external_calendar_sharingenum. What users can share from their calendar and contacts with external people.free_busy_onlydisabledone of free_busy_only, disabled

The value used is your override (tailoring file), else the profile's, else the one of the profile it extends, else the default. Bounds limit what an override may set.

Audit

  1. Sign in to the Exchange admin center (https://admin.exchange.microsoft.com) as at least a Global Reader.
  2. Browse to Organization > Sharing > Individual sharing and open each sharing policy, starting with Default Sharing Policy.
  3. In Exchange Online PowerShell (read-only):
    Get-SharingPolicy | Format-List Name, Default, Enabled, Domains
    Get-EXOMailbox -ResultSize Unlimited -Properties SharingPolicy | Group-Object SharingPolicy | Select-Object Name, Count
    
  4. With free_busy_only: fail if an enabled policy has a * or Anonymous entry with CalendarSharingFreeBusyDetail, CalendarSharingFreeBusyReviewer or ContactsSharing.
  5. With disabled: fail if a policy used by at least one mailbox has Enabled set to True.

Remediation

  1. In the Exchange admin center, browse to Organization > Sharing > Individual sharing and edit Default Sharing Policy (Exchange Administrator).
  2. With free_busy_only: change the All domains and Anonymous rules to Calendar free/busy information with time only, remove contact sharing for them, and add named partner domains if details must be shared. PowerShell equivalent:
    Set-SharingPolicy -Identity "Default Sharing Policy" -Domains "*:CalendarSharingFreeBusySimple"
    
  3. With disabled: clear the policy's On check box, or run Set-SharingPolicy -Identity "Default Sharing Policy" -Enabled $false. Repeat for every policy assigned to mailboxes.

Rollback

Restore the previous Domains value or set Enabled back to $true on the policy.

References

Mappings

FrameworkIDRelationNote
NIST SP 800-53 Rev. 55.1.1AC-21related
NIST SP 800-53 Rev. 55.1.1AC-4related
CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0MS.EXO.6.1v1equivalent
CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0MS.EXO.6.2v1equivalent

How this control relates to the other framework's: equivalent, stricter, looser, partial or related.

Threats mitigated

People and lifecycle

Authors
Introduced inv0.1.0
Created, updated2026-10-24, 2026-10-24
Translationsfr