Table de Matieres
I. Présentation
Après avoir vu comment installer Exchange Server 2019 sur Windows Server 2022, nous allons voir comment protéger l’interface d’administration d’Exchange appelée « Centre d’administration Exchange » (ou ECP / EAC) en limitant l’accès à quelques adresses IP sources.
Je vous rappelle que par défaut, le Centre d’administration Exchange est accessible depuis le serveur Exchange en lui-même, depuis une machine du réseau local, mais aussi à partir d’Internet (si vous avez autorisé le flux HTTPS pour un accès au Webmail). Pour des raisons évidentes de sécurité, il est préférable de limiter l’accès à la console d’administration à partir de certaines adresses IP, ou au pire, à partir du réseau local. Il vaut mieux éviter que cette console soit accessible depuis l’extérieur.
Puisque le protocole HTTPS est utilisé aussi pour accéder au Webmail, nous ne pouvons pas jouer directement avec le pare-feu de Windows, car on couperait aussi l’accès au Webmail. La restriction doit être appliquée sur une couche supérieure. Nous avons deux solutions pour appliquer des restrictions par adresses IP :
- Configurer le serveur Web IIS grâce au module de restriction par adresses IP
- Configurer une « Client Access Rules » dans Exchange 2019 (pas disponible sur les versions antérieures)
II. Méthode n°1 : restriction via IIS
A. Installer la fonction « Restrictions par adresse IP et domaine »
Commençons par cette première méthode, plus traditionnelle on peut dire.
Sur votre serveur Exchange, dégainez la console PowerShell en tant qu’administrateur et exécutez la commande suivante :
Install-WindowsFeature -Name Web-IP-Security
Cette commande revient à installer la fonctionnalité suivante dans IIS, à partir du gestionnaire de serveur :
Une fois l’installation effectuée, passez à la suite. Il n’est pas utile de redémarrer le serveur.
B. Restreindre l’accès à l’ECP d’Exchange
Ouvrez la console de management d’IIS et déroulez la section « Sites« . Ici, cliquez sur « Default Web Site » (1), puis sur « ecp » (2) afin d’accéder à « IP Address and Domain Restrictions » (ou « Restrictions par adresse IP et domaine » en français).
Dans la section qui s’ouvre, cliquez sur « Add Allow Entry » (1) pour ajouter une nouvelle autorisation. L’objectif ici est d’indiquer quel est la machine ou le sous-réseau autorisé à accéder au Centre d’administration Exchange. Il est possible d’ajouter plusieurs règles d’autorisation. Dans cet exemple, j’autorise les connexions à ECP aux machines du sous-réseau « 10.10.100.0/24 » (2). Quand c’est fait, validez avec « OK » (3).
Une fois que votre règle est définie (c’est modifiable par la suite), cliquez sur « Edit Feature Settings » (1) afin de modifier l’action à appliquer pour les clients non autorisés. Par défaut, c’est autorisé, donc nous devons inverser ce comportement. Choisissez « Deny » (2) et pour l’action à réaliser, choisissez « Abort » (3) pour couper la connexion avec le client qui tente de se connecter. Validez avec « OK » (4).
Pour finir, cliquez sur « Default Web Site » à gauche puis à droite sur le bouton « Restart » pour redémarrer le site IIS dans le but d’appliquer la modification.
À partir d’un client autorisé, l’accès au Centre d’administration Exchange doit fonctionner normalement. Tandis qu’à partir d’un client non autorisé, une erreur doit s’afficher, comme ceci :
III. Méthode n°2 : Client Access Rules
Pour protéger le centre d’administration Exchange, nous pouvons mettre en place une règle Client Access Rules. C’est une méthode officielle dont la configuration s’effectue uniquement en PowerShell à partir de l’Exchange Management Shell.
Note : avec les règles Client Access Rules, il est possible d’aller plus loin qu’une restriction basée sur les adresses IP. Par exemple, on peut s’appuyer sur la valeur d’un attribut dans l’Active Directory.
Je vous invite à ouvrir la console Exchange Management Shell.
Tout d’abord, vous pouvez lister les règles en place. Par défaut, il n’y en a pas.
Get-ClientAccessRule
Ensuite, nous allons mettre en place une règle pour toujours autoriser le Remote PowerShell afin de ne pas perdre la main sur l’Exchange si l’on créer une mauvaise règle… C’est une recommandation de Microsoft et l’entreprise américaine fournie même la commande pour créer cette règle :
New-ClientAccessRule -Name "Always Allow Remote PowerShell" -Action AllowAccess -AnyOfProtocols RemotePowerShell -Priority 1
La règle avec la priorité 1 sera donc celle-ci. Ensuite, nous allons créer une nouvelle règle sur le même principe. Cette règle permet de refuser l’accès au Centre d’administration Exchange sauf pour les machines qui appartiennent au réseau « 10.10.100.0/24 ». Ce qui donne :
New-ClientAccessRule -Name "Allow ECP console only for 10.10.100.0/24" -Action DenyAccess -AnyOfProtocols ExchangeAdminCenter -ExceptAnyOfClientIPAddressesOrRanges 10.10.100.0/24 -Priority 2
Suite à l’exécution de cette commande, vous pouvez lister vos règles :
Une fois la règle en place, vous pouvez tester pour voir si la restriction s’applique bien… Là, je parviens à me connecter à la page d’authentification d’ECP, et même à me connecter. Par contre, je ne peux pas aller plus loin, car la règle se déclenche comme le montre l’image ci-dessous. On peut dire que c’est cohérent : ce n’est pas IIS qui me bloque, mais Exchange.
Ce n’est pas ce que vous souhaitiez ? Pas de soucis, vous pouvez supprimer la règle en précisant son nom :
Remove-ClientAccessRule "Allow ECP console only for 10.10.100.0/24"
L’aide complète sur les Client Access Rules d’Exchange 2019 est disponible sur le site de Microsoft :
IV. Conclusion
Nous venons de voir comment restreindre l’accès au centre d’administration Exchange en appliquant une restriction basée sur les adresses IP. Cela n’a pas d’impact sur le Webmail Exchange en lui-même, mais c’est une action recommandée pour protéger l’interface d’administration. L’idéal étant de permettre l’accès à partir d’une ou plusieurs machines de management (ou un VLAN de management), et refuser les accès en provenance de l’extérieur ainsi que les accès provenant du réseau local (hors machines déclarées).