Publication Exchange 2007 avec ISA Server 2006 SP1
par David PEKMEZ
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 ?
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
o Présentation de Radius et des avantages Radius
- LDAP
L’authentification LDAP présente quelques avantages par rapport à Radius
o Pas d’installation de composants supplémentaire, l’authentification se fait directement entre ISA Server et les services Active Directory
o 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.
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 l'infrastructure 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
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 :
ActiveSync
Configurer de la même façon le Répertoire Active Sync
- Cochez la case correspondant à l’authentification de base.
Offline Address Book
Paramétrez les URL comme ci-dessous
Activation de la fonction 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
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,
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
Set this Value (Y/N): n
Setting Exchange Web Services Virtual Directories
Looking at Server: EWS (Default Web Site)
Set this Value (Y/N): n
Looking at Server: EWS (Default Web Site)
Set this Value (Y/N): y
Setting OAB Virtual Directories
Looking at Server: OAB (Default Web Site)
Set this Value (Y/N): n
Looking at Server: OAB (Default Web Site)
Set this Value (Y/N): y
Setting UM Virtual Directories
Looking at Server: UnifiedMessaging (Default Web Site)
Set this Value (Y/N): n
Looking at Server: UnifiedMessaging (Default Web Site)
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 »
La seconde partie de cet article présente la configuration du serveur ISA.