Standaard file Blokkeer behavior moet geconfigureerd zijn zodat geblokkeerde Excel bestanden NIET worden geopend, wat de effectiviteit van file blocking policies garandeert.
Aanbeveling
IMPLEMENT
Risico zonder
Medium
Risk Score
5/10
Implementatie
1u (tech: 0.5u)
Van toepassing op:
β Excel
FILE BLOCKING ENFORCEMENT: Excel kan legacy/dangerous file types blokkeren via file blocking policies (Excel 2.x, 3.x, 4.x, dBase, DIF, SYLK). Standaard BEHAVIOR Opties: Open blocked files in Beveiligde weergave (partial bescherming - can still view/edit), doen niet open blocked files (full bescherming - aanbevolen). WAAROM 'DO NOT OPEN': Beveiligde weergave kan nog steeds vulnerabilities hebben, Users kunnen edit mode Schakel in (defeats purpose), volledige Blokkeer is nul exposure.
PowerShell Modules Vereist
Primary API: Intune / Group Policy Connection:Registry Required Modules:
Implementatie
Set file Blokkeer behavior: Registry policy. aanbevolen: Blocked files is doen niet open (hard block). EFFECT: Geblokkeerde legacy formats kunnen NIET worden geopend (zelfs niet in Beveiligde weergave).
Gebruik PowerShell-script default-file-block-behavior.ps1 (functie Invoke-Remediation) β Set file Blokkeer behavior.
monitoring
Gebruik PowerShell-script default-file-block-behavior.ps1 (functie Invoke-Monitoring) β Verifieer behavior.
Compliance en Auditing
DISA STIG O365-EX-000022
Remediatie
Gebruik PowerShell-script default-file-block-behavior.ps1 (functie Invoke-Remediation) β Herstellen.
Compliance & Frameworks
BIO: 12.02.01 - Bescherming tegen malware
Automation
Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).
PowerShell
<#
.SYNOPSIS
Stelt standaard file block gedrag in zodat geblokkeerde bestanden niet worden geopend in Excel
.DESCRIPTION
Dit script implementeert CIS control O365-EX-000022 voor het instellen van het standaard
file block gedrag in Microsoft Excel. Dit zorgt ervoor dat geblokkeerde bestanden niet
worden geopend, wat de beveiliging verbetert tegen potentieel schadelijke bestanden.
.REQUIREMENTS
- PowerShell 5.1 of hoger
- Lokale administrator rechten voor registry wijzigingen
- Microsoft Excel geΓ―nstalleerd
.PARAMETER Monitoring
Controleert de huidige compliance status
.PARAMETER Remediation
Past de aanbevolen configuratie toe
.PARAMETER Revert
Herstelt de originele configuratie
.PARAMETER WhatIf
Toont wat er zou gebeuren zonder wijzigingen door te voeren
.EXAMPLE
.\default-file-block-behavior.ps1 -Monitoring
Controleert of geblokkeerde bestanden niet worden geopend
.EXAMPLE
.\default-file-block-behavior.ps1 -Remediation
Stelt in dat geblokkeerde bestanden niet worden geopend
.NOTES
Registry pad: HKCU:\Software\Policies\Microsoft\Office\16.0\Excel\Security
Waarde: DefaultFileBlockBehavior = 0 (Blocked files are not opened)
CIS Control: O365-EX-000022
DISA STIG: Microsoft Office 365 ProPlus v3r3
#>#Requires -Version 5.1param(
[switch]$Monitoring,
[switch]$Remediation,
[switch]$Revert,
[switch]$WhatIf
)
# Globale variabelen$RegistryPath = "HKCU:\Software\Policies\Microsoft\Office\16.0\Excel\Security"
$ValueName = "DefaultFileBlockBehavior"
$ExpectedValue = 0$ControlID = "O365-EX-000022"
functionTest-Compliance {
try {
if (-not (Test-Path$RegistryPath)) {
return$false
}
$currentValue = Get-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
return ($currentValue -and $currentValue.$ValueName -eq $ExpectedValue)
}
catch {
return$false
}
}
function Invoke-Monitoring {
Write-Host "Monitoring ${ControlID}: Standaard file block gedrag instellen zodat geblokkeerde bestanden niet worden geopend" -ForegroundColor Green
try {
if (-not (Test-Path$RegistryPath)) {
Write-Host "β Registry pad bestaat niet: $RegistryPath" -ForegroundColor Red
return$false
}
$currentValue = Get-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
if ($currentValue -and $currentValue.$ValueName -eq $ExpectedValue) {
Write-Host "β Control compliant: ${ValueName} = $ExpectedValue (Geblokkeerde bestanden worden niet geopend)" -ForegroundColor Green
return$true
}
else {
$actualValue = if ($currentValue) { $currentValue.$ValueName } else { "Not Set" }
Write-Host "β Control non-compliant: ${ValueName} = $actualValue (Expected: $ExpectedValue - Geblokkeerde bestanden mogen niet worden geopend)" -ForegroundColor Red
return$false
}
}
catch {
Write-Host "β Fout bij controleren registry instelling: $($_.Exception.Message)" -ForegroundColor Red
return$false
}
}
function Invoke-Remediation {
Write-Host "Remediating ${ControlID}: Standaard file block gedrag instellen zodat geblokkeerde bestanden niet worden geopend" -ForegroundColor Yellow
try {
if ($WhatIf) {
Write-Host "WhatIf: Zou registry waarde instellen: ${ValueName} = $ExpectedValue" -ForegroundColor Cyan
return$true
}
if (-not (Test-Path$RegistryPath)) {
Write-Host "Registry pad aanmaken: $RegistryPath" -ForegroundColor Yellow
New-Item -Path $RegistryPath -Force | Out-Null
}
Set-ItemProperty -Path $RegistryPath -Name $ValueName -Value $ExpectedValue -Type DWord -Force
Write-Host "β Registry waarde succesvol ingesteld: ${ValueName} = $ExpectedValue (Geblokkeerde bestanden worden niet geopend)" -ForegroundColor Green
Start-Sleep -Seconds 1return Invoke-Monitoring
}
catch {
Write-Host "β Fout bij configureren registry instelling: $($_.Exception.Message)" -ForegroundColor Red
return$false
}
}
function Invoke-Revert {
Write-Host "Reverting ${ControlID}: Standaard file block gedrag herstellen" -ForegroundColor Yellow
try {
if ($WhatIf) {
Write-Host "WhatIf: Zou registry waarde verwijderen: ${ValueName}" -ForegroundColor Cyan
return$true
}
if (Test-Path$RegistryPath) {
Remove-ItemProperty -Path $RegistryPath -Name $ValueName -ErrorAction SilentlyContinue
Write-Host "β Registry waarde verwijderd: ${ValueName}" -ForegroundColor Green
}
return$true
}
catch {
Write-Host "β Fout bij herstellen registry instelling: $($_.Exception.Message)" -ForegroundColor Red
return$false
}
}
# Hoofd uitvoeringtry {
if ($Monitoring) {
$result = Invoke-Monitoring
exit $(if ($result) { 0 } else { 1 })
}
elseif ($Remediation) {
$result = Invoke-Remediation
exit $(if ($result) { 0 } else { 1 })
}
elseif ($Revert) {
$result = Invoke-Revert
exit $(if ($result) { 0 } else { 1 })
}
else {
Write-Host "Gebruik: .\default-file-block-behavior.ps1 [-Monitoring] [-Remediation] [-Revert] [-WhatIf]" -ForegroundColor Yellow
Write-Host " -Monitoring: Controleer huidige compliance status" -ForegroundColor White
Write-Host " -Remediation: Pas aanbevolen configuratie toe" -ForegroundColor White
Write-Host " -Revert: Herstel originele configuratie" -ForegroundColor White
Write-Host " -WhatIf: Toon wat er zou gebeuren" -ForegroundColor White
Write-Host ""
Write-Host "Handmatige configuratie:" -ForegroundColor Cyan
Write-Host "Group Policy: User Configuration > Administrative Templates > Microsoft Excel 2016" -ForegroundColor White
Write-Host "> Excel Options > Security > Trust Center > File Block Settings" -ForegroundColor White
Write-Host "> Set default file block behavior: Enabled: Blocked files are not opened" -ForegroundColor White
}
}
catch {
Write-Host "β Onverwachte fout: $($_.Exception.Message)" -ForegroundColor Red
exit 1
}
Risico zonder implementatie
Risico zonder implementatie
Medium: Medium risico: Weak file blocking (Beveiligde weergave kan zijn bypassed). Hard Blokkeer aanbevolen.
Management Samenvatting
Set file Blokkeer behavior is doen niet open. Enforces file blocking. DISA STIG. Implementatie: 30-60 min.