11 KiB
11 KiB
Changelog for M365FoundationsCISReport
The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Fixed
- Fixed
Get-ExceededLengthResultDetailfunction paramter validation for Exported Tests to allow for Null.
[0.1.16] - 2024-06-26
Added
- Added
Grant-M365SecurityAuditConsentfunction to consent to the Microsoft Graph Powershell API for a user.
[0.1.15] - 2024-06-26
Fixed
- Fixed test 8.6.1 to include all of the following properties in it's checks and output:
ReportJunkToCustomizedAddress,ReportNotJunkToCustomizedAddress,ReportPhishToCustomizedAddress,ReportJunkAddresses,ReportNotJunkAddresses,ReportPhishAddresses,ReportChatMessageEnabled,ReportChatMessageToCustomizedAddressEnabled - Fixed help
about_M365FoundationsCISReportexamples. - Fixed
Export-M365SecurityAuditTableto properly export when nested table tests are not included.
Changed
- Changed output of failure reason and details for 8.5.3 and 8.6.1 to be in line with other tests.
[0.1.14] - 2024-06-23
Fixed
- Fixed test 1.3.1 to include notification window for password expiration.
- Fixed 6.1.1 test definition to include the correct connection.
- Removed banner and warning from EXO and AzureAD connection step.
- Fixed missing CommentBlock for
Remove-RowsWithEmptyCSVStatusfunction. - Fixed formatting and color for various Write-Host messages.
Added
- Added export to excel to
Export-M365SecurityAuditTablefunction. Get-AdminRoleUserLicensefunction to get the license of a user with admin roles for 1.1.1.- Skip MSOL connection confirmation to
Get-MFAStatusfunction. - Added
Get-CISMgOutputfunction to get the output of the Microsoft Graph API per test. - Added
Get-CISExoOutputfunction to get the output of the Exchange Online API per test. - Added
Get-CISMSTeamsOutputfunction to get the output of the Microsoft Teams API per test. - Added
Get-CISSPOOutputfunction to get the output of the SharePoint Online API per test. - Added
Get-TestErrorfunction to get the error output of a test. - Updated Microsoft Graph tests to utilize the new output functions ('1.1.1', '1.1.3', '1.2.1', '1.3.1', '5.1.2.3', '5.1.8.1', '6.1.2', '6.1.3')
- Updated EXO tests to utilize the new output functions ('1.2.2', '1.3.3', '1.3.6', '2.1.1', '2.1.2', '2.1.3', '2.1.4', '2.1.5', '2.1.6', '2.1.7', '2.1.9', '3.1.1', '6.1.1', '6.1.2', '6.1.3', '6.2.1', '6.2.2', '6.2.3', '6.3.1', '6.5.1', '6.5.2', '6.5.3', '8.6.1').
- Updated MSTeams tests to utilize the new output functions ('8.1.1', '8.1.2', '8.2.1', '8.5.1', '8.5.2', '8.5.3', '8.5.4', '8.5.5', '8.5.6', '8.5.7', '8.6.1')
- Updated SPO tests to utilize the new output functions ('7.2.1', '7.2.2', '7.2.3', '7.2.4', '7.2.5', '7.2.6', '7.2.7', '7.2.9', '7.2.10', '7.3.1', '7.3.2', '7.3.4')
[0.1.13] - 2024-06-18
Added
- Added tenant output to connect function.
- Added skip tenant connection confirmation to main function.
Fixed
- Fixed comment examples for
Export-M365SecurityAuditTable.
Changed
- Updated
Sync-CISExcelAndCsvDatato be one function.
[0.1.12] - 2024-06-17
Added
- Added
Export-M365SecurityAuditTablepublic function to export applicable audit results to a table format. - Added paramter to
Export-M365SecurityAuditTableto specify output of the original audit results. - Added
Remove-RowsWithEmptyCSVStatuspublic function to remove rows with empty status from the CSV file. - Added
Get-Actionprivate function to retrieve the action for the test 6.1.2 and 6.1.3 tests. - Added output modifications to tests that produce tables to ensure they can be exported with the new
Export-M365SecurityAuditTablefunction.
[0.1.11] - 2024-06-14
Added
- Added Get-MFAStatus function to help with auditing mfa for conditional access controls.
Fixed
- Fixed 6.1.2/6.1.3 tests to minimize calls to the Graph API.
- Fixed 2.1.1,2.1.4,2.1.5 to suppress error messages and create a standard object when no e5"
[0.1.10] - 2024-06-12
Added
- Added condition comments to each test.
Fixed
- Fixed csv CIS controls that were not matched correctly.
[0.1.9] - 2024-06-10
Fixed
- Fixed bug in 1.1.1 that caused the test to fail/pass incorrectly. Added verbose output.
Docs
- Updated helper csv formatting for one cis control.
[0.1.8] - 2024-06-09
Added
- Added output type to functions.
Fixed
- Whatif support for
Invoke-M365SecurityAudit. - Whatif module output and module install process.
[0.1.7] - 2024-06-08
Added
- Added pipeline support to
Sync-CISExcelAndCsvDatafunction for[CISAuditResult[]]input.
Changed
- Updated
Connect-M365Suiteto makeTenantAdminUrlan optional parameter. - Updated
Invoke-M365SecurityAuditto makeTenantAdminUrlan optional parameter. - Improved connection handling and error messaging in
Connect-M365Suite. - Enhanced
Invoke-M365SecurityAuditto allow flexible inclusion and exclusion of specific recommendations, IG filters, and profile levels. - SupportsShoudProcess to also bypass connection checks in
Invoke-M365SecurityAuditas well as Disconnect-M365Suite.
[0.1.6] - 2024-06-08
Added
- Added pipeline support to
Sync-CISExcelAndCsvDatafunction for[CISAuditResult[]]input.
[0.1.5] - 2024-06-08
Added
- Updated test definitions for CIS Microsoft 365 Foundations Benchmark for better error handling and object output when errors occur.
- Added a parameter to the
Initialize-CISAuditResultfunction to allow for a static failed object to be created when an error occurs. - Refactored
Invoke-M365SecurityAuditto include a new private functionInvoke-TestFunctionfor executing test functions and handling errors. - Added a new private function
Measure-AuditResultto calculate and display audit results. - Enhanced error logging to capture failed test details and display them at the end of the audit.
- Added a private function
Get-RequiredModuleto initialize the$requiredModulesvariable for better code organization in the main script. - Updated
Test-MailboxAuditingE3andTest-MailboxAuditingE5functions to useFormat-MissingActionfor structuring missing actions into a pipe-separated table format. - Added more verbose logging to
Test-BlockMailForwardingand improved error handling for better troubleshooting. - Improved
Test-RestrictCustomScriptsto handle long URL lengths better by extracting and replacing common hostnames, and provided detailed output. - Added sorting to output.
- Created new functions for improved modularity.
- Parameter validation for Excel and CSV path in sync function.
- Added Output type to tests.
- Added
M365DomainForPWPolicyTestparameter toInvoke-M365SecurityAuditto specify testing only the default domain for password expiration policy when '1.3.1' is included in the tests.
Fixed
- Ensured the
Invoke-TestFunctionreturns aCISAuditResultobject, which is then managed in theInvoke-M365SecurityAuditfunction. - Corrected the usage of the join operation within
$detailsinTest-BlockMailForwardingto handle arrays properly. - Fixed the logic in
Test-RestrictCustomScriptsto accurately replace and manage URLs, ensuring compliance checks are correctly performed. - Updated the
Test-MailboxAuditingE3andTest-MailboxAuditingE5functions to handle the$allFailuresvariable correctly, ensuring accurate pass/fail results. - Fixed the connections in helper CSV and connect function.
- Removed verbose preference from
Test-RestrictCustomScripts. - Ensured that the output in
Test-BlockMailForwardingdoes not include extra spaces between table headers and data. - Fixed output in
Test-MailboxAuditingE3andTest-MailboxAuditingE5to correctly align with the new table format. - Added step 1 and step 2 in
Test-BlockMailForwardingdetails to ensure comprehensive compliance checks. - Fixed the issue with the output in
Test-RestrictCustomScriptsto ensure no extra spaces between table headers and data.
[0.1.4] - 2024-05-30
Added
- Test definitions filter function.
- Logging function for future use.
- Test grade written to console.
Changed
- Updated sync function to include connection info.
- Refactored connect/disconnect functions to evaluate needed connections.
[0.1.3] - 2024-05-28
Added
- Array list to store the results of the audit.
- Arraylist tests and helper template.
- New testing function.
- Missing properties to CSV.
Changed
- Refactored object initialization to source
RecDescription,CISControl, andCISDescriptionproperties from the CSV. - Added
AutomatedandConnectionproperties to the output object. - All test functions aligned with the test-template.
- Initialize-CISAuditResult refactored to use global test definitions.
Fixed
- Corrected test-template.
- Details added to pass.
Docs
- Updated comments and documentation for new functions.
[0.1.2] - 2024-04-29
Added
- Automated and organized CSV testing and added test 1.1.1.
- Functions to merge tests into an Excel benchmark.
- Public function for merging tests.
- Testing for guest users under test 1.1.4.
- Error handling for
Get-AdminRoleUserLicense. - Project URI and icon added to manifest.
Fixed
- Format for
TestDefinitions.csv. - Filename for
Test-AdministrativeAccountCompliance. - Error handling in test 1.1.1.
- Properties for skipping and including tests.
Docs
- Updated comments for new functions.
- Updated help documentation.
- Updated online link in public function.
[0.1.1] - 2024-04-02
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.
- Function
Invoke-M365SecurityAuditfor conducting a comprehensive security audit in Microsoft 365 environments. - Support for multiple parameter sets including ELevelFilter, IGFilters, RecFilter, and SkipRecFilter to cater to diverse audit requirements.
- Implementation of
-NoModuleCheck,-DoNotConnect, and-DoNotDisconnectswitches for enhanced control over module behavior. - Integration with required modules like ExchangeOnlineManagement, AzureAD, Microsoft.Graph, Microsoft.Online.SharePoint.PowerShell, and MicrosoftTeams.
- A dynamic test loading system based on CSV input for flexibility in defining audit tests.
- Comprehensive verbose logging to detail the steps being performed during an audit.
- Comment-help documentation for the
Invoke-M365SecurityAuditfunction with examples and usage details. - Attribution to CIS and licensing information under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License in the README.