Outlook Gebruiker Server List Entries Uitschakelen

πŸ’Ό Management Samenvatting

Het uitschakelen van gebruiker's mogelijkheid om aangepaste server entries toe te voegen voorkomt verbindingen met rogue Exchange servers en man-in-the-middle attacks waarbij aanvallers gebruikers misleiden om te verbinden met malicious servers.

Aanbeveling
IMPLEMENT
Risico zonder
Medium
Risk Score
5/10
Implementatie
3u (tech: 2u)
Van toepassing op:
βœ“ Microsoft Office 365 ProPlus
βœ“ Microsoft Outlook 2016
βœ“ Microsoft Outlook 2019
βœ“ Microsoft Outlook 2021
βœ“ Microsoft 365 Apps

Outlook's server configuratie bepaalt naar welke Exchange servers de client verbindt. Wanneer users aangepaste server entries kunnen toevoegen: **Rogue Server Attacks**: Aanvallers kunnen users social engineeren om malicious Exchange server toe te voegen die credentials steelt, e-mail onderschept, of malware distribueert. **Man-in-the-Middle**: Attackers kunnen users misleiden om via proxy/malicious server te verbinden, waardoor alle e-mail traffic gecompromitteerd wordt. **credential Harvesting**: Rogue servers vragen credentials, users voeren deze in, attackers hebben volledige mailbox access. **Configuration Drift**: Users die server settings aanpassen creΓ«ren support issues en inconsistent security posture. Door user modifications te blokkeren, ensures IT-beheerde server configuratie niet kan worden omzeild, wat verbinding met ungeautoriseerde servers voorkomt.

PowerShell Modules Vereist
Primary API: Registry / groep beleid
Connection: Lokale registry toegang of groep beleid Management
Required Modules: Windows PowerShell 5.1 of hoger

Implementatie

Deze beveiligingsmaatregel voorkomt dat users aangepaste Exchange server entries kunnen toevoegen aan Outlook profile. Configuration wordt centrally beheerde via autodiscover, groep beleid, of Intune. Registry instelling varieert per deployment type maar typically involves disabling handmatige server configuration UI elements.

Vereisten

  1. Microsoft Office 2016+
  2. Exchange Server of Exchange Online
  3. Autodiscover correct geconfigureerd
  4. Administrator-rechten voor registry/GPO
  5. User communication over locked server settings

Implementatie

**groep beleid**: Schakel uit handmatige server configuration via Office GPO templates. **Intune**: configureer Exchange account profiles met locked server settings. **Autodiscover**: zorg ervoor dat autodiscover werkt correct zodat users geen handmatige configuration nodig hebben.

Test: Users moeten NIET in staat zijn om aangepaste server entries toe te voegen in Account Settings.

Monitoring

Gebruik PowerShell-script disable-user-server-list-entries.ps1 (functie Invoke-Monitoring) – Controleren.

Monitor helpdesk tickets voor connectivity issues, verify autodiscover success rate, track attempts om server settings te wijzigen.

Compliance

  1. DISA STIG O365
  2. BIO U.12.2 - Netwerkbeveiliging
  3. ISO 27001 A.13.1 - Network security management

Remediatie

Gebruik PowerShell-script disable-user-server-list-entries.ps1 (functie Invoke-Remediation) – Herstellen.

Compliance & Frameworks

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
# Control: O365-OU-000001 - disable user server list entries #Requires -Version 5.1 # DISA STIG Microsoft Office 365 ProPlus v3r3 param( [string]$RegistryPath = "HKCU:\Software\Policies\Microsoft\Office\16.0\OUTLOOK\Security", [switch]$Monitoring, [switch]$Remediation, [switch]$Revert, [switch]$WhatIf ) function Invoke-Monitoring { Write-Host "Monitoring O365-OU-000001: disable user server list entries" -ForegroundColor Green try { $valueName = "disableuserserverlistentries" $expectedValue = 1 if (-not (Test-Path $RegistryPath)) { Write-Host "βœ— Registry path does not exist: $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" -ForegroundColor Green return $true } else { $actualValue = if ($currentValue) { $currentValue.$valueName } else { "Not Set" } Write-Host "βœ— Control non-compliant: $valueName = $actualValue (Expected: $expectedValue)" -ForegroundColor Red return $false } } catch { Write-Host "βœ— Error checking registry setting: $($_.Exception.Message)" -ForegroundColor Red return $false } } function Invoke-Remediation { Write-Host "Remediating O365-OU-000001: disable user server list entries" -ForegroundColor Yellow try { if ($WhatIf) { Write-Host " [WhatIf] Would set registry value" -ForegroundColor Cyan return $true } if (-not (Test-Path $RegistryPath)) { New-Item -Path $RegistryPath -Force | Out-Null Write-Host " Created registry path: $RegistryPath" -ForegroundColor Green } $valueName = "disableuserserverlistentries" $expectedValue = 1 Set-ItemProperty -Path $RegistryPath -Name $valueName -Value $expectedValue -Type DWord -Force Write-Host " Set $valueName to $expectedValue" -ForegroundColor Green Start-Sleep -Seconds 1 return Invoke-Monitoring } catch { Write-Host " Error during remediation: $_" -ForegroundColor Red return $false } } function Invoke-Revert { Write-Host "Reverting O365-OU-000001: disable user server list entries" -ForegroundColor Yellow try { if ($WhatIf) { Write-Host " [WhatIf] Would remove registry value" -ForegroundColor Cyan return $true } $valueName = "disableuserserverlistentries" if (Test-Path $RegistryPath) { Remove-ItemProperty -Path $RegistryPath -Name $valueName -ErrorAction SilentlyContinue Write-Host " Removed registry value: $valueName" -ForegroundColor Green } return $true } catch { Write-Host " Error during revert: $_" -ForegroundColor Red return $false } } # Main execution try { 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 "Usage: [-Monitoring] [-Remediation] [-Revert] [-WhatIf]" -ForegroundColor Yellow } } catch { Write-Host "Script execution error: $_" -ForegroundColor Red exit 1 }

Risico zonder implementatie

Risico zonder implementatie
Medium: medium risico: social engineering kan users misleiden om malicious server toe te voegen, wat credential theft en e-mail interceptie mogelijk maakt.

Management Samenvatting

Schakel uit user modifications van Exchange server settings. Autodiscover en IT-beheerde config only. Implementatie: 3 uur.