View on GitHub

ScubaGear

Automation to assess the state of your M365 tenant against CISA's baselines

Dependencies

Before executing ScubaGear, its dependencies must be installed:

# Install the minimum required dependencies
Initialize-SCuBA

Note: ScubaGear utilizes several libraries from Microsoft to read data about their product configurations. At least one of these libraries is tied to PowerShell 5. Until Microsoft updates their library, ScubaGear will continue to use PowerShell 5. As this version is only available on Windows, ScubaGear will only run on Windows.

Initialize-SCuBA will install several modules on your system. These modules are listed in RequiredVersions.ps1. It will also install OPA.

Note: The Initialize-SCuBA cmdlet creates a .scubagear folder in the users home directory. This is where it stores OPA and any other related files.

OPA Installation

Normally, the Initialize-SCuBA cmdlet installs OPA. This can be verified by looking for the OPA executable file in C:\Users\johndoe\.scubagear\Tools. If it failed to do so, or you set a parameter to prevent it from doing so, you can install OPA separately.

Try this cmdlet first:

# Download OPA
Install-OPAforSCuBA

If that fails, you can manually download the OPA executable.

version

Note: To find the default supported version, go to the ScubaConfig file, look for the variable $ScubaDefaults, and find its parameter DefaultOPAVersion.

Note: To find older supported versions, go to the Support file, and find the constant named $ACCEPTABLEVERSIONS.

To verify that OPA is working, use the following command to check the version:

# Navigate to the Tools folder.
# Check the OPA version
.\opa_windows_amd64.exe version

Note: If ScubaGear is having trouble finding the OPA executable in the Tools folder, place the OPA executable in the directory from which you are executing Invoke-SCuBA. ScubaGear will also attempt to look in the current executing directory for the OPA executable.

Once the dependencies have been installed, you are ready to set the permissions.