From a2020ff5cef77c618c24a373bb30560f2c1282c7 Mon Sep 17 00:00:00 2001 From: DrIOS <58635327+DrIOSX@users.noreply.github.com> Date: Tue, 2 Apr 2024 10:32:19 -0500 Subject: [PATCH] Fix: Test-ModernAuthExchangeOnline and add notes. --- CHANGELOG.md | 11 +++ README copy.md | 93 ++++++++++++++++++ README.md | Bin 5788 -> 12446 bytes docs/index.html | Bin 19432 -> 40340 bytes helpers/Build-Help.ps1 | 14 ++- source/Public/Invoke-M365SecurityAudit.ps1 | 3 +- .../tests/Test-ModernAuthExchangeOnline.ps1 | 2 +- 7 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 README copy.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 407580a..520cdae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ The format is based on and uses the types of changes according to [Keep a Change ## [Unreleased] +### Fixed + +- Fixed Test-ModernAuthExchangeOnline Profile Level in object. + +### Added + +- CIS Download Notes to Comment-Help Block. +- Notes to README.md for CIS Download. + +## [0.1.0-preview0001] - 2024-03-25 + ### Added - Initial release of the M365FoundationsCISReport PowerShell module v0.0.1. diff --git a/README copy.md b/README copy.md new file mode 100644 index 0000000..962380e --- /dev/null +++ b/README copy.md @@ -0,0 +1,93 @@ +# M365FoundationsCISReport Module + +## License + +This PowerShell module is based on CIS benchmarks and is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. This means: + +- **Non-commercial**: You may not use the material for commercial purposes. +- **ShareAlike**: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. +- **Attribution**: Appropriate credit must be given, provide a link to the license, and indicate if changes were made. + +For full license details, please visit [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en). + +[Register for and download CIS Benchmarks](https://www.cisecurity.org/cis-benchmarks) + +## Invoke-M365SecurityAudit +### Synopsis +Invokes a security audit for Microsoft 365 environments. +### Syntax +```powershell + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-ELevel ] [-ProfileLevel ] [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-IncludeIG1] [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-IncludeIG2] [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-IncludeIG3] [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-IncludeRecommendation ] [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + +Invoke-M365SecurityAudit -TenantAdminUrl -DomainName [-SkipRecommendation ] [-DoNotConnect] [-DoNotDisconnect] [-NoModuleCheck] [-WhatIf] [-Confirm] [] + + + + +``` +### Parameters +| Name | Alias | Description | Required? | Pipeline Input | Default Value | +| - | - | - | - | - | - | +| TenantAdminUrl | | The URL of the tenant admin. This parameter is mandatory. | true | false | | +| DomainName | | The domain name of the Microsoft 365 environment. This parameter is mandatory. | true | false | | +| ELevel | | Specifies the E-Level \(E3 or E5\) for the audit. This parameter is optional and can be combined with the ProfileLevel parameter. | false | false | | +| ProfileLevel | | Specifies the profile level \(L1 or L2\) for the audit. This parameter is optional and can be combined with the ELevel parameter. | false | false | | +| IncludeIG1 | | If specified, includes tests where IG1 is true. | false | false | False | +| IncludeIG2 | | If specified, includes tests where IG2 is true. | false | false | False | +| IncludeIG3 | | If specified, includes tests where IG3 is true. | false | false | False | +| IncludeRecommendation | | Specifies specific recommendations to include in the audit. Accepts an array of recommendation numbers. | false | false | | +| SkipRecommendation | | Specifies specific recommendations to exclude from the audit. Accepts an array of recommendation numbers. | false | false | | +| DoNotConnect | | If specified, the cmdlet will not establish a connection to Microsoft 365 services. | false | false | False | +| DoNotDisconnect | | If specified, the cmdlet will not disconnect from Microsoft 365 services after execution. | false | false | False | +| NoModuleCheck | | If specified, the cmdlet will not check for the presence of required modules. | false | false | False | +| WhatIf | wi | | false | false | | +| Confirm | cf | | false | false | | +### Inputs + - None. You cannot pipe objects to Invoke-M365SecurityAudit. + +### Outputs + - CISAuditResult\\[\] The cmdlet returns an array of CISAuditResult objects representing the results of the security audit. + +### Note +This module is based on CIS benchmarks and is governed by the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. For more details, visit: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en + +### Examples +**EXAMPLE 1** +```powershell +Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com" -DomainName "contoso.com" -ELevel "E5" -ProfileLevel "L1" +``` +Performs a security audit for the E5 level and L1 profile in the specified Microsoft 365 environment. + +**EXAMPLE 2** +```powershell +Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com" -DomainName "contoso.com" -IncludeIG1 +``` +Performs an audit including all tests where IG1 is true. + +**EXAMPLE 3** +```powershell +Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com" -DomainName "contoso.com" -SkipRecommendation '1.1.3', '2.1.1' +``` +Performs an audit while excluding specific recommendations 1.1.3 and 2.1.1. + +**EXAMPLE 4** +```powershell +$auditResults = Invoke-M365SecurityAudit -TenantAdminUrl "https://contoso-admin.sharepoint.com" -DomainName "contoso.com" +PS> $auditResults | Export-Csv -Path "auditResults.csv" -NoTypeInformation +``` +Captures the audit results into a variable and exports them to a CSV file. + +### Links + + - [Online Version: [GitHub Repository URL]](#Online Version: [GitHub Repository URL]) diff --git a/README.md b/README.md index 962380e1ce97f16018a5ba2d411b89fbe26e51e2..f50e965fdfb1b6e182232b4b01e2aaaa7d6f4d04 100644 GIT binary patch literal 12446 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 diff --git a/docs/index.html b/docs/index.html index 5511d46ef2de2e243859440536d12710a8f40488..801e16a0086d398c3963e3cc52ac19732aeed72e 100644 GIT binary patch literal 40340 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 literal 19432 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 diff --git a/helpers/Build-Help.ps1 b/helpers/Build-Help.ps1 index 823a015..b84d417 100644 --- a/helpers/Build-Help.ps1 +++ b/helpers/Build-Help.ps1 @@ -1,3 +1,15 @@ Import-Module .\output\module\M365FoundationsCISReport\*\*.psd1 .\helpers\psDoc-master\src\psDoc.ps1 -moduleName M365FoundationsCISReport -outputDir docs -template ".\helpers\psDoc-master\src\out-html-template.ps1" -.\helpers\psDoc-master\src\psDoc.ps1 -moduleName M365FoundationsCISReport -outputDir ".\" -template ".\helpers\psDoc-master\src\out-markdown-template.ps1" -fileName ".\README.md" \ No newline at end of file +.\helpers\psDoc-master\src\psDoc.ps1 -moduleName M365FoundationsCISReport -outputDir ".\" -template ".\helpers\psDoc-master\src\out-markdown-template.ps1" -fileName ".\README.md" + + +<# + $ver = "v0.0.1" + git checkout main + git pull origin main + git tag -a $ver -m "Release version $ver Minor Update" + git push origin $ver + "Fix: PR #37" + git push origin $ver + # git tag -d $ver +#> \ No newline at end of file diff --git a/source/Public/Invoke-M365SecurityAudit.ps1 b/source/Public/Invoke-M365SecurityAudit.ps1 index cb32ce7..48f8c52 100644 --- a/source/Public/Invoke-M365SecurityAudit.ps1 +++ b/source/Public/Invoke-M365SecurityAudit.ps1 @@ -55,8 +55,9 @@ - Commercial use is not permitted. This module cannot be sold or used for commercial purposes. - Modifications and sharing are allowed under the same license. - For full license details, visit: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en + - Register for CIS Benchmarks at: https://www.cisecurity.org/cis-benchmarks .LINK - Online Version: [GitHub Repository URL] + Online Version: https://github.com/CriticalSolutionsNetwork/M365FoundationsCISReport #> function Invoke-M365SecurityAudit { diff --git a/source/tests/Test-ModernAuthExchangeOnline.ps1 b/source/tests/Test-ModernAuthExchangeOnline.ps1 index 7524cdc..db0c8af 100644 --- a/source/tests/Test-ModernAuthExchangeOnline.ps1 +++ b/source/tests/Test-ModernAuthExchangeOnline.ps1 @@ -27,7 +27,7 @@ function Test-ModernAuthExchangeOnline { $auditResults.IG2 = $true # As per CIS Control v8 mapping for IG2 $auditResults.IG3 = $true # As per CIS Control v8 mapping for IG3 $auditResults.ELevel = "E3" # Based on your environment (E3, E5, etc.) - $auditResults.Profile = "L1" + $auditResults.ProfileLevel = "L1" $auditResults.Rec = "6.5.1" $auditResults.RecDescription = "Ensure modern authentication for Exchange Online is enabled (Automated)" $auditResults.Result = $orgConfig.OAuth2ClientProfileEnabled