Mettre en œuvre des contrôles stricts des extensions pour empêcher les extensions malveillantes d'exploiter les vulnérabilités du navigateur. Cela est crucial car les extensions peuvent contourner de nombreuses fonctionnalités de sécurité du navigateur.
# Créer un fichier JSON de politique Chrome pour la gestion des extensions
# Enregistrer sous : C:\Program Files\Google\Chrome\Application\master_preferences
{
"homepage": "https://intranet.company.com",
"homepage_is_newtabpage": false,
"browser": {
"show_home_button": true
},
"bookmark_bar": {
"show_on_all_tabs": true
},
"distribution": {
"skip_first_run_ui": true,
"show_welcome_page": false,
"import_search_engine": false,
"import_history": false,
"import_bookmarks": false,
"import_home_page": false,
"do_not_create_any_shortcuts": true,
"do_not_create_desktop_shortcut": true,
"do_not_create_quick_launch_shortcut": true,
"do_not_create_taskbar_shortcut": true
},
"extensions": {
"settings": {
"cjpalhdlnbpafiamejdnhcphjbkeiagm": {
"location": 1,
"manifest": {
"name": "uBlock Origin",
"permissions": ["activeTab", "storage"]
}
},
"nngceckbapebfimnlniiiahkandclblb": {
"location": 1,
"manifest": {
"name": "Bitwarden",
"permissions": ["activeTab", "storage"]
}
}
}
}
}
Créer une liste blanche complète des extensions à l'aide de la stratégie de groupe :
# Script PowerShell pour configurer la liste blanche des extensions via le registre
$allowedExtensions = @(
"cjpalhdlnbpafiamejdnhcphjbkeiagm", # uBlock Origin
"nngceckbapebfimnlniiiahkandclblb", # Bitwarden
"gighmmpiobklfepjocnamgkkbiglidom", # AdBlock
"fhbjgbiflinjbdggehcddcbncdddomop" # Postman Interceptor
)
# Chemin du registre pour les politiques Chrome
$chromePolicyPath = "HKLM:\SOFTWARE\Policies\Google\Chrome"
$extensionPath = "$chromePolicyPath\ExtensionInstallAllowlist"
# Créer la structure du registre
if (!(Test-Path $chromePolicyPath)) {
New-Item -Path $chromePolicyPath -Force
}
if (!(Test-Path $extensionPath)) {
New-Item -Path $extensionPath -Force
}
# Définir la liste de blocage des extensions (bloquer tout par défaut)
Set-ItemProperty -Path $chromePolicyPath -Name "ExtensionInstallBlocklist" -Value "*" -Type String
# Ajouter les extensions autorisées
for ($i = 0; $i -lt $allowedExtensions.Count; $i++) {
Set-ItemProperty -Path $extensionPath -Name ($i + 1) -Value $allowedExtensions[$i] -Type String
}
# Paramètres de sécurité supplémentaires
Set-ItemProperty -Path $chromePolicyPath -Name "DeveloperToolsAvailability" -Value 2 -Type DWord # Désactiver les outils de développement
Set-ItemProperty -Path $chromePolicyPath -Name "ExtensionInstallForcelist" -Value "" -Type String
Set-ItemProperty -Path $chromePolicyPath -Name "SafeBrowsingProtectionLevel" -Value 2 -Type DWord # Protection renforcée
Write-Host "Politiques d'extension Chrome configurées avec succès" -ForegroundColor Green
Mettre en œuvre la surveillance des extensions et la vérification de la conformité :
# Script de surveillance de la conformité des extensions
function Get-ChromeExtensionCompliance {
param([string[]]$ComputerNames)
$results = @()
foreach ($computer in $ComputerNames) {
if (Test-Connection -ComputerName $computer -Count 1 -Quiet) {
$extensionData = Invoke-Command -ComputerName $computer -ScriptBlock {
$userProfiles = Get-ChildItem "C:\Users" -Directory | Where-Object { $_.Name -notmatch "^(Public|Default|All Users)$" }
$extensions = @()
foreach ($profile in $userProfiles) {
$extensionPath = "$($profile.FullName)\AppData\Local\Google\Chrome\User Data\Default\Extensions"
if (Test-Path $extensionPath) {
$installedExtensions = Get-ChildItem $extensionPath -Directory
foreach ($ext in $installedExtensions) {
$extensions += @{
User = $profile.Name
ExtensionID = $ext.Name
Path = $ext.FullName
}
}
}
}
return $extensions
}
$results += [PSCustomObject]@{
Computer = $computer
Extensions = $extensionData
ComplianceStatus = "Needs Review"
}
}
}
return $results
}
# Exécuter la vérification de conformité
$complianceResults = Get-ChromeExtensionCompliance -ComputerNames (Get-ADComputer -Filter * | Select-Object -First 10 -ExpandProperty Name)
$complianceResults | Export-Csv -Path "C:\ChromeExtensionCompliance-$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation
Astuce pro : Auditez régulièrement votre liste blanche d'extensions. Supprimez les extensions qui ne sont plus nécessaires et surveillez les nouvelles vulnérabilités de sécurité dans les extensions approuvées.
Vérification : Naviguez vers chrome://extensions sur les machines de test pour confirmer que seules les extensions autorisées sont installées et activées.