Difference between revisions of "SME-101.08 Serveur mandataire inversé"
Michelandre (talk | contribs) (RC-01) |
Michelandre (talk | contribs) (GA-0.0.3 // Pour inclure les modèles "ParticulariteDeCeDocument" et "SME-101-Transclusion" au bas de la page // 2018-11-20 @ 12h37 HNE) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | <!-- | + | <!-- ########################################################################### --> |
− | __TOC__ | + | {| style="float: left; margin-right:20px;margin-bottom:10px;" |
+ | |- | ||
+ | | style="vertical-align: top;" | | ||
+ | <div style="float:right">__TOC__</div> | ||
+ | |} | ||
+ | <!-- ########################################################################### -->= Description générale = | ||
+ | Ce Cahier-8 du Cours SME-101 décrit les étapes pour l'installation d'un service de mandataire inversé sur un Serveur SME principal connecté à l'Internet afin qu'un autre Serveur SME, sur le réseau LOCAL, devienne accessible depuis l'Internet. Le serveur principal devient transparent pour le serveur WEB LOCAL et ce dernier semble directement branché à l'Internet. | ||
− | + | [[Image:Icone-NoteAPT.png|25px]] Le serveur LOCAL peut être physique ou virtuel. | |
− | + | * ''Conventions'': [[#Particularités de ce document]]. | |
+ | |||
+ | |||
+ | === But final de ce Cahier === | ||
+ | |||
+ | <center> | ||
+ | {| style="width: 60%; background-color:#ffffff;" | ||
+ | |- style="vertical-align:bottom;font-family: Courier New;text-align: center;" | ||
+ | |''<u>Serveur local physique</u>''<br><br> | ||
+ | ||''<u>Serveur local virtuel</u>''<br><br> | ||
+ | |- style="vertical-align:top;" | ||
+ | |[[Image:MandataireInv-015-ResultatPourPhysique-A-1.png|center|top|400px]] | ||
+ | ||[[Image:MandataireInv-016-ResultatPourVirtuel-A-1.png|center|top|400px]] | ||
+ | |} | ||
+ | </center> | ||
− | |||
= Mandataire inversé = | = Mandataire inversé = | ||
Line 23: | Line 42: | ||
Notre nom de domaine est: <span style="color:blue">'''micronator.org'''</span> et notre installation Web est située dans l'i-bay Primary ''(site primaire)''. Il faut donc que ce domaine pointe vers cette i-bay. | Notre nom de domaine est: <span style="color:blue">'''micronator.org'''</span> et notre installation Web est située dans l'i-bay Primary ''(site primaire)''. Il faut donc que ce domaine pointe vers cette i-bay. | ||
− | <br> | + | <br clear=all> |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Image:MandataireInv-003-SM-ServeurDNS.png|top|right|600px|border]] | [[Image:MandataireInv-003-SM-ServeurDNS.png|top|right|600px|border]] | ||
Line 39: | Line 51: | ||
Pour les autres i-bays, toujours utiliser: '''''Résolu localement'''''. | Pour les autres i-bays, toujours utiliser: '''''Résolu localement'''''. | ||
− | <br | + | <br clear=all> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<span style="font-size:120%">'''Serveur local sur un intranet'''</span> | <span style="font-size:120%">'''Serveur local sur un intranet'''</span> | ||
Line 52: | Line 57: | ||
''Référence'': https://wiki.contribs.org/SME_Server:Documentation:ProxyPass. | ''Référence'': https://wiki.contribs.org/SME_Server:Documentation:ProxyPass. | ||
− | Notre Serveur SME secondaire est sur le réseau LOCAL ''(<span style="color:blue">192.168.1.0/24</span>)'' de notre serveur principal. On parle alors d'un serveur '''intranet'''. Habituellement, ce genre de serveur n'a pas d'adresse IP publique pour son réseau externe mais, une adresse privée ''(<span style="color: | + | Notre Serveur SME secondaire est sur le réseau LOCAL ''(<span style="color:blue">192.168.1.0/24</span>)'' de notre serveur principal. On parle alors d'un serveur '''intranet'''. Habituellement, ce genre de serveur n'a pas d'adresse IP publique pour son réseau externe mais, une adresse privée ''(<span style="color:red">192.168.1.11</span>)''. |
<center> | <center> | ||
− | {| | + | {| style="width: 90%; background-color:#ffffff;" |
|- style="vertical-align:bottom;font-family: Courier New;text-align: center;" | |- style="vertical-align:bottom;font-family: Courier New;text-align: center;" | ||
|Serveur intranet physique. | |Serveur intranet physique. | ||
||Serveur intranet virtuel. | ||Serveur intranet virtuel. | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
− | |[[Image:MandataireInv-004-ServeurInternePhysique.png|center|top|500px | + | |[[Image:MandataireInv-004-ServeurInternePhysique-A-2.png|center|top|500px]] |
− | ||[[Image:MandataireInv-005-ServeurInterneVirtuel.png|center|top|500px | + | ||[[Image:MandataireInv-005-ServeurInterneVirtuel-A-3.png|center|top|500px]] |
|} | |} | ||
</center> | </center> | ||
Line 70: | Line 75: | ||
''Référence'': https://fr.wikipedia.org/wiki/Proxy_inverse. | ''Référence'': https://fr.wikipedia.org/wiki/Proxy_inverse. | ||
− | [[Image:MandataireInv-006-DiagrammeExplicatif.png|right|top|400px | + | [[Image:MandataireInv-006-DiagrammeExplicatif.png|right|top|400px]] |
Un mandataire inversé ''(reverse proxy'') est un type de serveur, habituellement placé en frontal des serveurs Web. Contrairement au serveur mandataire qui permet à un utilisateur d'accéder au réseau Internet, le mandataire inversé permet à un utilisateur d'Internet d'accéder à des serveurs internes ''(situés sur le réseau LOCAL du serveur principal/passerelle)''. | Un mandataire inversé ''(reverse proxy'') est un type de serveur, habituellement placé en frontal des serveurs Web. Contrairement au serveur mandataire qui permet à un utilisateur d'accéder au réseau Internet, le mandataire inversé permet à un utilisateur d'Internet d'accéder à des serveurs internes ''(situés sur le réseau LOCAL du serveur principal/passerelle)''. | ||
− | <br | + | <br clear=all> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = Préparation du serveur de destination = | + | = Préparation du serveur local de destination = |
<span style="font-size:125%">'''Installation d'un Serveur SME'''</span> | <span style="font-size:125%">'''Installation d'un Serveur SME'''</span> | ||
− | Voir le Cahier-2: | + | Voir le Cahier-2: [https://wiki.contribs.org/SME-101.02_Serveur_SME SME-101.02 ''Serveur SME'']. |
Pour un serveur de test, prendre un minimum de '''8 GB''' <u>pour le disque principal</u>. | Pour un serveur de test, prendre un minimum de '''8 GB''' <u>pour le disque principal</u>. | ||
Line 91: | Line 90: | ||
<center> | <center> | ||
− | {| | + | {| style="width: 80%; background-color:#ffffff;" |
|- style="vertical-align:bottom;font-family: Courier New;text-align: center;" | |- style="vertical-align:bottom;font-family: Courier New;text-align: center;" | ||
|Mode de fonctionnement | |Mode de fonctionnement | ||
Line 114: | Line 113: | ||
Avant de commencer quoi que ce soit, il est toujours préférable de mettre à jour le Serveur SME. | Avant de commencer quoi que ce soit, il est toujours préférable de mettre à jour le Serveur SME. | ||
− | Voir le chapitre | + | Voir le chapitre [https://wiki.contribs.org/SME-101.02_Serveur_SME#Mise_.C3.A0_jour ''Mise à jour''] dans le Cahier-2. |
+ | |||
'''Serveur DNS du domaine''' | '''Serveur DNS du domaine''' | ||
Line 122: | Line 122: | ||
[[Image:Icone-NoteAPT.png|25px]] Ceci est une exception à la règle car, habituellement, un serveur local a toujours la propriété <code>Serveurs DNS du domaine</code> pointant sur <code>Résolu localement</code>. Cette exception est dûe au fait de l'utilisation d'un serveur mandataire inversé. | [[Image:Icone-NoteAPT.png|25px]] Ceci est une exception à la règle car, habituellement, un serveur local a toujours la propriété <code>Serveurs DNS du domaine</code> pointant sur <code>Résolu localement</code>. Cette exception est dûe au fait de l'utilisation d'un serveur mandataire inversé. | ||
− | [[Image:Icone-SeTirerDembarrasAPT.png|25px]] Il faut donc, exceptionnellement, changer la propriété <code>Serveurs DNS du domaine</code> de notre serveur | + | [[Image:Icone-SeTirerDembarrasAPT.png|25px]] Il faut donc, exceptionnellement, changer la propriété <code>Serveurs DNS du domaine</code> de notre serveur LOCAL. |
<center> | <center> | ||
− | {| | + | {| style="width: 85%; background-color:#ffffff;" |
− | |- style="vertical-align:bottom;font-family: Courier New;text-align: | + | |- style="vertical-align:bottom;font-family: Courier New;text-align: left;" |
|Server Manager > Domaines > Modifier. | |Server Manager > Domaines > Modifier. | ||
||Serveur DNS du domaine > dérouler et choisir <code>Serveurs DNS de l'Internet</code> > Modifier. | ||Serveur DNS du domaine > dérouler et choisir <code>Serveurs DNS de l'Internet</code> > Modifier. | ||
||On s'assure du succès de l'opération. | ||On s'assure du succès de l'opération. | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
− | |[[Image:MandataireInv-010-ResoluLocalement.png|center|top|325px|border]] | + | |[[Image:MandataireInv-010-ResoluLocalement-A-1.png|center|top|325px|border]] |
− | ||[[Image:MandataireInv-011-ServeursDNSdeInternet.png|center|top|400px|border]] | + | ||[[Image:MandataireInv-011-ServeursDNSdeInternet-A-1.png|center|top|400px|border]] |
− | ||[[Image:MandataireInv-012-RapportDeEtat.png|center|top|300px|border]] | + | ||[[Image:MandataireInv-012-RapportDeEtat-A-1.png|center|top|300px|border]] |
|} | |} | ||
</center> | </center> | ||
Line 142: | Line 142: | ||
On s'assure que le fichier <code>/etc/hosts</code> du serveur local soit correctement configuré. | On s'assure que le fichier <code>/etc/hosts</code> du serveur local soit correctement configuré. | ||
# cat /etc/hosts | # cat /etc/hosts | ||
− | + | ||
− | |||
#------------------------------------------------------------ | #------------------------------------------------------------ | ||
# !!DO NOT MODIFY THIS FILE!! | # !!DO NOT MODIFY THIS FILE!! | ||
Line 155: | Line 154: | ||
#------------------------------------------------------------ | #------------------------------------------------------------ | ||
127.0.0.1 localhost | 127.0.0.1 localhost | ||
− | 192.168.1.11 sme-92.<span style="color:DarkMagenta">micronator-101. | + | 192.168.1.11 sme-92.<span style="color:DarkMagenta">micronator-101.com</span> sme-92 |
<span style="font-size:125%">'''Passerelle par défaut'''</span> | <span style="font-size:125%">'''Passerelle par défaut'''</span> | ||
− | On s'assure que la passerelle par défaut soit bien notre serveur principal | + | On s'assure que la passerelle par défaut soit bien notre serveur principal <span style="color:red">dorgee</span>.<span style="color:Blue">micronator.org</span> ''(<span style="color:blue">192.168.1.1</span>)''. |
Line 170: | Line 169: | ||
Destination Passerelle Genmask Indic Metric Ref Use Iface | Destination Passerelle Genmask Indic Metric Ref Use Iface | ||
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 | 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 | ||
− | default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1 | + | default <span style="color:red">192.168.1.1</span> 0.0.0.0 UG 0 0 0 eth1 |
Line 188: | Line 187: | ||
À la console du poste de travail, dans un écran de commandes, on lance la commande <span style="color:blue"><code>ipconfig</code></span>. | À la console du poste de travail, dans un écran de commandes, on lance la commande <span style="color:blue"><code>ipconfig</code></span>. | ||
− | > <span style="color:blue">ipconfig</span> | + | C:\Users\michelandre> <span style="color:blue">ipconfig</span> |
Configuration IP de Windows | Configuration IP de Windows | ||
Line 199: | Line 198: | ||
<span style="color:red">Passerelle par défaut. . . . . . . . . : 192.168.1.1</span> | <span style="color:red">Passerelle par défaut. . . . . . . . . : 192.168.1.1</span> | ||
... | ... | ||
+ | |||
On vérifie l'adresse IP du serveur. ''(Nous sommes en <u>mode Serveur uniquement</u>.)'' | On vérifie l'adresse IP du serveur. ''(Nous sommes en <u>mode Serveur uniquement</u>.)'' | ||
Line 226: | Line 226: | ||
<span style="font-size:125%">'''Vérification des domaines'''</span> | <span style="font-size:125%">'''Vérification des domaines'''</span> | ||
− | [[Image:Icone-SeTirerDembarrasAPT.png|25px]] Si auparavant on | + | [[Image:Icone-SeTirerDembarrasAPT.png|25px]] Si auparavant on a fait quelques tests, on vérifie que le domaine <span style="color:DarkMagenta">micronator-101.com</span> n'existe plus sur le serveur principal. |
[[Image:MandataireInv-013-VerificationDesDomaines.png|top|right|600px|border]] | [[Image:MandataireInv-013-VerificationDesDomaines.png|top|right|600px|border]] | ||
− | [[Image:Icone-AsurveillerAPT.png|25px]] Comme on le voit, il n'existe aucune référence à <span style="color:DarkMagenta">micronator-101. | + | [[Image:Icone-AsurveillerAPT.png|25px]] Comme on le voit, il n'existe aucune référence à <span style="color:DarkMagenta">micronator-101.com</span>. Si oui, on doit supprimer ce domaine du <u>serveur principal</u>. |
− | [[Image:Icone-NoteAPT.png|25px]] Le FQDN du serveur principal est: <span style="color:Blue"> | + | [[Image:Icone-NoteAPT.png|25px]] Le FQDN du serveur principal est: <span style="color:Blue">micronator.org</span>. |
− | <br | + | <br clear=all> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Transformation du serveur principal en mandataire inversé = | = Transformation du serveur principal en mandataire inversé = | ||
− | La prochaine étape est de modifier le serveur principal, <span style="color: | + | La prochaine étape est de modifier le serveur principal, <span style="color:red">dorgee</span>.<span style="color:Blue">micronator.org</span>, pour qu'il devienne un serveur mandataire inversé de notre serveur Web LOCAL <span style="color:red">sme-92</span>.<span style="color:DarkMagenta">micronator-101.com</span>. |
À l'aide de PuTTY, on se logue sur le serveur principal. | À l'aide de PuTTY, on se logue sur le serveur principal. | ||
− | login as: | + | login as: root |
− | root@192.168.1.1's password: <span style="color: | + | root@<span style="color:red">192.168.1.1</span>'s password: <span style="color:DarkMagenta">Mot-de-passe</span> |
+ | |||
On vérifie qu'on est bien sur le serveur principal. | On vérifie qu'on est bien sur le serveur principal. | ||
Line 255: | Line 248: | ||
<span style="color:red">dorgee</span> | <span style="color:red">dorgee</span> | ||
+ | |||
On vérifie l'adresse IP de son réseau LOCAL. | On vérifie l'adresse IP de son réseau LOCAL. | ||
Line 270: | Line 264: | ||
<span style="font-size:125%">'''Configuration du serveur principal'''</span> | <span style="font-size:125%">'''Configuration du serveur principal'''</span> | ||
− | On crée le domaine virtuel <span style="color:DarkMagenta">micronator-101. | + | On crée le domaine virtuel <span style="color:DarkMagenta">micronator-101.com</span> sur le serveur principal. |
− | # db domains set <span style="color:DarkMagenta">micronator-101. | + | # db domains set <span style="color:DarkMagenta">micronator-101.com</span> domain |
+ | |||
On indique que le serveur de noms pour ce domaine virtuel est sur l'<code>internet</code>. | On indique que le serveur de noms pour ce domaine virtuel est sur l'<code>internet</code>. | ||
− | # db domains setprop <span style="color:DarkMagenta">micronator-101. | + | # db domains setprop <span style="color:DarkMagenta">micronator-101.com</span> Nameservers internet |
− | + | ||
− | On indique l'adresse de la cible | + | |
− | # db domains setprop <span style="color:DarkMagenta">micronator-101. | + | On indique l'adresse de la cible c.-à-d. le Serveur SME LOCAL hébergeant le domaine <span style="color:DarkMagenta">micronator-101.com</span>. |
+ | # db domains setprop <span style="color:DarkMagenta">micronator-101.com</span> ProxyPassTarget <span style="color:DarkMagenta"><nowiki>http://192.168.1.11/</nowiki></span> | ||
+ | |||
On indique le chemin d'un gabarit pour ce nouveau domaine virtuel. | On indique le chemin d'un gabarit pour ce nouveau domaine virtuel. | ||
− | # db domains setprop <span style="color:DarkMagenta">micronator-101. | + | # db domains setprop <span style="color:DarkMagenta">micronator-101.com</span> TemplatePath ProxyPassVirtualHosts |
+ | |||
On signale les changements de configuration au serveur principal afin qu'il crée le nouveau domaine virtuel. | On signale les changements de configuration au serveur principal afin qu'il crée le nouveau domaine virtuel. | ||
− | # signal-event domain-create <span style="color:DarkMagenta">micronator-101. | + | # signal-event domain-create <span style="color:DarkMagenta">micronator-101.com</span> |
+ | |||
On s'assure que le nouveau domaine virtuel a bien été créé. | On s'assure que le nouveau domaine virtuel a bien été créé. | ||
db domains show | db domains show | ||
− | + | ||
... | ... | ||
− | <span style="color:DarkMagenta">micronator-101. | + | <span style="color:DarkMagenta">micronator-101.com</span>=domain |
Nameservers=<span style="color:red">internet</span> | Nameservers=<span style="color:red">internet</span> | ||
− | ProxyPassTarget=<span style="color: | + | ProxyPassTarget=http://<span style="color:DarkMagenta"><nowiki>192.168.1.11</nowiki></span>/ |
− | TemplatePath=ProxyPassVirtualHosts | + | TemplatePath=<span style="color:red">ProxyPassVirtualHosts</span> |
... | ... | ||
− | [[Image:MandataireInv-014-DomaineLocalSurPrincipal.png|top|right|600px|border]] | + | [[Image:MandataireInv-014-DomaineLocalSurPrincipal-A-1.png|top|right|600px|border]] |
− | Dans le gestionnaire Server Manager, sur le serveur principal qui est devenu un mandataire inversé, un nouveau domaine a été créé pour <span style="color:DarkMagenta">micronator-101. | + | Dans le gestionnaire Server Manager, sur le serveur principal qui est devenu un mandataire inversé, un nouveau domaine a été créé pour <span style="color:DarkMagenta">micronator-101.com</span>. |
− | <br | + | <br clear=all> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Résultat final = | = Résultat final = | ||
Line 316: | Line 307: | ||
||''<u>Serveur local virtuel</u>''<br><br> | ||''<u>Serveur local virtuel</u>''<br><br> | ||
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
− | |[[Image:MandataireInv-015-ResultatPourPhysique.png|center|top|550px]] | + | |[[Image:MandataireInv-015-ResultatPourPhysique-A-1.png|center|top|550px]] |
− | ||[[Image:MandataireInv-016-ResultatPourVirtuel.png|center|top|550px]] | + | ||[[Image:MandataireInv-016-ResultatPourVirtuel-A-1.png|center|top|550px]] |
|} | |} | ||
</center> | </center> | ||
Line 324: | Line 315: | ||
On lance deux <code>ping</code> à la console du serveur principal. | On lance deux <code>ping</code> à la console du serveur principal. | ||
− | # ping -c 2 <span style="color:DarkMagenta">micronator-101. | + | # ping -c 2 <span style="color:DarkMagenta">micronator-101.com</span> |
− | + | ||
PING micronator-101.ddns.net (<span style="color:blue">206.248.138.152</span>) 56(84) bytes of data. | PING micronator-101.ddns.net (<span style="color:blue">206.248.138.152</span>) 56(84) bytes of data. | ||
64 bytes from 206-248-138-152.dsl.teksavvy.com (<span style="color:blue">206.248.138.152</span>): icmp_seq=1 ttl=64 time=0.028 ms | 64 bytes from 206-248-138-152.dsl.teksavvy.com (<span style="color:blue">206.248.138.152</span>): icmp_seq=1 ttl=64 time=0.028 ms | ||
64 bytes from 206-248-138-152.dsl.teksavvy.com (<span style="color:blue">206.248.138.152</span>): icmp_seq=2 ttl=64 time=0.041 ms | 64 bytes from 206-248-138-152.dsl.teksavvy.com (<span style="color:blue">206.248.138.152</span>): icmp_seq=2 ttl=64 time=0.041 ms | ||
− | --- micronator-101. | + | --- micronator-101.com ping statistics --- |
<span style="color:red">2 packets transmitted, 2 received, 0% packet loss, time 1002ms</span> | <span style="color:red">2 packets transmitted, 2 received, 0% packet loss, time 1002ms</span> | ||
+ | |||
L'adresse IP <span style="color:blue">206.248.138.152</span> est celle du serveur principal et c'est lui qui répond car, un mandataire inversé ne transmet seulement que les requêtes Web. | L'adresse IP <span style="color:blue">206.248.138.152</span> est celle du serveur principal et c'est lui qui répond car, un mandataire inversé ne transmet seulement que les requêtes Web. | ||
− | On lance le navigateur TOR et on se rend à http://www.micronator-101. | + | On lance le navigateur TOR et on se rend à http://www.micronator-101.com. |
[[Image:Icone-SeTirerDembarrasAPT.png|25px]] Si nous avons recours à un <u>service de DNS dynamique</u>, il ne faut pas utiliser '''www''' avec un tel domaine. | [[Image:Icone-SeTirerDembarrasAPT.png|25px]] Si nous avons recours à un <u>service de DNS dynamique</u>, il ne faut pas utiliser '''www''' avec un tel domaine. | ||
Line 353: | Line 345: | ||
On supprime le domaine virtuel. | On supprime le domaine virtuel. | ||
− | # db domains delete <span style="color:DarkMagenta">micronator-101. | + | # db domains delete <span style="color:DarkMagenta">micronator-101.com</span> |
+ | |||
On signale les changements de configuration au serveur principal afin qu'il supprime le domaine virtuel. | On signale les changements de configuration au serveur principal afin qu'il supprime le domaine virtuel. | ||
# signal-event domain-modify | # signal-event domain-modify | ||
− | On vérifie avec <code>grep</code> que le domaine <span style="color:DarkMagenta">micronator-101. | + | |
− | # db domains show | grep <span style="color:DarkMagenta">micronator-101. | + | On vérifie avec <code>grep</code> que le domaine <span style="color:DarkMagenta">micronator-101.com</span> n'existe plus sur le serveur principal. |
+ | # db domains show | grep <span style="color:DarkMagenta">micronator-101.com</span> | ||
[[Image:Icone-NoteAPT.png|25px]] Aucune information n'est retournée car, le serveur virtuel n'existe plus sur le serveur principal. | [[Image:Icone-NoteAPT.png|25px]] Aucune information n'est retournée car, le serveur virtuel n'existe plus sur le serveur principal. | ||
Line 400: | Line 394: | ||
À toute fin pratique, le domaine local existe dans le gestionnaire Server Manager du serveur principal. Ainsi, si le récepteur du courriel n'existe pas en tant qu'utilisateur <u>sur le serveur principal</u>, le courriel est pris en charge par le paramètre <code>Courriels destinés à des utilisateurs inconnus</code> du gestionnaire Server Manager du <u>serveur principal</u>. | À toute fin pratique, le domaine local existe dans le gestionnaire Server Manager du serveur principal. Ainsi, si le récepteur du courriel n'existe pas en tant qu'utilisateur <u>sur le serveur principal</u>, le courriel est pris en charge par le paramètre <code>Courriels destinés à des utilisateurs inconnus</code> du gestionnaire Server Manager du <u>serveur principal</u>. | ||
− | [[Image:Icone-AstuceAPT.png|25px]] Toutefois, on peut accéder à Webmail du serveur local depuis l'Internet car, l'accès à Webmail est une requête Web: https://www.micronator-101. | + | [[Image:Icone-AstuceAPT.png|25px]] Toutefois, on peut accéder à Webmail du serveur local depuis l'Internet car, l'accès à Webmail est une requête Web: <span style="color:blue"><nowiki>https://www.micronator-101.com/webmail</nowiki></span>. |
+ | |||
<span style="font-size:105%">'''WordPress'''</span> | <span style="font-size:105%">'''WordPress'''</span> | ||
Line 410: | Line 405: | ||
<span style="font-size:120%">'''Mot de la fin'''</span> | <span style="font-size:120%">'''Mot de la fin'''</span> | ||
− | [[Image:Icone-NoteAPT.png|25px]] On peut utiliser cette marche à suivre afin de faire une demande de certificat Let's Encrypt pour un serveur intranet. | + | [[Image:Icone-NoteAPT.png|25px]] On peut utiliser cette marche à suivre afin de faire une demande de certificat Let's Encrypt pour un serveur intranet. Vous n'aurez pas à configurer l'authentification par clé publique SSH, pour que root puisse commnuniquer avec le serveur passerelle, afin de récupérer le certificat émis par Let's Encrypt. Le certificat sera directement déposé dans le répertoire <code>/etc/dehydrated/certs/FQDN-de-votre-domaine</code> du serveur local. |
− | |||
− | |||
− | |||
− | |||
+ | <!-- ########################################################################### --> | ||
+ | {{ParticularitesDeCeDocument}} | ||
+ | <!-- ########################################################################### --> | ||
+ | {{SME-101-Transclusion}} | ||
+ | ---- | ||
+ | <references/> | ||
[[Category:Howto]] [[Category:Howto/fr]] | [[Category:Howto]] [[Category:Howto/fr]] |
Latest revision as of 18:38, 20 November 2018
|
Description générale
Ce Cahier-8 du Cours SME-101 décrit les étapes pour l'installation d'un service de mandataire inversé sur un Serveur SME principal connecté à l'Internet afin qu'un autre Serveur SME, sur le réseau LOCAL, devienne accessible depuis l'Internet. Le serveur principal devient transparent pour le serveur WEB LOCAL et ce dernier semble directement branché à l'Internet.
Le serveur LOCAL peut être physique ou virtuel.
- Conventions: #Particularités de ce document.
But final de ce Cahier
Serveur local physique |
Serveur local virtuel |
Mandataire inversé
Serveur directement relié à l'Internet
Normalement, notre Serveur SME est directement relié à l'Internet à travers un modem ADSL/VDSL tel qu'illustré ci-dessous.
Si nous voulons accéder à notre installation Web depuis l'Internet, il faut avoir un nom de domaine FQDN et celui-ci doit pointer vers une i-bay.
Server-Manager > Configuration > Domaines > Modifier.
Notre nom de domaine est: micronator.org et notre installation Web est située dans l'i-bay Primary (site primaire). Il faut donc que ce domaine pointe vers cette i-bay.
Serveurs DNS du domaine
Pour l'i-bay Primary, toujours utiliser: Serveur DNS de l'Internet.
Pour les autres i-bays, toujours utiliser: Résolu localement.
Serveur local sur un intranet
Référence: https://wiki.contribs.org/SME_Server:Documentation:ProxyPass.
Notre Serveur SME secondaire est sur le réseau LOCAL (192.168.1.0/24) de notre serveur principal. On parle alors d'un serveur intranet. Habituellement, ce genre de serveur n'a pas d'adresse IP publique pour son réseau externe mais, une adresse privée (192.168.1.11).
Serveur intranet physique. | Serveur intranet virtuel. |
Serveur mandataire inversé
Référence: https://fr.wikipedia.org/wiki/Proxy_inverse.
Un mandataire inversé (reverse proxy) est un type de serveur, habituellement placé en frontal des serveurs Web. Contrairement au serveur mandataire qui permet à un utilisateur d'accéder au réseau Internet, le mandataire inversé permet à un utilisateur d'Internet d'accéder à des serveurs internes (situés sur le réseau LOCAL du serveur principal/passerelle).
Préparation du serveur local de destination
Installation d'un Serveur SME
Voir le Cahier-2: SME-101.02 Serveur SME.
Pour un serveur de test, prendre un minimum de 8 GB pour le disque principal.
Lors de la configuration initiale, prendre les valeurs ci-dessous.
Mode de fonctionnement
Serveur uniquement |
Interface de liaison de canaux
Désactivé |
Configuration du serveur DHCP
Désactivé |
Mise à jour du Serveur
Avant de commencer quoi que ce soit, il est toujours préférable de mettre à jour le Serveur SME.
Voir le chapitre Mise à jour dans le Cahier-2.
Serveur DNS du domaine
On ajuste le pointeur des Serveurs DNS du domaine
pour qu'il pointe vers les Serveurs DNS de l'Internet
.
Ceci est une exception à la règle car, habituellement, un serveur local a toujours la propriété Serveurs DNS du domaine
pointant sur Résolu localement
. Cette exception est dûe au fait de l'utilisation d'un serveur mandataire inversé.
Il faut donc, exceptionnellement, changer la propriété Serveurs DNS du domaine
de notre serveur LOCAL.
Server Manager > Domaines > Modifier. | Serveur DNS du domaine > dérouler et choisir Serveurs DNS de l'Internet > Modifier.
|
On s'assure du succès de l'opération. |
Fichier /etc/hosts
On s'assure que le fichier /etc/hosts
du serveur local soit correctement configuré.
# cat /etc/hosts
#------------------------------------------------------------ # !!DO NOT MODIFY THIS FILE!! # # Manual changes will be lost when this file is regenerated. # # Please read the developer's guide, which is available # at http://www.contribs.org/development/ # # Copyright (C) 1999-2006 Mitel Networks Corporation #------------------------------------------------------------ 127.0.0.1 localhost 192.168.1.11 sme-92.micronator-101.com sme-92
Passerelle par défaut
On s'assure que la passerelle par défaut soit bien notre serveur principal dorgee.micronator.org (192.168.1.1).
Serveur physique
# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1
Serveur virtuel
À la console du serveur.
# route
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
pc-00001.micron * 255.255.255.255 UH 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
default pc-00001.micron 0.0.0.0 UG 0 0 0 eth1
Le Serveur SME-9.2 virtuel passe par la carte réseau du poste de travail (pc-00001.micron).
À la console du poste de travail, dans un écran de commandes, on lance la commande ipconfig
.
C:\Users\michelandre> ipconfig Configuration IP de Windows ... Carte Ethernet Ethernet : Suffixe DNS propre à la connexion. . . : Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.81 Masque de sous-réseau. . . . . . . . . : 255.255.255.0 Passerelle par défaut. . . . . . . . . : 192.168.1.1 ...
On vérifie l'adresse IP du serveur. (Nous sommes en mode Serveur uniquement.)
# ifconfig eth1 Link encap:Ethernet HWaddr 08:00:27:06:AE:18 inet adr:192.168.1.11 Bcast:192.168.1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1890 errors:0 dropped:0 overruns:0 frame:0 TX packets:1210 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:211092 (206.1 KiB) TX bytes:198261 (193.6 KiB) lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1227 errors:0 dropped:0 overruns:0 frame:0 TX packets:1227 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 RX bytes:415992 (406.2 KiB) TX bytes:415992 (406.2 KiB)
L'adresse externe i.e. eth1 192.168.1.11, servira plus tard comme pointeur de destination pour le serveur mandataire inversé.
Préparation du Serveur principal
Vérification des domaines
Si auparavant on a fait quelques tests, on vérifie que le domaine micronator-101.com n'existe plus sur le serveur principal.
Comme on le voit, il n'existe aucune référence à micronator-101.com. Si oui, on doit supprimer ce domaine du serveur principal.
Le FQDN du serveur principal est: micronator.org.
Transformation du serveur principal en mandataire inversé
La prochaine étape est de modifier le serveur principal, dorgee.micronator.org, pour qu'il devienne un serveur mandataire inversé de notre serveur Web LOCAL sme-92.micronator-101.com.
À l'aide de PuTTY, on se logue sur le serveur principal.
login as: root root@192.168.1.1's password: Mot-de-passe
On vérifie qu'on est bien sur le serveur principal.
# hostname
dorgee
On vérifie l'adresse IP de son réseau LOCAL.
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:50:8B:AE:88:89 inet adr:192.168.1.1 Bcast:192.168.1.255 Masque:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8106669 errors:0 dropped:0 overruns:0 frame:0 TX packets:14527260 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 RX bytes:910237336 (868.0 MiB) TX bytes:17641271800 (16.4 GiB)
Configuration du serveur principal
On crée le domaine virtuel micronator-101.com sur le serveur principal.
# db domains set micronator-101.com domain
On indique que le serveur de noms pour ce domaine virtuel est sur l'internet
.
# db domains setprop micronator-101.com Nameservers internet
On indique l'adresse de la cible c.-à-d. le Serveur SME LOCAL hébergeant le domaine micronator-101.com.
# db domains setprop micronator-101.com ProxyPassTarget http://192.168.1.11/
On indique le chemin d'un gabarit pour ce nouveau domaine virtuel.
# db domains setprop micronator-101.com TemplatePath ProxyPassVirtualHosts
On signale les changements de configuration au serveur principal afin qu'il crée le nouveau domaine virtuel.
# signal-event domain-create micronator-101.com
On s'assure que le nouveau domaine virtuel a bien été créé.
db domains show
... micronator-101.com=domain Nameservers=internet ProxyPassTarget=http://192.168.1.11/ TemplatePath=ProxyPassVirtualHosts ...
Dans le gestionnaire Server Manager, sur le serveur principal qui est devenu un mandataire inversé, un nouveau domaine a été créé pour micronator-101.com.
Résultat final
Serveur local physique |
Serveur local virtuel |
Vérification
On lance deux ping
à la console du serveur principal.
# ping -c 2 micronator-101.com
PING micronator-101.ddns.net (206.248.138.152) 56(84) bytes of data. 64 bytes from 206-248-138-152.dsl.teksavvy.com (206.248.138.152): icmp_seq=1 ttl=64 time=0.028 ms 64 bytes from 206-248-138-152.dsl.teksavvy.com (206.248.138.152): icmp_seq=2 ttl=64 time=0.041 ms --- micronator-101.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms
L'adresse IP 206.248.138.152 est celle du serveur principal et c'est lui qui répond car, un mandataire inversé ne transmet seulement que les requêtes Web.
On lance le navigateur TOR et on se rend à http://www.micronator-101.com.
Si nous avons recours à un service de DNS dynamique, il ne faut pas utiliser www avec un tel domaine.
Désinstallation du "service" mandataire inversé
Si on veut désinstaller ce service, pour quelque raison que ce soit, on exécute les commandes suivantes.
Sur le serveur principal
On supprime le domaine virtuel.
# db domains delete micronator-101.com
On signale les changements de configuration au serveur principal afin qu'il supprime le domaine virtuel.
# signal-event domain-modify
On vérifie avec grep
que le domaine micronator-101.com n'existe plus sur le serveur principal.
# db domains show | grep micronator-101.com
Aucune information n'est retournée car, le serveur virtuel n'existe plus sur le serveur principal.
Sur le serveur local
Sur le serveur local, il faut remettre le pointeur Serveurs DNS du domaine
vers Résolu localement
.
Remarques importantes
Mise en garde
La sécurité est à surveiller car, le Serveur SME local est maintenant accessible depuis l'Internet.
Certificat
Lorsqu'un internaute accède le serveur local avec une requête https:
- Son navigateur se connecte au serveur principal et une négociation SSL débute.
- Le navigateur et le serveur principal échange leur clé publique et la communication chiffrée débute.
- Le navigateur envoie sa requête (nom d'hôte + URL).
- Sur le serveur principal, le démon Apache débute son rôle de mandataire inversé:
- il crée une connexion avec le serveur local,
- il lui envoie la requête du navigateur de l'internaute
- et termine en retournant la réponse au navigateur de l'internaute.
C'est le certificat du serveur mandataire inversé qui est utilisé pour chiffrer la communication avec le navigateur de l'internaute. Il n'y a aucune possibilité que le certificat du serveur local puisse être présenté au navigateur de l'internaute et qu'il soit utilisé pour le chiffrage.
Courriel
Un mandataire inversé est utilisé pour servir d'intermédiaire seulement pour les requêtes Web.
Si le serveur qui sert de mandataire reçoit un courriel, c'est qmail
qui s'en occupe et non pas le démon Apache.
À toute fin pratique, le domaine local existe dans le gestionnaire Server Manager du serveur principal. Ainsi, si le récepteur du courriel n'existe pas en tant qu'utilisateur sur le serveur principal, le courriel est pris en charge par le paramètre Courriels destinés à des utilisateurs inconnus
du gestionnaire Server Manager du serveur principal.
Toutefois, on peut accéder à Webmail du serveur local depuis l'Internet car, l'accès à Webmail est une requête Web: https://www.micronator-101.com/webmail.
WordPress
Si WordPress, sur le serveur local, envoie un courriel à un usager existant sur le serveur local, cet usager recevra ce courriel car, le domaine existe sur le serveur local et le courriel y sera envoyé sans passer par l'Internet. Si l'usager n'existe pas sur le serveur local, le courriel sera envoyé dans l'Internet via le serveur principal qui sert de passerelle pour le serveur local.
Mot de la fin
On peut utiliser cette marche à suivre afin de faire une demande de certificat Let's Encrypt pour un serveur intranet. Vous n'aurez pas à configurer l'authentification par clé publique SSH, pour que root puisse commnuniquer avec le serveur passerelle, afin de récupérer le certificat émis par Let's Encrypt. Le certificat sera directement déposé dans le répertoire /etc/dehydrated/certs/FQDN-de-votre-domaine
du serveur local.
Particularités de ce document
Avertissement
Bien que nous utilisions ici un vocabulaire issu des sciences informatiques, nous ne prétendons nullement à la précision technique de tous nos propos dans ce domaine.
Notes au lecteur
- Les captures d’écrans ne sont que des références.
- Les informations écrites ont préséance sur celles retrouvées dans les captures d’écrans. Se référer aux différents tableaux lorsque ceux-ci sont présents.
Conventions
- Toutes les commandes à entrer à la console du Serveur SME commencent habituellement avec l'invite # pour l'usager root ou $ pour un usager sans privilège particulier.
- L'invite
mysql>
de la console MySQL est toujours présente. - La sortie de la commande est séparée de celle-ci par une ligne vide sans couleur de fond.
- L'invite de retour n'est jamais présent pour la plupart des commandes.
- Les affichages à surveiller sont en rouge, bleu, orange ou magenta.
# ping 192.168.1.149
192.168.1.149 is alive
Les liens de référence Internet sont en bleu de même que ceux intra-document mais, ces derniers débute par un " # ".
Manipulation, truc ou ruse pour se tirer d’embarras.
Une étape, note ou procédure à surveiller.
Danger pour la sécurité du système.
Indique que la commande est sur une seule ligne. Pour ce document en PDF, il faudra copier la commande entière dans un éditeur de texte ASCII tel que NotePad++ et la mettre sur une seule ligne avant de la copier à la console.
Une chaîne de caractères en magenta indique qu’il faut remplacer cette chaîne par vos propres paramètres.
Commande à exécuter si ce n'est déjà fait. |
Commande indiquée à titre d'information seulement. |
Cours SME-101
Après avoir suivi le cours SME-101, l'Étudiant possédera un site de Commerce en ligne fiable et hautement sécuritaire.
De plus, il pourra utiliser un clone de son site, sur un Serveur SME virtuel sur sa station de travail, pour tester de nouvelles extensions et applications sans compromettre la sécurité ou l'intégrité de son site en ligne.
Tous les logiciels nécessaires sont du domaine public ou LIBRE sous licence GPL; ils ne coûtent pas un sou. Le seul achat nécessaire est l'obtention d'un nom de domaine FQDN au prix initial de $15 CAD et son renouvellement annuel d'environ $30 CAD.
Documentation
Se voulant une base solide pour la création d'un site de Commerce en ligne, le cours SME-101 comprend plusieurs cahiers :
- Cahier-00: "SME-101.00 Linux de base". Les bases de Linux, SME-101.00 Linux de base.
- Cahier-01: Installation et configuration des logiciels prérequis sur le poste de travail de l'Étudiant de même que le téléchargement des fichiers qui seront installés sur le Serveur SME virtuel, https://wiki.contribs.org/SME-101.01_Logiciels_de_la_station_de_travail SME-101.01 Logiciels de la station de travail].
- Cahier-02: Description du parcours des paquets IP du Serveur SME vers l'Internet, création de la machine virtuelle, installation/configuration du serveur Linux SME et enfin, sauvegarde/restauration de ce dernier, SME-101.02 Serveur SME.
- Cahier-03: Abonnement à un FAI, installation et configuration d'un modem ADSL/VDSL, création d'un domaine chez un fournisseur de Service DNS dynamique avec installation d'un script pour sa mise à jour et enfin la marche à suivre pour l'obtention et la configuration d'un domaine FQDN[1], SME-101.03 ADSL/VDSL, DDNS et Domaine FQDN.
- Cahier-04: Installation d'un certificat SSL de l'autorité de certification Let's Encrypt et script de mise à jour, SME-101.04 Certificat Let's Encrypt.
- Cahier-05A: Installation et configuration de WordPress, SME-101.05A WordPress.
- Cahier-05B: Installation et configuration de l'extension de sécurité Wordfence, SME-101.05B Wordfence.
- Cahier-06: Installation et configuration de l'extension de vente en ligne WooCommerce, création de comptes chez Stripe et PayPal pour les paiements en ligne, SME-101.06 WooCommerce.
- Cahier-07: Sauvegarde/restauration ou migration d'un site avec l'extension Duplicator, SME-101.07 Duplicator.
- Cahier-08: Serveur mandataire inversé, SME-101.08 Serveur mandataire inversé.
- Cahier-09: Supplément: SME & BackupPC-4.2, SME-101.09: Supplément: SME & BackupPC-4.2.
- Cahier-10: Supplément: Fail2ban, SME-101.09: SME-101.10: Supplément: Fail2ban.
Cours SME-201
* Cahier-01: Proxmox, SME-201.01: Proxmox-5.2.1. |
* Cahier-02: MediaWiki, SME-201.02 MediaWiki-1.31.1. |
* Cahier-03: Dolibarr (À venir). |
* Cahier-04: OsTicket, SME-201.04: osTicket-1.10.4. |
Michel-André
Victoire totale, hissons la bannière de la victoire.
- ↑ FQDN: Dans le DNS, un Fully Qualified Domain Name (FQDN, ou nom de domaine complètement qualifié) est un nom de domaine qui révèle la position absolue d'un nœud dans l'arborescence DNS en indiquant tous les domaines de niveau supérieur jusqu'à la racine. On parle également de domaine absolu, par opposition aux domaines relatifs. Par convention, le FQDN est ponctué par un point final.
Référence: https://fr.wikipedia.org/wiki/Fully_qualified_domain_name.