Skip to main content
Five Steps for Cloud Compliance Readiness·A practical playbook for security teamsDownload
Compliance

Microsoft Teams Hardening: What CIS Benchmark Section 8 Checks (17 Controls)

Section 8 of the CIS Microsoft 365 Foundations Benchmark v7.0.0 covers 17 Microsoft Teams controls: external access, meeting lobby, apps, and file sharing.

CConfigCobra Team25 August 20269 min read

The CIS Microsoft 365 Foundations Benchmark v7.0.0 defines 160 controls across 9 sections. Section 8 — Microsoft Teams — contains 17 of them, and it is the section where hardening collides most directly with the reason people bought the product. Every control here restricts something a user can currently do: share a file, invite an outsider, join a call, install an app.

That tension is why Section 8 is worth reading control by control rather than applying wholesale. A tenant that fails all 17 is genuinely exposed. A tenant that passes all 17 without thinking about it has probably broken a workflow someone depended on. The benchmark separates these into Level 1 and Level 2 profiles precisely so you can tell which is which.

For an overview of all 9 sections and their control counts, see the CIS Microsoft 365 Foundations Benchmark guide.

How Section 8 is structured

The 17 controls split across five subsections:

  • 8.1 — 2 controls: Teams file sharing and channel email addresses
  • 8.2 — 4 controls: external access — domains, unmanaged users, trial tenants
  • 8.4 — 1 control: app permission policies
  • 8.5 — 9 controls: meeting policies — lobby, anonymous access, presenting, chat, recording
  • 8.6 — 1 control: user reporting of security concerns

By profile, Section 8 is 10 Level 1 and 7 Level 2 controls. By assessment status, 16 are automated and 1 is manual — the manual one is the app permission policy check, for reasons covered below. Sixteen of the 17 fall under an E3 profile; only one (8.6.1) requires E5.

Note that there is no 8.3 in the benchmark. The numbering follows the Teams admin center structure, and the gap is expected — do not read it as a missing control.

8.1 — File sharing and channel email

Two controls, both about content leaving the boundary you think it is inside.

  • 8.1.1 — Ensure external file sharing in Teams is enabled for only approved cloud storage services (E3 Level 2, Automated). Teams can surface third-party storage providers directly in the file-sharing experience. Each one that is enabled is a path for tenant content to land somewhere your SharePoint and OneDrive controls do not reach — and somewhere your audit evidence does not cover. This is Level 2 because organisations legitimately standardise on a non-Microsoft provider; the control is about the list being deliberate, not empty.
  • 8.1.2 — Ensure users can't send emails to a channel email address (E3 Level 1, Automated). A channel email address accepts mail into a collaboration space from outside the normal mail-flow path. That means the anti-phishing and Safe Links posture you configured in Section 2 is not the whole story for content arriving in Teams. This one is Level 1 — the workflow it removes is niche, and the surface it closes is not.

How to check: Teams admin center → Teams settings, for both the files and cloud storage options and the email integration setting.

8.2 — External access

Four controls governing who outside your tenant can reach your users through Teams. This subsection matters more than its size suggests, because external access in Teams is federation: it is configured once at the tenant level and applies to everyone.

  • 8.2.1 — Ensure external domains are restricted in the Teams admin center (E3 Level 2, Automated). Open federation means any Teams tenant anywhere can reach your users. Restricting to an allowed list of domains turns that into a decision. It is Level 2 because maintaining a domain list is real operational work for organisations with a wide partner surface.
  • 8.2.2 — Ensure communication with unmanaged Teams users is disabled (E3 Level 1, Automated). Unmanaged users are accounts not governed by any tenant policy — no conditional access, no compliance posture, no administrative accountability behind them. There is no way to assess the security of a party that does not have an administrator.
  • 8.2.3 — Ensure external Teams users cannot initiate conversations (E3 Level 1, Automated). This does not block external collaboration; it changes who starts it. Your users can still reach out. Unsolicited inbound contact — the delivery mechanism for social engineering that never touches your mail gateway — stops.
  • 8.2.4 — Ensure the organization cannot communicate with accounts in trial Teams tenants (E3 Level 1, Automated). Trial tenants are free and fast to create, which makes them attractive infrastructure for anyone who wants a plausible-looking corporate identity for a short time. Blocking them costs a legitimate counterparty nothing.

How to check: Teams admin center → Users → External access. All four settings live on that page.

8.4 — App permission policies

8.4.1 — Ensure app permission policies are configured (E3 Level 1, Manual). This is the only manual control in Section 8, and the only one in the section that a scanner cannot fully settle on its own.

The reason is that there is no single correct app allow-list. Teams apps — Microsoft, third-party, and custom — request access to tenant data, and whether a given app should be permitted depends on what your organisation actually uses it for. A tool can report which policies exist and how permissive they are. Deciding whether that posture is right requires someone who knows the business.

What makes this control worth the manual effort is that it is a standing grant, not a one-time event. An app permitted today keeps its access until someone revokes it, and third-party apps change hands and change behaviour without asking your tenant for permission again.

How to check: Teams admin center → Teams apps → Permission policies, then review each policy against the apps your organisation has actually approved.

8.5 — Meeting policies

Nine controls — more than half of Section 8 — all governing meetings. The concentration is deliberate: a Teams meeting is the one place where an unauthenticated stranger can be inside a business conversation in real time, and where the damage is done before any log is reviewed.

Four controls govern who can get in:

  • 8.5.1 — Ensure anonymous users can't join a meeting (E3 Level 2, Automated)
  • 8.5.2 — Ensure anonymous users and dial-in callers can't start a meeting (E3 Level 1, Automated)
  • 8.5.3 — Ensure only people in my org can bypass the lobby (E3 Level 1, Automated)
  • 8.5.4 — Ensure users dialing in can't bypass the lobby (E3 Level 1, Automated)

The lobby is the actual control surface here, and the two bypass controls are the ones most often left permissive. A lobby that everyone bypasses is not a lobby. Note the split: preventing anonymous users from joining at all is Level 2, because external participation is a legitimate business need — but preventing them from starting a meeting is Level 1, because there is no scenario where an unauthenticated party should be convening a meeting in your tenant.

Three controls govern what participants can do once inside:

  • 8.5.5 — Ensure meeting chat does not allow anonymous users (E3 Level 2, Automated). Meeting chat persists and accepts links. An anonymous participant with chat access has a delivery channel into an audience that is predisposed to trust it.
  • 8.5.6 — Ensure only organizers and co-organizers can present (E3 Level 2, Automated). Presenting means controlling what everyone sees. Restricting it by default removes the most direct route to a convincing in-meeting impersonation.
  • 8.5.7 — Ensure external participants can't give or request control (E3 Level 1, Automated). This is the strictest-rated of the three, and reasonably so: giving control hands an external party live input on a device inside your environment. It is the one meeting setting whose failure mode is not information disclosure but direct access.

Two controls govern what leaves the meeting:

  • 8.5.8 — Ensure external meeting chat is off (E3 Level 2, Automated). Chat with external organisations creates conversation history outside your governance.
  • 8.5.9 — Ensure meeting recording is off by default (E3 Level 2, Automated). This is a default, not a prohibition — recordings can still be started deliberately. The control exists because an automatic recording is a data asset nobody decided to create, retained under a policy nobody chose, discoverable by anyone with access to where it landed.

How to check: Teams admin center → Meetings → Meeting policies. Review the Global (Org-wide default) policy first, then every custom policy — a hardened global policy tells you nothing if users are assigned to a permissive custom one.

8.6 — Reporting security concerns

8.6.1 — Ensure users can report security concerns in Teams (E5 Level 1, Automated). It is the only Section 8 control requiring an E5 profile, and the only one that adds a capability rather than removing one.

Every other control in this section narrows what can happen. This one accepts that something will get through anyway and gives the person who noticed a way to say so. Users are already the detection layer for social engineering in Teams — the question is only whether reporting goes to a security workflow or to a colleague in a side chat.

Why Section 8 drifts

Teams settings regress for a different reason than the storage settings in Section 7. There, a permissive default quietly persists. Here, a hardened setting gets actively reversed — because a meeting failed, a partner could not join, an app stopped working, and someone with admin rights fixed it under time pressure.

The custom-policy layer makes this hard to see. Meeting and app policies can be assigned per user or per group, so a tenant can pass a global-policy review while a subset of users runs on something far more permissive. That is not misconfiguration in the usual sense — it is a deliberate exception that outlived its reason, and nothing in the product marks it as stale.

How ConfigCobra assesses Section 8

ConfigCobra evaluates the Section 8 controls as part of a full CIS Microsoft 365 Foundations Benchmark v7.0.0 assessment. The scan connects to your tenant using read-only Microsoft Graph permissions — no agents, no admin password sharing — and returns results for all 160 controls across all 9 sections in 20–25 minutes.

Each finding comes back with its status against the recommended state, the evidence behind it, the severity tagged from the benchmark itself, and a copy-paste remediation script or admin portal steps. The Level 1 and Level 2 profile split is preserved per control, so you can treat 8.5.7 and 8.5.9 as the different-priority problems they are. Results export to a CIS-certified PDF report with a timestamped tenant snapshot.

Because Section 8 fails by reversal rather than by neglect, continuous scanning and drift detection is what actually holds this section: you are alerted when a control that previously passed regresses, rather than finding the exception at the next audit.

Run it against your own tenant

Start a free trial, 14 days with full access, to see where your Teams external access and meeting policies stand today.

The rest of the series

For the full benchmark overview including every section control count, see the CIS Microsoft 365 Foundations Benchmark page.

See this on your own tenant

ConfigCobra checks Microsoft 365, Azure, Google Cloud and AWS against the CIS benchmarks, read-only. 14-day free trial with full access.

Get in touch

Let's talk.

Whether you're evaluating ConfigCobra, running an audit, or managing a client fleet — we respond within one business day.

Free trial