Defender report submission policy uses customized addresses for junk, not junk and phish, and chat reports are sent only to a customized address
Microsoft Defender for Office 365 user-reported settings ensure junk, not-junk, and phish reports are sent to customized addresses with valid destinations, and that Teams chat reports route to customized addresses while direct chat reporting to Microsoft is disabled.
Risk
Misrouted or disabled user reports reduce visibility into Teams threats, delaying containment. Attackers can keep distributing phishing links or malicious files, causing credential theft (confidentiality), message manipulation (integrity), and channel disruption from ongoing spam (availability).
Run this check with Prowler
Run in Prowler Cloudprowler m365 --checks defender_chat_report_policy_configuredRecommendation
Send all user-reported junk, not-junk, and phish to monitored custom mailboxes and enable Teams chat reporting to those addresses, keeping direct chat submissions to Microsoft disabled. Apply least privilege to reviewer access, establish a triage workflow, and integrate alerts for defense in depth.
Remediation
CLI
Set-ReportSubmissionPolicy -Identity DefaultReportSubmissionPolicy -ReportJunkToCustomizedAddress $true -ReportNotJunkToCustomizedAddress $true -ReportPhishToCustomizedAddress $true -ReportJunkAddresses <EMAIL_ADDRESS> -ReportNotJunkAddresses <EMAIL_ADDRESS> -ReportPhishAddresses <EMAIL_ADDRESS> -ReportChatMessageEnabled $false -ReportChatMessageToCustomizedAddressEnabled $trueOther
Check Code
from typing import List
from prowler.lib.check.models import Check, CheckReportM365
from prowler.providers.m365.services.defender.defender_client import defender_client
class defender_chat_report_policy_configured(Check):
"""Check if Defender report submission policy is properly configured for Teams security reporting.
Attributes:
metadata: Metadata associated with the check (inherited from Check).
"""
def execute(self) -> List[CheckReportM365]:
"""Execute the check for Defender report submission policy settings.
This method checks if Defender report submission policy is properly configured for Teams security reporting.
Returns:
List[CheckReportM365]: A list of reports containing the result of the check.
"""
findings = []
report_submission_policy = defender_client.report_submission_policy
if report_submission_policy:
report = CheckReportM365(
metadata=self.metadata(),
resource=report_submission_policy,
resource_name="Defender Security Reporting Policy",
resource_id="defenderSecurityReportingPolicy",
)
defender_settings_valid = (
report_submission_policy.report_junk_to_customized_address
and report_submission_policy.report_not_junk_to_customized_address
and report_submission_policy.report_phish_to_customized_address
and report_submission_policy.report_junk_addresses
and report_submission_policy.report_not_junk_addresses
and report_submission_policy.report_phish_addresses
and not report_submission_policy.report_chat_message_enabled
and report_submission_policy.report_chat_message_to_customized_address_enabled
)
if defender_settings_valid:
report.status = "PASS"
report.status_extended = "Defender report submission policy is properly configured for Teams security reporting."
else:
report.status = "FAIL"
report.status_extended = "Defender report submission policy is not properly configured for Teams security reporting."
findings.append(report)
return findings