-
Notifications
You must be signed in to change notification settings - Fork 113
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #305 from Snozzberries/exoSecurity
Exo security
- Loading branch information
Showing
24 changed files
with
260 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
A DLP solution SHALL be used. | ||
|
||
Rationale: Users may inadvertently disclose sensitive information to unauthorized individuals. A DLP solution may detect the presence of sensitive information in Exchange Online and block access to unauthorized entities. | ||
|
||
#### Remediation action: | ||
|
||
1. Sign in to the **Microsoft Purview compliance portal**. | ||
2. Under the **Solutions** section, select **Data loss prevention**. | ||
3. Select [**Policies**](https://purview.microsoft.com/datalossprevention/policies) from the left menu. | ||
4. Select **Create policy**. | ||
5. From the **Categories** list, select **Custom**. | ||
6. From the **Templates** list, select **Custom policy** and then click **Next**. | ||
7. Edit the name and description of the policy if desired, then click **Next**. | ||
8. Under **Choose locations to apply the policy**, set **Status** to **On** for at least the Exchange email, OneDrive accounts, SharePoint sites, Teams chat and channel messages, and Devices locations, then click **Next**. | ||
9. Under **Define policy settings**, select **Create or customize advanced DLP rules**, and then click **Next**. | ||
10. Click **Create rule**. Assign the rule an appropriate name and description. | ||
11. Click **Add condition**, then **Content contains**. | ||
12. Click **Add**, then **Sensitive info types**. | ||
13. Add information types that protect information sensitive to the agency. | ||
|
||
At a minimum, the agency should protect: | ||
- Credit card numbers | ||
- U.S. Individual Taxpayer Identification Numbers (ITIN) | ||
- U.S. Social Security Numbers (SSN) | ||
- All agency-defined PII and sensitive information | ||
|
||
14. Click **Add**. | ||
15. Under **Actions**, click **Add an action**. | ||
16. Check **Restrict Access or encrypt the content in Microsoft 365 locations**. | ||
17. Under this action, select **Block Everyone**. | ||
18. Under **User notifications**, turn on **Use notifications to inform your users and help educate them on the proper use of sensitive info**. | ||
19. Under **Microsoft 365 services**, a section that appears after user notifications are turned on, check the box next to **Notify users in Office 365 service with a policy tip**. | ||
20. Click **Save**, then **Next**. | ||
21. Select **Turn it on right away**, then click **Next**. | ||
22. Click **Submit**. | ||
|
||
#### Related links | ||
|
||
* [Purview admin center - Data loss prevention policies](https://purview.microsoft.com/datalossprevention/policies) | ||
* [CISA 8 Data Loss Prevention Solutions - MS.EXO.8.1](https://github.com/cisagov/ScubaGear/blob/main/PowerShell/ScubaGear/baselines/exo.md#msexo81v2) | ||
* [CISA ScubaGear Rego Reference](https://github.com/cisagov/ScubaGear/blob/main/PowerShell/ScubaGear/Rego/EXOConfig.rego#L439) | ||
|
||
<!--- Results ---> | ||
%TestResult% |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
<# | ||
.SYNOPSIS | ||
Checks state of DLP for EXO | ||
.DESCRIPTION | ||
A DLP solution SHALL be used. | ||
.EXAMPLE | ||
Test-MtCisaDlp | ||
Returns true if | ||
#> | ||
|
||
Function Test-MtCisaDlp { | ||
[CmdletBinding()] | ||
[OutputType([bool])] | ||
param() | ||
|
||
if(!(Test-MtConnection ExchangeOnline)){ | ||
Add-MtTestResultDetail -SkippedBecause NotConnectedExchange | ||
return $null | ||
}elseif(!(Test-MtConnection SecurityCompliance)){ | ||
Add-MtTestResultDetail -SkippedBecause NotConnectedSecurityCompliance | ||
return $null | ||
} | ||
|
||
$policies = Get-DlpCompliancePolicy | ||
|
||
$resultPolicies = $policies | Where-Object {` | ||
$_.ExchangeLocation.DisplayName -contains "All" -and ` | ||
$_.Workload -like "*Exchange*" -and ` | ||
-not $_.IsSimulationPolicy -and ` | ||
$_.Enabled | ||
} | ||
|
||
$testResult = ($resultPolicies | Measure-Object).Count -ge 1 | ||
|
||
$portalLink = "https://purview.microsoft.com/datalossprevention/policies" | ||
|
||
if ($testResult) { | ||
$testResultMarkdown = "Well done. Your tenant has [Purview Data Loss Prevention Policies]($portalLink) enabled.`n`n%TestResult%" | ||
} else { | ||
$testResultMarkdown = "Your tenant does not have [Purview Data Loss Prevention Policies]($portalLink) enabled.`n`n%TestResult%" | ||
} | ||
|
||
$passResult = "✅ Pass" | ||
$failResult = "❌ Fail" | ||
$result = "| Name | Status | Description |`n" | ||
$result += "| --- | --- | --- |`n" | ||
foreach ($item in ($policies | Where-Object {$_.ExchangeLocation.DisplayName -contains "All"}) | Sort-Object -Property name) { | ||
$itemResult = $failResult | ||
if($item.Guid -in $resultPolicies.Guid){ | ||
$itemResult = $passResult | ||
} | ||
$result += "| $($item.name) | $($itemResult) | $($item.comment) |`n" | ||
} | ||
|
||
$testResultMarkdown = $testResultMarkdown -replace "%TestResult%", $result | ||
|
||
Add-MtTestResultDetail -Result $testResultMarkdown | ||
|
||
return $testResult | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.