Ce tutoriel est un peu hors du commun, là où l’on parle d’UNIX, car nous allons évoquer ici une solution propriétaire, qui utilisera quelques briques libres afin de sécuriser l’infrastructure. Les composantes de ce projet sont les suivantes:
Notre solution utilise à la fois IPv4 et IPv6
Le serveur DNS principal est un serveur de type OpenBSD 5.2. Le service DNS utilisé est named dans sa version 9, telle qu’intégrée par OpenBSD.
3 zones DNS sont déclarées sur celui-ci :
gsb-lab.local (mises à jour possibles par les machines)
gsb-comm.lan (mises à jour possibles par les machines)
gsb.com
Voici la configuration globale du DNS :
acl client { 10.0.0.0/8; };
acl microsoft-net { 192.168.122.0/24; fd00:65b0:1234::/64; };
options { version '';
listen-on { any; };
listen-on-v6 { any; };
empty-zones-enable yes;
allow-query { any; };
allow-recursion { microsoft-net; } ;
};
zone « . » {
type hint;
file « etc/root.hint »;
};
zone « localhost » {
type master;
file « standard/localhost »;
};
zone « 127.in-addr.arpa » {
type master;
file « standard/loopback »;
};
zone « gsb.com » IN {
type master;
file « master/gsb.com »;
allow-update { microsoft-net; };
};
zone « gsb-lab.local » {
type master;
file « master/gsb-lab.local »;
allow-update { microsoft-net; };
};
zone « gsb-comm.lan » {
type master;
file « master/gsb-comm.lan »;
allow-update { microsoft-net; };
};
zone « 122.168.192.in-addr.arpa » {
type master;
file « master/192.168.122 »;
allow-update { microsoft-net; };
};
L’ensemble des serveurs peut ainsi s’enregistrer dynamiquement. Le DNS est également protégé des attaques par récursivité, étant donné que seuls les serveurs peuvent faire des requêtes récursives.
Voici le fichier de zone statique de gsb.com
$ORIGIN .
gsb.com. IN SOA ns1.gsb.com. Hostmaster.gsb.com. (
2013031800
86400
3600
864000
3600 )
$ORIGIN gsb.com.
@ NS ns1.gsb.com.
@ NS ns2.gsb.com.
@ IN MX 1 smtp.gsb.com.
ns1 A 192.168.122.10
AAAA fd00:65b0:1234::10
ns2 A 192.168.122.11
smtp A 192.168.122.207
AAAA fd00:65b0:1234::207
www A 199.254.89.2
Pour des questions de sécurité et de performance, nous avons choisi d’installer 4 annuaires de type Active Directory 2008 R2 en mode core.
Les annuaires ont pour nom machine :
DC-lab1 (Annuaire principal du domaine gsb-lab.local)
DC-lab2 (Annuaire secondaire en réplication du domaine gsb-lab.local)
DC-comm1 (Annuaire principal du domaine gsb-comm.lan)
DC-comm2 (Annuaire secondaire en réplication du domaine gsb-comm.lan)
Chacun des annuaire dispose d’un Administrateur local ayant pour informations :
Login : Administrateur
Mot de passe : admin123&
Nos 4 annuaires sont en IP fixe. Voici comment les IP ont été configurées
netsh interface ipv4 add address "Connexion au réseau local" 192.168.122.15 255.255.255.0
netsh interface ipv6 add address "Connexion au réseau local" fd00:65b0:1234::15/64
Après installation de Windows Server 2008 R2 enterprise en mode core, il convient de spécifier le DNS que doit utiliser la machine :
netsh interface ipv4 add dnsserver "Connexion au réseau local" 192.168.122.10
netsh interface ipv6 add dnsserver "Connexion au réseau local" fd00:65b0:1234::10
Ensuite pour chacune des machines, on va devoir changer son nom afin d’être cohérent avec notre convention de nommage. Sur le DC-lab1 on exécutera donc :
netdom computername WINXXXXXXXXX /add:DC-lab1.gsb-lab.local
netdom computername WINXXXXXXXXX /makeprimary:DC-lab1.gsb-lab.local
shutdown -r -t 00
Par analogie, on fera la même commande sur chacun des autres DC. Pour un potentiel besoin futur, on va installer powershell sur les 4 machines :
DISM /Online /Enable-Feature /FeatureName:NetFx2-ServerCore
DISM /Online /Enable-Feature /FeatureName:MicrosoftWindowsPowerShell
On va maintenant installer notre premier contrôleur de domaine. Pour se faire nous aurons besoin d’un fichier unattend et du bloc note.
[DCINSTALL]
InstallDNS=no
ReplicaOrNewDomain=Domain
NewDomain=forest
NewDomainDNSName=gsb-lab.local
DomainNetbiosName=gsb-lab
ForestLevel=3
DomainLevel=3
SiteName=GSB-DC1
DatabasePath=%systemroot%\ntds
LogPath=%systemroot%\ntds
SYSVOLPath=%systemroot%\sysvol
SafeModeAdminPassword=admin123&
RebootOnCompletion=Yes
Les options intéressantes ici sont :
Ensuite on exécute ce fichier unnattend
dcpromo /unattend:install-DC-lab1.txt
On va installer le contrôleur réplicat de DC-lab1. La technique est la même, seul le fichier diffère :
[DCINSTALL]
UserName=Administrateur
UserDomain=gsb-lab.local
Password=admin123&
SiteName=GSB-DC1
ReplicaOrNewDomain=replica
ReplicaDomainDNSName=gsb-lab.local
DatabasePath=”%systemroot%\ntds”
LogPath=”%systemroot%\ntds”
SYSVOLPath=”%systemroot%\SYSVOL”
InstallDNS=no
ConfirmGC=yes
SafeModeAdminPassword=admin123&
RebootOnCompletion=yes
Les options intéressantes ici sont :
et de même ensuite :
dcpromo /unattend:install-DC-lab2.txt
Ce contrôleur de domaine doit appartenir à la forêt précédemment créer mais être dans un domaine différent. Le fichier unattend est le suivant :
[DCINSTALL]
UserName=Administrateur
UserDomain=gsb-lab.local
Password=admin123&
InstallDNS=no
NewDomain=tree
NewDomainDNSName=gsb-comm.lan
SiteName=GSB-DC1
DomainNetBiosName=gsb-comm
ReplicaOrNewDomain=Domain
DomainLevel=3
DatabasePath=”%systemroot%\ntds”
LogPath=”%systemroot%\ntds”
SYSVOLPath=”%systemroot%\SYSVOL”
SafeModeAdminPassword=admin123&
RebootOnCompletion=yes
Les options intéressantes ici sont :
et comme précédemment :
dcpromo /unattend:install-DC-comm1.txt
Ce contrôleur de domaine est la réplique du précédent. Le fichier de configuration ressemblera à celui de DC-comm1 et DC-lab2 :
[DCINSTALL]
UserName=Administrateur
UserDomain=gsb-lan.local
Password=admin123&
SiteName=GSB-DC1
ReplicaOrNewDomain=replica
ReplicaDomainDNSName=gsb-comm.lan
DatabasePath=”%systemroot%\ntds”
LogPath=”%systemroot%\ntds”
SYSVOLPath=”%systemroot%\SYSVOL”
InstallDNS=no
ConfirmGC=yes
SafeModeAdminPassword=admin123&
RebootOnCompletion=yes
Comme auparavant :
dcpromo /unattend:install-DC-comm2.txt
L’architecture mail sera composée de 3 serveurs Exchange, 2 serveurs assurant le rôle MAILBOX et un serveur CAS. Le rôle de HUB sera délégué à des passerelles Postfix. Les serveurs Exchange on pour nom DNS :
Le rôle « Content Indexing Service » et « RPC over HTTP proxy » n’étant pas disponibles sur Windows Server 2008 R2 Enterprise (core edition), on utilisera Windows Server 2008 R2 Enterprise (Complete edition).
Dans un premier temps, on configure le DNS sur chaque machine :
netsh interface ipv4 add dnsserver "Connexion au réseau local" 192.168.122.10
netsh interface ipv6 add dnsserver "Connexion au réseau local" fd00:65b0:1234::10
Puis on change le nom machine sur chaque serveur de la manière suivante
netdom computername WIN-XXXXXXXXX /add:Exch1.gsb-lab.local
netdom computername WIN-XXXXXXXXX /makeprimary:Exch1.gsb-lab.local
shutdown -r -t 00
Enfin on joint le domaine
netdom join Exch1 /Domain:gsb-lab.local /UserD:Administrateur /PasswordD:*
shutdown -r -t 00
Note : * signifie que nous allons être invités à entrer le mot de passe. Pour terminer on installe le .Net Framework 3.5 et les outils LDAP via powershell :
Import-Module ServerManager
Add-WindowsFeature Net-Framework
Add-WindowsFeature RSAT-ADDS
shutdown -r -t 00
Illustration 2: Installation des outils de connectivité AD
On va configurer ici les 2 serveurs MailBox Une fois le CD inséré, on tape les commandes suivantes sur Exch1:
setup.com /PrepareDomain
setup.com /roles:MailBox /OrganizationName:GSB /InstallWindowsComponents
Le rôle HubTransport va échouer et nous inviter à aller télécharger le filter pack sur le site de Microsoft, ce que nous faisons. Ensuite on relance la commande d’installation de rôles et on patiente.
Illustration 3: Installation des rôles Exchanges
Sur le second serveur Exchange la procédure est plus simple, tout ayant déjà été préparé
setup.com /roles:MailBox,HubTransport /OrganizationName:GSB /InstallWindowsComponents
On configure maintenant le serveur CAS/OWA.
setup.com /roles:ClientAccess,HubTransport /OrganizationName:GSB /InstallWindowsComponents
Le domaine GSB-lab.local représente la population des informaticiens et de la R&D de GSB. L’ensemble des utilisateurs est regroupé dans l’unité organisation GSB-People, les groupes dans l’unité d’organisation GSB-Groups et enfin les Salles de réunion dans l’unité d’organisation GSB-Salles Ce domaine contient les groupes d’utilisateurs suivants :
Afin de pouvoir utiliser cette configuration on exécute les commandes suivantes sur DC-LAB1. Il faut noter que nous aurons besoin de la portée universelle afin de pouvoir utiliser les groupes DSI et R&D au niveau du serveur Exchange
dsadd ou « ou=GSB-People,dc=gsb-lab,dc=local »
dsadd ou « ou=GSB-Groups,dc=gsb-lab,dc=local »
dsadd ou « ou=GSB-Salles,dc=gsb-lab,dc=local »
dsadd group « cn=DSI,ou=GSB-Groups,dc=gsb-lab,dc=local » -scope u
dsadd group « cn=Informatique,ou=GSB-Groups,dc=gsb-lab,dc=local » -scope u
dsadd group « cn=R&D,ou=GSB-Groups,dc=gsb-lab,dc=local » -scope u
dsadd group « cn=Visiteurs médicaux,ou=GSB-Groups,dc=gsb-lab,dc=local »
En exécutant la commande dsquery ou on peut donc voir les unités d’organisation suivantes dans l’annuaire : Et de même avec dsquery group pour les groupes :
Le domaine GSB-comm.lan représente la population des administratifs et commerciaux de GSB. L’ensemble des utilisateurs est regroupé dans l’unité d’organisation GSB-People, les groupes dans l’unité d’organisation GSB-Groups et les clients de l’entreprise dans GSB-Clients. Ce domaine contient les groupes d’utilisateurs suivants :
Afin de pouvoir utiliser cette configuration on exécute les commandes suivantes sur DC-COMM1. Il faut noter que nous aurons besoin de la portée universelle pour pouvoir utiliser certains groupes au sein du serveur Exchange
dsadd ou « ou=GSB-People,dc=gsb-comm,dc=lan »
dsadd ou « ou=GSB-Groups,dc=gsb-comm,dc=lan »
dsadd ou « ou=GSB-Clients,dc=gsb-comm,dc=lan »
dsadd group « cn=Administratifs,ou=GSB-Groups,dc=gsb-comm,dc=lan » -scope u
dsadd group « cn=Secrétariat Administratif,ou=GSB-Groups,dc=gsb-comm,dc=lan » -memberof « Administratifs » -scope u
dsadd group « cn=Service Juridique,ou=GSB-Groups,dc=gsb-comm,dc=lan » -scope u
dsadd group « cn=Personnels Autres,ou=GSB-Groups,gsb-comm,dc=lan »
dsadd group « cn=Département clientèle,ou=GSB-Groups,gsb-comm,dc=lan » -scope u
dsadd group « cn=Direction,ou=GSB-Groups,gsb-comm,dc=lan » -scope u
dsadd group « cn=Communication,ou=GSB-Groups,gsb-comm,dc=lan » -scope u
dsadd group « cn=Rédaction,ou=GSB-Groups,gsb-comm,dc=lan » -scope u
En exécutant la commande dsquery ou on peut donc voir les unités d’organisation suivantes dans l’annuaire : Et de même avec dsquery group pour les groupes :
Afin de permettre à notre second domaine de fonctionner et d’être modifié par les serveurs Exchange, on va devoir déléguer des droits sur les unités d’organisation utilisateurs et groupes. On va donner ici les droits aux administrateurs du domaine mais également au groupe de machines contenant le serveur Exchange. Schéma de droits :
Commandes :
dsacls OU=GSB-Clients,DC=GSB-comm,DC=lan /G «Admins du Domaine@gsb-lab.local»:GA
dsacls OU=GSB-Clients,DC=GSB-comm,DC=lan /G «Exchange Servers@gsb-lab.local»:GA
dsacls OU=GSB-Clients,DC=GSB-comm,DC=lan /G «Admins du Domaine@gsb-lab.local»:DT
dsacls OU=GSB-Groups,DC=GSB-comm,DC=lan /G «Admins du Domaine@gsb-lab.local»:GA
dsacls OU=GSB-Groups,DC=GSB-comm,DC=lan /G «Exchange Servers@gsb-lab.local»:GA
dsacls OU=GSB-People,DC=GSB-comm,DC=lan /G «Admins du Domaine@gsb-lab.local»:GA
dsacls OU=GSB-People,DC=GSB-comm,DC=lan /G «Exchange Servers@gsb-lab.local»:GA
Le serveur Exch1 contient les bases de données Mail « Administratif » et « R&D ». On créée les différentes bases de mail via la console powershell Exchange, puis on les monte. On attribute au passage un quota par défaut de 1Go par utilisateur, avec avertissement à 900Mo.
New-MailboxDatabase -Name «Administratif» -Server «Exch1.gsb-lab.local»
New-MailboxDatabase -Name «R&D» -Server «Exch1.gsb-lab.local»
Mount-Database «Administratif»
Mount-Database «R&D»
Set-MailboxDatabase -Identity «Administratif» -IssueWarningQuota «900MB» -ProhibitSendQuota «980MB» -ProhibitSendReceiveQuota «1GB»
Set-MailboxDatabase -Identity «R&D» -IssueWarningQuota «900MB» -ProhibitSendQuota «980MB» -ProhibitSendReceiveQuota «1GB»
Il faut noter que si on souhaite appliquer des quotas, cela s’applique au niveau utilisateurs et non groupes. De ce fait, il faudra spécifier le quota de 3Go pour chaque boîte mail d’utilisateur des groupes Commercial/Rédaction/Communication via la commande :
Set-Mailbox -Identity user@gsb-lab.local -IssueWarningQuota «2800MB» -ProhibitSendQuota «2950MB» -ProhibitSendReceiveQuota «3GB»
Le serveur Exch2 contient les bases de données Mail « Informatique » et « Commercial ». La technique est similaire au premier serveur :
New-MailboxDatabase -Name «Informatique» -Server «Exch2.gsb-lab.local»
New-MailboxDatabase -Name «Commercial» -Server «Exch2.gsb-lab.local»
Mount-Database «Informatique»
Mount-Database «Commercial»
Set-MailboxDatabase -Identity «Informatique» -IssueWarningQuota «900MB» -ProhibitSendQuota «980MB» -ProhibitSendReceiveQuota «1GB»
Set-MailboxDatabase -Identity «Commercial» -IssueWarningQuota «900MB» -ProhibitSendQuota «980MB» -ProhibitSendReceiveQuota «1GB»
Avant de configurer la réplication, vérifions la liste des bases de données
Illustration 4: Liste des bases de boîtes mails (avant réplication)
On va maintenant configurer un groupe de réplication DAG. Celui-ci va permettre de pouvoir répliquer les bases de données de boîtes au lettres entre plusieurs serveurs Exchange. Le DAG créée un ordinateur virtuel au sein du domaine Active Directory, possédant une adresse IP partagée par les serveurs Exchange. Nous aurons également besoin d’un serveur qui supervisera la réplication (le Witness Server). Nous réutiliseront ici notre serveur OWA.
New-DatabaseAvailabilityGroup -Name «GSBDAG» -WitnessServer «WEBM»
Illustration 5: DAG (vide)
On ajoute ensuite les 2 serveurs Mailbox Exchange au cluster
Add-DatabaseAvailabilityGroupServer -Identity GSBDAG -MailboxServer Exch1.gsb-lab.local
Add-DatabaseAvailabilityGroupServer -Identity GSBDAG -MailboxServer Exch2.gsb-lab.local
Illustration 6: Les 2 serveurs font partie du DAG
Avant de mettre en place la réplication, on peut vérifier que la mécanique de réplication est bien activée sur un réseau associé via la commande Get-DatabaseAvailabilityGroupNetwork
Illustration 7: DAG (réseau)
Enfin, on va répliquer les bases de données entre les serveurs Sur Exch1 :
Add-MailboxDatabaseCopy -Identity «Administratif» -MailboxServer Exch2
Add-MailboxDatabaseCopy -Identity «R&D» -MailboxServer Exch2
Sur Exch2 :
Add-MailboxDatabaseCopy -Identity «Informatique» -MailboxServer Exch1
Add-MailboxDatabaseCopy -Identity «Commercial» -MailboxServer Exch1
Une fois ces commandes lancées (ce qui peut être long), on vérifie la liste des bases de données
Illustration 8: Liste des bases de boîtes mails (après réplication)
GSB dispose d’une dizaine de gros clients faisant partie du monde médical et pharmaceutique. Ces clients sont tous connus en tant que contacts de messagerie au sein de l’organisation Exchange. Pour chaque client, un contact est connu de l’entreprise :
On créée donc un contact de messagerie pour chaque contact externe :
New-MailContact -Name «Hermann Duclorh» -ExternalEmailAddress «SMTP:hduclorh@eu-pharma.com» -Alias «eu-pharma» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Armelle Michal» -ExternalEmailAddress «SMTP:armelle.michal@lymphob.fr» -Alias «LymphoB» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «John Darpa» -ExternalEmailAddress «SMTP:darpa@hsea.co.uk» -Alias «HSEA» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Jean-Claude Plisson» -ExternalEmailAddress «SMTP:jc.plisson@polukit.com» -Alias «Polukit» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Henri Jacob» -ExternalEmailAddress «SMTP:hjacob@tricoque.eu» -Alias «Tricoque» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Sophie Girond» -ExternalEmailAddress «SMTP:girond@ytq.de» -Alias «YTQ» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Cassandra Jermaine» -ExternalEmailAddress «SMTP:cjermaine@healthcare.com» -Alias «HealthCare» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Jocelyne Pascale» -ExternalEmailAddress «SMTP:jp@santeplus.fr» -Alias «SantePlus» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «François David-Duroi» -ExternalEmailAddress «SMTP:davidduroi@ghb.com» -Alias «GHB» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
New-MailContact -Name «Viktor Kovak» -ExternalEmailAddress «SMTP:kovak@yotabeta.jp» -Alias «YotaBeta» -OrganizationalUnit «gsb-comm.lan/GSB-Clients» -DomainController «DC-COMM1.gsb-comm.lan»
On vérifie ensuite via la commande Get-MailContact que tout s’est bien passé :
Illustration 9: Liste des contacts
L’entreprise dispose de 3 salles de réunion. Seules la direction et la DSI peuvent réserver cette salle. Les salles sont situées dans les pièces 23, 42 et 104. On créée les 3 mailbox associées :
New-Mailbox -Name «Salle de Réunion 23» -OrganizationalUnit «gsb-lab.local/GSB-Salles» -Database «Administratif» -Room
New-Mailbox -Name «Salle de Réunion 42» -OrganizationalUnit «gsb-lab.local/GSB-Salles» -Database «Administratif» -Room
New-Mailbox -Name «Salle de Réunion 104» -OrganizationalUnit «gsb-lab.local/GSB-Salles» -Database «Administratif» -Room
Puis on vérifie qu’elles sont présentes avec la commande Get-Mailbox :
Illustration 10: Liste des salles de réunion
Enfin on autorise les utilisateurs du groupe DSI et du groupe Direction à pouvoir modifier les salles de réunion :
Add-MailboxPermission -Identity "Salle de Réunion 23" -User DSI@gsb-lab.local -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 23" -User «Direction@gsb-lab.local» -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 42" -User DSI@gsb-lab.local -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 42" -User «Direction@gsb-lab.local» -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 104" -User DSI@gsb-lab.local -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 104" -User «Direction@gsb-lab.local» -AccessRights FullAccess
Il n’est pas possible de mettre des permissions associées à des responsables de groupes. De ce fait, un groupe responsables a été créé sur l’DC-COMM1, symbolisant ce lien.
dsadd group « cn=Responsables,ou=GSB-Groups,dc=gsb-comm,dc=lan» -scope u
Puis ont attribue les permissions de la même manière que précédemment :
Add-MailboxPermission -Identity "Salle de Réunion 23" -User «Responsables@gsb-comm.lan» -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 42" -User «Responsables@gsb-comm.lan» -AccessRights FullAccess
Add-MailboxPermission -Identity "Salle de Réunion 104" -User «Responsables@gsb-comm.lan» -AccessRights FullAccess
Nous nous basons sur notre annuaire Active Directory afin de créer des groupes de distribution. Ceux-ci auront le même nom que ceux de l’annuaire, afin de garder une cohérence au niveau exploitation. Les groupes de distribution nécessitent des groupes à portée universelle.
Enable-DistributionGroup -Identity «gsb-lab.local/GSB-Groups/DSI» -Alias «DSI»
Enable-DistributionGroup -Identity «gsb-lab.local/GSB-Groups/Informatique» -Alias «Informatique»
Enable-DistributionGroup -Identity «gsb-lab.local/GSB-Groups/R&D» -Alias «R&D»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Administratifs» -Alias «Administratifs»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Communication» -Alias «Communication»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Département clientèle» -Alias «Département-Clientèle»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Direction» -Alias «Direction»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Rédaction» -Alias «Rédaction»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Secrétariat Administratif» -Alias «Secrétariat-Administratif»
Enable-DistributionGroup -Identity «gsb-comm.lan/GSB-Groups/Service Juridique» -Alias «Service-Juridique»
On visualise ensuite le résultat au moyen de la commande Get-DistributionGroup :
Illustration 11: Liste des groupes de distribution statiques
Nous aurons ensuite besoin de groupes de distribution dynamiques. Le premier groupe permet de contacter rapidement les clients. Il se basera sur l’unité d’organisation où sont regroupés les clients
New-DynamicDistributionGroup -Name «Clients» -Alias «Clients» -RecipientContainer «gsb-comm.lan/GSB-Clients» -IncludedRecipients «MailContacts» -OrganizationalUnit «gsb-comm.lan/GSB-Clients»
Le second groupe n’est pas réalisable en l’état. Le troisième groupe va utiliser un attribut personnalisé du schéma, la notion de service. Cela obligera à remplir l’attribut Exchange « service » dans le schéma.
New-DynamicDistributionGroup -Name «Distrib Direction & DSI» -Alias «directions» -RecipientContainer «gsb-comm.lan/GSB-People» -IncludedRecipients «AllRecipients» -ConditionalDepartment «Direction,DSI» -OrganizationalUnit «gsb-comm.lan/GSB-Groups»
Un second choix de configuration aurait été de créer un groupe contenant la DSI et la Direction et de lui affecter une Liste de Distribution classique, ce qui requiert moins d’exploitation. Le quatrième groupe est analogue au précédent, et les mêmes problématiques sont soulevées.
New-DynamicDistributionGroup -Name «Distrib Informatique» -Alias «informatique» -RecipientContainer «gsb-lab.local/GSB-People» -IncludedRecipients «AllRecipients» -ConditionalDepartment «Informatique» -OrganizationalUnit «gsb-lab.local/GSB-Groups»
Enfin on vérifie qu’elles sont présentes
Illustration 12: Liste des groupes de distribution dynamiques
Afin d’autoriser la réception des mails, on va configurer la liste des noms de domaines autorisés sur notre serveur Hub.
New-AcceptedDomain -Name RootGSB -DomainName gsb.com -DomainType «Authoritative»
New-AcceptedDomain -Name «Administration GSB» -DomainName admin.gsb.com -DomainType «Authoritative»
New-AcceptedDomain -Name «Juridique GSB» -DomainName juridique.gsb.com -DomainType «Authoritative»
New-AcceptedDomain -Name «R&D GSB» -DomainName rd.gsb.com -DomainType «Authoritative»
On vérifie ensuite que tout est en ordre :
Illustration 13: Liste des domaines acceptés
On va maintenant configurer différences règles pour les domaines créés.
New-EmailAddressPolicy -Name «Administratifs non secrétaires» -RecipientContainer «gsb-comm.lan/GSB-People» -EnabledEmailAddressTemplates «SMTP:%g.%s@admin.gsb.com» -IncludedRecipients «MailboxUsers» -ConditionalCustomAttribute1 «adminnonsec» -ConditionalDepartment «Administratifs»
New-EmailAddressPolicy -Name «Juridique» -RecipientContainer «gsb-comm.lan/GSB-People» -EnabledEmailAddressTemplates «SMTP:%g.%s@juridique.gsb.com» -IncludedRecipients «MailboxUsers» -ConditionalDepartment «Juridique»
New-EmailAddressPolicy -Name «R&D» -RecipientContainer «gsb-comm.lan/GSB-People» -EnabledEmailAddressTemplates «SMTP:%g.%s@rd.gsb.com» -IncludedRecipients «MailboxUsers» -ConditionalDepartment «R&D»
Enfin on modifie la Default Policy afin qu’elle utilise les adresses mail @gsb.com
Set-Email-Address-Policy -Identity «Default Policy» -EnabledEmailAddressTemplates «SMTP:%g.%s@gsb.com»
On doit inclure un texte de dédit de responsabilité pour le département clientèle. Ce dédit ne s’applique que pour les éléments extérieurs à l’entreprise.
New-TranportRule -Name «Ext clientèle» -Enabled $true -FromMemberOf «Departement-Clientele@gsb-lab.local» -SentToScope «NotInOrganization» -ApplyHtmlDisclaimerText «GSB n'est pas responsable en cas de vol de la marchandise»
Le service juridique obéit à quelques contraintes. Pour le courrier interne, seules la direction, la DSI et les responsables de services peuvent les contacter.
New-TransportRule -Name «vers juridique» -Enabled $true -FromScope «InOrganization» -SentToMemberOf «Service-Juridique@gsb-lab.local» -RejectMessageReasonText «NOT ALLOWED» -RejectMessageEnhancedStatusCode «5.7.10» -ExceptIfFromMemberOf «DSI@gsb-lab.local»,«Direction@gsb-lab.local» -ExceptFromInScope «NotInOrganization» -ExceptIfSenderManagementRelationShip «Manager»
Afin d’avoir une architecture cohérente, on installe 2 serveurs OpenBSD 5.2 redondés et synchronisés.
Dans un premier temps nous allons installer postfix depuis les packages OpenBSD
export PKG_PATH= « http://ftp.fr.openbsd.org/pub/OpenBSD/5.2/packages/amd64/ »
pkg_add -i postfix
L’activation de postfix nécessite de désactiver sendmail, le MTA par défaut d’OpenBSD. On créée le fichier /etc/rc.conf.local avec les options suivantes :
sendmail_flags=NO
postfix_flags=«»
Puis on active le service au boot en éditant le fichier /etc/rc.local
/etc/rc.d/postfix start
Nous devons maintenant configurer postfix afin de relayer les mails vers le serveur local. Il faut pour cela configurer tout d’abord le nom d’hôte de postfix, puis les réseaux autorisés. Enfin les noms de domaine à relayer et la carte de transport
myhostname = smtp.gsb.com
mynetworks = 127.0.0.0/8,::1, 192.168.122.0/24, fd00:65b0:1234::/64
relay_domains = gsb.com, admin.gsb.com, rd.gsb.com, juridique.gsb.com
transport_maps = hash:/etc/postfix/transport
inet_protocols = ipv4, ipv6
Pour terminer nous devons peupler notre table de transport :
gsb.com smtp:192.168.122.221:25
.gsb.com smtp:192.168.122.221:25
Enfin on génère le fichier concerné afin que postfix l’interprète et on recharge le service
postmap /etc/postfix/transport
/etc/rc.d.postfix reload
Pour terminer il ne nous reste plus qu’à relier notre serveur Hub Exchange au serveurs Postfix et autoriser postfix à utiliser le hub pour transférer les messages internes ; On va créer un connecteur de réception afin d’autoriser postfix à forwarder les mails GSB. Ce connecteur devra être non chiffré, anonyme autoriser uniquement la plage des serveurs SMTP.
New-ReceiveConnector -Name «SMTP GSB» -Usage Internal -Auth None -RemoteIpRanges «192.168.122.0/24» -PermissionGroups AnonymousUsers
Enfin on créée un connecteur d’envoi qui permettra de diriger les mails vers des destinataires hors de l’organisation.
New-SendConnector -Name «SMTP WAN GSB» -AddressSpaces «SMTP:*.gsb.com» -SmartHosts «smtp.gsb.com» -SourceTransportServer «WEBM»