Questo articolo spiega come distribuire l'agente Falcon di CrowdStrike su dispositivi macOS e Windows utilizzando FleetDM e Factorial IT MDM. Imparerai come scaricare i pacchetti di installazione dalla console di amministrazione di CrowdStrike, recuperare il tuo CustomerID, importare i pacchetti in FleetDM, configurare gli script di installazione e creare policy di conformità per entrambi i sistemi operativi.
Prerequisiti
- Factorial IT MDM correttamente configurato e operativo
- Accesso alla console di amministrazione di Crowdstrike
- Accesso alla tua istanza FleetDM: https://yourdomain.mdm.getprimo.com
Distribuisci l'agente Crowstrike Falcon
Passaggio 1: Scarica i file di installazione e recupera il CustomerID
- Accedi alla console di amministrazione di Crowdstrike
- Vai a Configurazione e gestione host → Distribuisci → Download sensori
- Scarica i seguenti file:
- macOS: programma di installazione .pkg
- Windows: programma di installazione .exe
- Copia il tuo CustomerID (chiamato anche CID), che sarà necessario per attivare l'agente dopo l'installazione
Passaggio 2: importare i file di installazione in FleetDM
- Importa il pacchetto macOS
- In FleetDM, vai su Software → Aggiungi software → Pacchetto personalizzato
- Fare clic su Carica pacchetto e selezionare il file .pkg scaricato in precedenza
- Fare clic su Salva
- Importa il pacchetto Windows
- In FleetDM, vai su Software → Aggiungi software → Pacchetto personalizzato
- Fare clic su Carica pacchetto e selezionare il file .exe scaricato in precedenza
- Fare clic su Salva
Passaggio 3: aggiungere i comandi di installazione con CustomerID
- Script di installazione di macOS
- Nella configurazione del pacchetto .pkg di macOS, individua il campo Script di installazione (mostra opzioni avanzate)
- Aggiungere la seguente riga alla fine dello script (sostituire CustomerID con il proprio CID effettivo):
/Applications/Falcon.app/Contentes/Resources/falconctl license CustomerID- Fare clic su Salva modifiche.
- Script di installazione di Windows
- Nella configurazione del pacchetto .msi di Windows, individuare il campo script di installazione (mostra opzioni avanzate)
- Copia/incolla questo nello script di installazione (sostituisci CustomerID con il tuo CID effettivo):
$exeFilePath = "${env:INSTALLER_PATH}"try {# Add argument to install silently# Argument to make install silent depends on installer,# each installer might use different argument (usually it's "/S" or "/s")$processOptions = @{ FilePath = "$exeFilePath" ArgumentList = "/install /quiet /norestart CID=CustomerID" PassThru = $true Wait = $true} # Start process and track exit code$process = Start-Process @processOptions$exitCode = $process.ExitCode# Prints the exit codeWrite-Host "Install exit code: $exitCode"Exit $exitCode} catch { Write-Host "Error: $_" Exit 1}- Copia/incolla questo script come script di disinstallazione
# Fleet extracts name from installer (EXE) and saves it to PACKAGE_ID# variable$softwareName = $PACKAGE_ID# It is recommended to use exact software name here if possible to avoid# uninstalling unintended software.$softwareNameLike = "*$softwareName*"# Some uninstallers require a flag to run silently.# Each uninstaller might use different argument (usually it's "/S" or "/s")$uninstallArgs = "/S"$machineKey = ` 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'$machineKey32on64 = ` 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*'$exitCode = 0try {[array]$uninstallKeys = Get-ChildItem ` -Path @($machineKey, $machineKey32on64) ` -ErrorAction SilentlyContinue | ForEach-Object { Get-ItemProperty $_.PSPath }$foundUninstaller = $falseforeach ($key in $uninstallKeys) { # If needed, add -notlike to the comparison to exclude certain similar # software if ($key.DisplayName -like $softwareNameLike) { $foundUninstaller = $true # Get the uninstall command. Some uninstallers do not include # 'QuietUninstallString' and require a flag to run silently. $uninstallCommand = if ($key.QuietUninstallString) { $key.QuietUninstallString } else { $key.UninstallString } # The uninstall command may contain command and args, like: # "C:\Program Files\Software\uninstall.exe" --uninstall --silent # Split the command and args $splitArgs = $uninstallCommand.Split('"') if ($splitArgs.Length -gt 1) { if ($splitArgs.Length -eq 3) { $uninstallArgs = "$( $splitArgs[2] ) $uninstallArgs".Trim() } elseif ($splitArgs.Length -gt 3) { Throw ` "Uninstall command contains multiple quoted strings. " + "Please update the uninstall script.`n" + "Uninstall command: $uninstallCommand" } $uninstallCommand = $splitArgs[1] } Write-Host "Uninstall command: $uninstallCommand" Write-Host "Uninstall args: $uninstallArgs" $processOptions = @{ FilePath = $uninstallCommand PassThru = $true Wait = $true } if ($uninstallArgs -ne '') { $processOptions.ArgumentList = "$uninstallArgs" } # Start process and track exit code $process = Start-Process @processOptions $exitCode = $process.ExitCode # Prints the exit code Write-Host "Uninstall exit code: $exitCode" # Exit the loop once the software is found and uninstalled. break }}if (-not $foundUninstaller) { Write-Host "Uninstaller for '$softwareName' not found." # Change exit code to 0 if you don't want to fail if uninstaller is not # found. This could happen if program was already uninstalled. $exitCode = 1}} catch { Write-Host "Error: $_" $exitCode = 1}Exit $exitCode- Fare clic su Salva modifiche
Passaggio 4: creare criteri di conformità in FleetDM
Crea due policy separate per confermare che l'agente CrowdStrike sia installato sia sui dispositivi macOS che Windows.
4.1 Politica macOS
- In FleetDM, vai su Criteri > Aggiungi criterio.
- Utilizzare la seguente query:
SELECT 1 FROM apps WHERE bundle_identifier = 'com.crowdstrike.falcon';- Assegna un nome alla policy: CrowdStrike installato (Windows)
- Salva la polizza.
4.2 Criteri di Windows
- In FleetDM, vai su Criteri > Aggiungi criterio.
- Utilizzare la seguente query:
SELECT 1 FROM programs WHERE name = 'Falcon';- Assegna un nome alla policy: CrowdStrike installato (macOS)
- Salva la polizza.
Passaggio 5: assegnare l'applicazione alle policy di conformità
- In FleetDM, vai a Criteri.
- Fare clic su Gestisci automazioni > Software.
- Seleziona le policy appena create e assegna il Software corrispondente
Congratulazioni, hai appena implementato CrowdStrike!