
Сценарий PowerShell, который автоматизирует оценку безопасности сред Microsoft 365.

Повысить уровень безопасности Microsoft 365, создав PowerShell-скрипт, автоматизирующий оценку безопасности сред Microsoft 365.
Soteria Inspect родился из проекта 365Inspect и является SaaS-решением компании Soteria для оценки безопасности арендатора Microsoft 365, включающим более 200 точек проверки во всем наборе сервисов Microsoft 365.
Soteria Inspect для Microsoft 365 позволяет клиентам отслеживать изменения затронутых объектов по каждому результату с течением времени, а также усилия по устранению, и теперь включает поддержку мультиарендности для MSP и родительских организаций, чтобы держать руку на пульсе своих дочерних арендаторов.
Soteria Inspect для Microsoft 365 доступен напрямую через Soteria или через Azure Marketplace
Смотрите все наши предложения Soteria Inspect для Microsoft 365

365Inspect Community Edition требует административные модули PowerShell для управления Exchange, Microsoft Graph, Microsoft Teams и модуль администрирования SharePoint.
365Inspect теперь совместим с PowerShell Core (6+) и требует операционной системы Microsoft Windows из-за зависимостей от необходимых модулей.
PowerShell-скрипт 365Inspect.ps1 проверяет установленные модули и минимальные версии модулей, необходимые для работы инспекторов.
Если у вас не установлены эти модули, вам будет предложено установить их, и с вашего согласия скрипт попытается выполнить установку. В противном случае вы можете установить их с помощью следующих команд в командной строке PowerShell с правами администратора или следуя инструкциям по ссылкам ниже:
Install-Module -Name ExchangeOnlineManagement -AllowClobber -Force
Install-Module -Name PnP.PowerShell -AllowClobber -Force
Install-Module -Name Microsoft.Graph -AllowClobber -Force
Install-Module -Name MicrosoftTeams -AllowClobber -Force
Установка Exchange Online PowerShell
Установка модуля SharePoint PnP PowerShell
После установки вышеперечисленного загрузите папку с исходным кодом 365Inspect из Github с помощью браузера или с помощью git clone.
С 9 сентября 2024 года PnP.PowerShell требует, чтобы администраторы арендаторов регистрировали собственное приложение для использования с SharePoint/PnP службой. Смотрите следующую документацию PnP.PowerShell для необходимых шагов. Регистрация приложения Entra ID для использования с PnP PowerShell Определение разрешений Аутентификация
ПРИМЕЧАНИЕ: Если вы используете PowerShell 5.1, PnP PowerShell больше не совместим, и все инспекторы SharePoint будут исключены во время выполнения.
Существует команда, которую можно запустить для автоматизации этого шага.```powershell Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP Rocks" -Tenant [yourtenant].onmicrosoft.com -Interactive
__Запомните название или Application/Client ID созданного приложения. Теперь это требуется для аутентификации, и вам будет предложено ввести AppID!__
# Совместимость модулей
В настоящее время модули Microsoft.Graph и Microsoft.Graph.Beta версий 2.23.0 несовместимы с ExchangeOnlineManagement версии 3.5.1
Следующие версии совместимы:
- Microsoft.Graph version 2.21.1
- Microsoft.Graph.Beta version 2.21.1
- ExchangeOnlineManagement version 3.5.0
Для установки совместимых версий можно использовать следующие команды:```powershell
Install-Module -Name Microsoft.Graph -Scope CurrentUser -RequiredVersion 2.21.1 -AllowClobber -Force
Install-Module -Name Microsoft.Graph.Beta -Scope CurrentUser -RequiredVersion 2.21.1 -AllowClobber -Force
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser -RequiredVersion 3.5.0 -AllowClobber -Force
Поскольку вы будете запускать 365Inspect с правами администратора, вам следует разместить его в логичном месте и убедиться, что содержимое папки доступно для чтения и записи только административному пользователю. Это особенно важно, если вы планируете установить 365Inspect в место, где он будет часто выполняться или использоваться как часть автоматизированного процесса. ПРИМЕЧАНИЕ: Для работы 365Inspect не требуется запускать его в окне PowerShell с правами администратора.
Чтобы запустить 365Inspect, откройте консоль PowerShell и перейдите в папку, в которую вы загрузили 365Inspect:
cd 365Inspect
Вы будете взаимодействовать с 365Inspect, выполняя главный файл сценария 365Inspect.ps1 из командной строки PowerShell.
Все, что требуется 365Inspect для проверки вашего клиента M365 — это доступ через учетную запись M365 с соответствующими разрешениями, поэтому большинство параметров командной строки относятся к оцениваемой организации и методу аутентификации.
Выполнение 365Inspect выглядит следующим образом:
.\365Inspect.ps1 -OutPath <value> -UserPrincipalName [email protected] -Auth <MFA|DEVICE|ALREADY_AUTHED|APP> -pnpPowerShellApplicationId <Your Pnp PowerShell Application/Client ID>
Например, для входа с вводом учетных данных в браузере с поддержкой MFA:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA
Для входа в государственное или другое национальное облачное развертывание (Китай, Германия и т.д.) необходимо указать параметр -Environment следующим образом:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -Environment USGovGCCHigh
Допустимые аргументы для -Environment:
Аутентификация приложения может быть выполнена при запуске сценария со следующими параметрами:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth APP
Для входа в государственное или другое национальное облачное развертывание (Китай, Германия и т.д.) необходимо указать параметр -Environment следующим образом:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth APP -Environment USGovGCCHigh