Introduction
Cet article présente une solution sécurisée de publication de tous les services d’Exchange 2007 à l’aide d’ISA server 2006, avec une seule adresse IP publique.
Environnement
L’environnement choisi pour cet article est le suivant :

|
Nom |
Role |
Configuration IP |
Note |
|
SRVDC01 |
DC / MBX |
192.168.1.1 |
|
|
SRVCAS01 |
CAS / HUB |
192.168.1.2 |
|
|
SRVISA01 |
ISA 2006 SP1 |
192.168.1.100 10.0.0.1 (Externe) |
Le serveur ISA n’est pas dans le domaine |
|
XP |
Client XP |
192.168.1.5 10.0.0.5 (externe) |
Pourquoi ISA Server ?
ISA Server est un firewall applicatif, permettant de publier de façon sécurisée les services de messagerie Exchange.
Contrairement à un firewall matériel, ISA Server peut inspecter le trafic SSL et ainsi vérifier les communications entre les clients et les serveurs publiés.
De plus ISA permet de sécuriser l’accès aux services publiés en pré-authentifiant les clients, évitant ainsi les connections directes non authentifiés entre les clients et les services publiés.
ISA Server Membre du Domaine ou pas ?
Grande question que celle de l’appartenance au domaine d’ISA Server, chacune des méthodes ayant ses détracteurs, un excellent article présente les avantages et désavantages des différentes solutions sur le site Isaserver.org à l’adresse suivante : http://www.isaserver.org/tutorials/Debunking-Myth-that-ISA-Firewall-Should-Not-Domain-Member.html
Maintenant à vous de faire votre propre choix !
Les deux méthodes présentant certains avantages, par exemple, si vous voulez utiliser le protocole Kerberos, votre serveur ISA devra être membre du domaine Active Directory, idem dans le cas de l’utilisation de certificats clients.
Dans cet article, je présente la publication via ISA 2006 n’étant pas membre du domaine Windows, et en implémentant une authentification LDAP.
Les méthodes de pré-authentification d’ISA
Voici les méthodes disponibles de pré-authentification si vous ne désirez pas que votre serveur ISA soit intégré au domaine Windows :
-
Radius
-
Présentation de Radius et des avantages Radius
http://download.microsoft.com/download/e/c/2/ec250a60-3fd1-4f2f-969c-94aff6fc1fe0/wc111803.exe
-
-
LDAP
L’authentification LDAP présente quelques avantages par rapport à Radius
-
Pas d’installation de composants supplémentaire, l’authentification se fait directement entre ISA Server et les services Active Directory
- L’authentification peut s’appuyer sur des groupes Active Directory, contrairement aux Services Radius
-
ISA Server présente bien d’autres avantages tels que la délégation d’authentification par exemple, permettant à ISA de répondre aux demandes d’authentification des serveurs internes, en répondant avec les informations obtenues de la part des utilisateurs au moment de la pré-authentification ; Evitant ainsi au client de s’authentifier plusieurs fois.
ISA permet aussi de mettre en place une fonctionnalité de Single Sign-On permettant d’accéder à plusieurs ressources du LAN (OWA et MOSS / SharePoint par ex) en ne s’authentifiant qu’une seule fois.
Préparation de l’infrastructure Exchange
Installation du composant RPC over http Proxy
Tout d’abord nous allons installer le composant « RPC Over http Proxy » nécessaire sur le serveur CAS
Si votre serveur CAS est un Serveur Windows 2008, vous devez désactiver le protocole IPV6 sur ce serveur.
Un extrait de http://msexchangeteam.com/comments/449053.aspx:
DSProxy and IPv6
- Unselect IPv6 from the properties of your NIC (on the RPC-over-HTTP Proxy machine); that will force the RPC-over-HTTP Proxy to use IPv4 to talk to Exchange and everything will be fine. In most cases, this step suffices. If it does not, continue with steps 2 and 3.
- Under the regkey HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters, add a 32 bit DWORD with the name Disabled Components and value 0xFF
- Reboot the machine
If you’re in a single-server scenario where the RPCProxy and Mailbox are on the same machine, then the above does not work since the loopback interface still uses IPv6. In this case, you need to make the following changes in the system32\drivers\etc\hosts file:
- Comment out the line ":::1 localhost"
- Add the following two lines:
<IPv4 address> <hostname of the computer>
<IPv4 address> <FQDN of the computer>
Préparation de PKI Windows
Ensuite sur le serveur CAS, nous allons créer un certificat de type SAN (Subject Alternative Name) permettant d’affecter plusieurs noms différents à un même certificat.
Pour cela, je dois faire une modification sur ma PKI Windows.
Pour de plus amples informations sur les SAN et les PKI Windows
http://support.microsoft.com/kb/931351/en-us
Aller sur votre serveur PKI et lancez ces commandes :
certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
Demande de certificat
Il est ensuite possible de créer une demande de certificats à partir de notre serveur CAS via la commande suivante :
New-ExchangeCertificate -GenerateRequest -Path c:\Cert.req -KeySize 1024 -SubjectName "c=FR, s=France, l=Paris, o=INTRA, cn=mail.intra.net" -DomainName mail.intra.net, srvcas01.intra.net, srvcas01 -IncludeAutoDiscover -PrivateKeyExportable $True
Note : Le paramètre –IncludeAutoDiscover n’est disponible que si la demande est faite à partir d’un serveur CAS
Une fois le fichier de demande créé, nous allons nous connecter à notre PKI afin de nous faire délivrer le certificat
Vous pouvez vous connecter à votre PKI via l’URL htpp://NomServeur/certsrv
- Cliquez sur « Request a certificate »
- Cliquer sur « Advanced Certificate Request »
- Cliquez sur « Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file »
Ensuite ouvrez le fichier créé lors de la generation de la demande de certificate,
Dans notre exemple « C:\Cert.req »
-
Sélectionnez les lignes de code (sans la première ligne et sans la dernière, comme ci-dessus,
- Collez le code dans la page web et sélectionnez un Template de type « Web Server »
- Sélectionnez « Download Certificate » et enregistrez le certificat en local (dans cet exemple C:\certnew.cer)
Importation et activation du certificat
Maintenant que nous avons notre certificat, nous allons l’importer et l’activer pour les services IIS
Import-ExchangeCertificate "C:\certnew.cer" | Enable-ExchangeCertificate -Services IIS
Une fois installé vous pouvez aller vérifier votre certificat en ouvrant une console MMC et en ajoutant le snap-in Certificat pour le compte ordinateur
Puis naviguez dans les répertoires
Certificates (Local Computer) \ Personnal \ Certificates
Le certificat doit ressembler à ceci
Nous voyons ci-dessus tous les noms affectés à ce certificat.
Méthodes d’authentification
Outlook Web Access
Nous devons configurer notre serveur CAS en utilisant une authentification de base, comme ci-dessous avec les propriétés de l’OWA
Configurer le Répertoire virtuel OWA pour les URL suivantes :
Interne : https://nomduserveur/owa
Externe : https://mail.domain.com/owa
Active Sync
Configurer de la même façon le Répertoire Active Sync
URL Interne : https://NomduServeurCAS/Microsoft-Server-ActiveSync
URL Externe: https://Mail.domain.com/Microsoft-Server-ActiveSync
- Cochez la case correspondant à l’authentification de base.
Offline Adress Book
Paramétrez les URL comme ci-dessous
Interne : https://NomDuServeurCAS/OAB
Externe : https://mail.domain.com/OAB
Activation de la fonctionnalité Outlook Anywhere
Pour activer la fonctionnalité Outlook Anywhere, sélectionnez votre serveur CAS dans la console Exchange et cliquez sur Enable Outlook Anywhere

-
Entrez le nom qui sera utilisé par les clients pour se connecter (Mail.domain.com) et sélectionnez l’authentification de base.
Déclaration des URL des services Web Exchange
Un script téléchargeable sur http://www.exchangeninjas.com/set-allvdirs permet de définir toutes les URL internes et externes de tous les services web Exchange, pour chaque serveur CAS.
Le script nous demande quel nom sera utilisé pour accéder aux services web Exchange puis nous demande de valider pour chaque service les URL d’accès,
Je pars du principe que tous les services internes utilisent le nom fqdn du serveur https://nomduServeurCAS/Serviceweb
Je pars du principe que tous les services externes utilisent le nom défini pour les URL externes https://mail.domain.com/Serviceweb
Pour chaque service, le script demande d’abord l’URL Interne puis l’URL Externe
Base name of virtual directory (e.g. mail.company.com): mail.intra.net
Setting Autodiscover Service Connection Point
Looking at Server: SRVCAS01
Current SCP Value: https://srvcas01.intra.net/autodiscover/autodiscover.xml
New SCP Value: https://mail.intra.net/autodiscover/autodiscover.xml
Set this Value (Y/N): n
Setting Exchange Web Services Virtual Directories
Looking at Server: EWS (Default Web Site)
Current Internal Value: https://srvcas01.intra.net/EWS/Exchange.asmx
New Internal Value: https://mail.intra.net/EWS/Exchange.asmx
Set this Value (Y/N): n
Looking at Server: EWS (Default Web Site)
Current External Value: https://srvcas01.intra.net/EWS/Exchange.asmx
New External Value: https://mail.intra.net/EWS/Exchange.asmx
Set this Value (Y/N): y
Setting OAB Virtual Directories
Looking at Server: OAB (Default Web Site)
Current Internal Value: https://srvcas01.intra.net/OAB
New Internal Value: https://mail.intra.net/OAB
Set this Value (Y/N): n
Looking at Server: OAB (Default Web Site)
Current External Value: https://mail.intra.net/OAB
New External Value: https://mail.intra.net/OAB
Set this Value (Y/N): y
Setting UM Virtual Directories
Looking at Server: UnifiedMessaging (Default Web Site)
Current Internal Value: https://srvcas01.intra.net/UnifiedMessaging/Service.asmx
New Internal Value: https://mail.intra.net/UnifiedMessaging/Service.asmx
Set this Value (Y/N): n
Looking at Server: UnifiedMessaging (Default Web Site)
Current External Value: https://srvcas01.intra.net/UnifiedMessaging/Service.asmx
New External Value: https://mail.intra.net/UnifiedMessaging/Service.asmx
Set this Value (Y/N): y
Note: bien vérifier que tous les services sont bien en HTTPS et pas HTTP (OAB)
Exportation du Certificat
Nous devons maintenant exporter le certificat et sa clé privée afin de l’importer sur le serveur ISA
Faite un clic droit sur le certificat et sélectionnez « export »
-
Cliquez sur « Next »
-
Cliquez sur « Next »
-
Cliquez sur « Next »
-
Entrez un mot de passe et cliquez sur « Next »

-
Entrez le chemin d’export du certificat et cliquez sur « Next »
- Cliquez sur « Finish »
Configuration de ISA Server 2006
Cette seconde partie de cet article présente la configuration du serveur ISA,
Le serveur Windows n’est pas dans la domaine Active Directory, nous allons voir
L’importation du certificat web, l’importation du certificat racine de l’autorité de certificat Windows, la création du listener web ainsi que la création des règles de publication Exchange 2007.
Importation du certificat sur le serveur ISA
-
Ouvrir une MMC Certificat pour l’ordinateur local sur le serveur ISA après y avoir copié le certificat et lancer le wizard d’importation
-
Sélectionnez le certificat et cliquez sur « Next »
-
Entrez le mot de passe utilisé lors de l’exportation sur le serveur CAS puis cliquez sur « Next »
- Sélectionnez « Automatically select the certificate store based on the type of the certificate » et cliquez sur « Next »
- Cliquez sur « Finish »
Importation du certificat ROOT de l’autorité de certification
Téléchargement du Certificat ROOT
Maintenant que nous avons importé notre certificat Web, nous devons installer le certificat Racine de notre autorité de certification interne afin de pouvoir utiliser notre certificat Web pour la publication des services Exchange.
Nous allons tout d’abord télécharger le certificat (vous devrez sous doute authoriser explicitement le traffic http / https entre le serveur ISA et votre autorité de certification pour pouvoir faire la demande de certificat)

-
Cliquez sur « Download a CA Certificate …. »

- Cliquez sur « Download CA Certificate » puis choisissez l’emplacement de téléchargement du certificat
Import du certificat ROOT
Pour cela, il nous faut nous positionner dans la même MMC Certificate sur le Magasin « Trusted Root Certification Authority » faire un clic droit et choisir « Import »


-
Cliquez sur « Next »

-
Entrez le chemin du certificat ROOT et cliquez sur « Next »

-
Choisissez de placer le certificat dans le magasin « Trusted Root Certification Authorities »

- Cliquez sur « Finish » pour Terminer
Création du Listener
Nous allons maintenant créer le listener Web pour publier Exchange.
Pour cela ouvrez la console de gestion ISA et cliquez sur « Firewall Policy »
Vous devez voir apparaitre sur le côté droit de l’écran une fenêtre comme ci-dessous, sélectionnez « Toolbox », faites un clic droit sur « Web Listener » et sélectionnez « New Web Listener »
-
Entrer le nom du Listner et cliquez sur « Next »
-
Sélectionnez « Require SSL secured connections with clients » et cliquez sur « Next »
-
Sélectionnez le réseau externe et cliquez sur « Next »,
-
Sélectionnez le certificat importé précédemment et cliquez sur « Next »,
-
Sélectionnez « HTML Form Authentication » et sélectionnez « LDAP (Active Directory)
-
Cochez l’activation du SSO si vous désirez utiliser cette fonctionnalité

- Cliquez sur « Finish »
Création de la règle de publication OWA
Nous allons maintenant créer un règle de publication pour l’accès Outlook Web Access,
Lancer l’assistant de création d’une nouvelle règle de publication d’Exchange
- Entrer le nom de la règle de publication et cliquer sur « Next »

-
Sélectionnez La version Exchange 2007 et cochez « Outlook Web Access » puis cliquez sur « Next »

-
Cochez la publication d’un serveur ou une ferme suivant votre infrastructure (Si vous avez plusieurs CAS, créez une ferme de serveurs)

-
Sélectionnez l’utilisation du SSL de bout en bout, puis cliquez sur « Next »

-
Entrez le nom du serveur ou de la ferme de serveur interne ainsi que l’IP si ISA ne peut pas résoudre le nom en Adresse IP

-
Entrez le nom public de connexion à l’OWA et cliquez sur « Next »

-
Choisissez le listener créé précédement puis cliquez sur « Next »

-
Choisissez l’authentification de base et cliquez sur « Next »

-
Cliquez sur « Next »

-
Cliquez sur Finish

Exemple de connexion OWA avec présentation du formulaire d’authentification d’ISA 2006
Création de la règle de publication Active Sync
Relancez l’assistant de publication Exchange
-
Entrez le nom de la règle de publication Exchange Active Sync et cliquez sur « Next »

-
Sélectionnez « Exchange ActiveSync »

-
Sélectionnez la publication d’un serveur ou d’une ferme de serveurs CAS

-
Sélectionnez l’utilisation du SSL de bout en bout

-
Entrez le nom et IP du / des CAS à publier

-
Entrez le nom public de connexion externe

-
Sélectionnez le listener Exchange

-
Choisissez l’authentification Basic

-
Cliquez sur « Next »

- Cliquez sur « Finish » pour terminer.
Création de la règle de publication Outlook Anywhere
Relancez l’assistant de publication Exchange

-
Entrez le nom de la règle de publication et cliquez sur « Next »

-
Sélectionnez Outlook Anywhere et cliquez sur « Next »

-
Choisissez la publication d’un serveur ou d’une ferme de serveurs CAS, puis cliquez sur « Next »

- Choisissez l’utilisation du SSL de bout en bout et cliquez sur « Next »

-
Entrez le nom interne ainsi que l’IP de connexion au (aux) serveurs CAS,

-
Entrez le nom public de connexion,

-
Choisissez le listener créé précédement,

-
Sélectionnez l’authentification Basique et cliquez sur « Next »

-
Cliquez sur « Next »

-
Cliquez sur « Finish »

-
Allez dans les propriétés de la règle de publication, dans l’onglet « Public Name » et ajoutez le nom « autodiscover.votredomaine.com », celui-ci devra correspondre au nom déclaré dans le certificat.


Cliquez sur « Test Rule » pour vérifier le bon fonctionnement de la règle de publication
Pour de plus ample informations sur les nouveautés du service Pack 1 d’ISA Serveur 2006, je vous propose de vous rendre sur le blog de l’équipe produit à l’adresse suivante :
http://blogs.technet.com/isablog/archive/2008/05/23/isa-server-2006-service-pack-1-features.aspx
Configuration du client Outlook
La configuration du client Outlook se fera toute seule pour les clients se connectant pour la première fois au serveur, pour ceux étant déjà utilisateurs Exchange avant la configuration d’Exchange Anywhere, vous devez paramétrer le client Outlook en allant dans les propriétés du compte, puis en cliquant sur « More Settings »

Naviguez maintenant dans l’onglet Connection

- Cochez « Connect to Microsoft Exchange using http »
- Cliquez sur « Exchange Proxy Settings »
-
Paramétrez comme ci-dessous.


Vérification de la connexion à l’aide des outils Outlook
Les services Exchange publiés via ISA Server vous permettront de vous connecter facilement et de façon totalement sécurisée à votre messagerie, au travail, de chez vous, peut importe le lieu et sans devoir lancer un client VPN,
Ces solutions sont assez simples à mettre en place, et sont peu couteuses.
