Previous Contents Next

2   Mise en jambes

Le but de ce premier exercice est, pour chaque binôme, d'implanter un serveur web accessible d'Internet en utilisant une seule adresse IPv4 routée pour l'ensemble de la promotion. Dans un second temps il est demandé de sécuriser les serveurs Web.

2.1   Architecture

L'architecture de votre système doit être composée d'un serveur virtuel de redirection Web commun à la promotion et d'un serveur virtuel pour chaque binôme. Le serveur de redirection doit avoir deux interfaces réseau : une dans le VLAN ALTERNATE et une dans le VLAN INSECURE. L'interface ALTERNATE permet l'accès en provenance d'Internet et l'interface INSECURE permet la communication avec les serveurs virtuels des binômes. Comme adresse IPv4 dans le VLAN ALTERNATE, vous utiliserez 5.23.44.84/29 et 5.23.44.85/29 suivant le groupe de TD. Le serveur de redirection doit avoir comme adresse de passerelle 5.23.44.81.

Pour les adresses dans le VLAN INSECURE, vous utilisez les adresses IPv4 dans la plage 172.26.79.100 à 172.26.79.139 sachant que le masque réseau est 255.255.240.0.

Comme adresse IPv4 de serveur DNS vous pouvez utiliser 193.48.57.34.

2.2   Machines virtuelles

Vous devez créer des machines virtuelles sur le serveur physique chassiron.insecserv.deule.net (mot de passe administrateur habituel). Tous vos objets (serveurs virtuels et partitions logiques) doivent être préfixés par gis4- puis, par binôme, par un nom pris dans un thème commun à la promotion. D'un point de vue réseau les ponts virtuels à utiliser sont bridgeAlternate et bridgeInsecure.

La création des machines virtuelles fera par la commande xen-create-image. Il faut préciser à cet utilitaire le nom de votre machine (option --hostname), la configuration réseau (option --dhcp dans un premier temps) et le répertoire où les disques virtuels doivent être créés (option --dir), c'est-à-dire /usr/local/xen. Une fois la machine créée, modifiez son fichier /etc/network/interfaces pour y implanter la configuration réseau correcte. Utilisez ping pour tester la connexion réseau entre votre machine virtuelle, le serveur de redirection et votre machine de TP.

Installez des serveurs ssh et Web (paquetages openssh-server et apache2) dans vos serveurs. Créez un petit site Web sur votre serveur virtuel.

2.3   Nom DNS

Trouvez un nom pour votre serveur Web. Vous pouvez par exemple prendre le nom de votre machine virtuelle comme nom de base. Le domaine de votre nom sera stratocumulus.org. Ce domaine est géré par le registrar GANDI sous le compte XR206-GANDI (mot de passe habituel). Vous utiliserez l'interface de GANDI pour ajouter un enregistrement à votre nom de serveur Web pointant vers le serveur de redirection Web.

2.4   Configurations Web

Pour que votre site Web soit accessible, il vous faut modifier deux configurations de serveurs Apache. Celle du serveur de redirection et celle du serveur de votre binôme. Sur le serveur de redirection vous aurez pris soin de vérifier que les modules Apache proxy et proxy_http soient activés. Il vous faut aussi y définir un site Web virtuel (répertoire /etc/apache2/sites-available). Pour cela documentez-vous en trouvant des exemples d'utilisation des blocs VirtualHost et des directives Proxy* dans les configurations Apache. Vous devez aussi configurer votre site sur votre serveur virtuel de binôme. Pour ce dernier vous n'avez pas besoin des directives concernant le proxy.

Vérifiez que votre site est opérationnel, en particulier qu'il est accessible en dehors de l'école.

2.5   Certificat X509

Maintenant, il s'agit de sécuriser votre site en utilisant HTTPS. Pour cela vous allez utiliser l'autorité de certification "Let's Encrypt" : https://letsencrypt.org/. La version stretch de la distribution Debian comprend un paquetage letsencrypt. Ajoutez dans le fichier de configuration /etc/apt/sources.list une référence à cette version de la distribution Debian. Mettez à jour la liste des paquetages avec la commande apt-get update. Installez le paquetage letsencrypt. Pour éviter des soucis de mélange de version, retirez les références à la version stretch. Le certificat X509 s'obtient très facilement avec la commande letsencrypt certonly avec la méthode --webroot. Attention cependant cette méthode doit être utilisée sur votre machine virtuelle de binôme alors que le certificat est requis sur le serveur de redirection.

2.6   Configuration sécurisée

Modifiez les configurations Apache en utilisant les directives SSL* pour utiliser le protocole HTTPS. Attention vous ne pourrez définir de multiples sites sécurisés avec Apache que si votre version d'Apache implante le protocole SNI (Server Name Indication, RFC 4366). La plupart des navigateurs font confiance aux certificats de "Let's Encrypt", vous ne devriez donc pas avoir à inclure d'autorité de certification dans votre navigateur.

Vérifiez que votre site est opérationnel, en particulier faites afficher le certificat X509 de votre site à votre navigateur.

2.7   Equilibrage de charge

Vous venez de créer une ferme de sites Web sécurisés mais que va-t-il se passer en cas de succès ? Vos serveurs Web vont devoir supporter une charge de plus en plus importante et éventuellement refuser des connexions. Vous allez donc dupliquer votre serveur. Commencez par créer un ou plusieurs nouveaux hyperviseurs sur des machines de projet. Ensuite copiez les fichiers de votre machine virtuelle sur un des nouveaux hyperviseurs. N'oubliez pas de mettre à jour adresses Ethernet et IPv4 (utilisez des IPv4 à partir de 172.26.79.220). Pour modifier le nom de votre nouvelle machine, éditez les fichiers /etc/hostname, /etc/mailname et /etc/hosts. Vous devriez obtenir un clone fonctionnel de votre serveur Web. Sur le serveur de redirection, ajoutez les modules Apache d'équilibrage de charge proxy_balancer et lbmethod_byrequests. Enfin déclarez vos deux sites Web dans votre définition de site virtuel en utilisant les balises Proxy. Vous pouvez tester le gestionnaire de répartition qui peut être intégré au serveur de redirection.

2.8   Haute disponibilité

Ceux qui veulent aller plus loin constateront une faille dans l'architecture de notre système. Si le serveur de redirection tombe, les sites Web deviennent indisponibles. Il est proposé de créer un système résistant aux pannes en couplant les serveurs de redirection des deux groupes de TD. Pour cela il faut définir les sites virtuels des deux groupes sur les deux serveurs de redirection et privilégier une des deux adresses IPv4 routées. Il faut aussi installer un système de gestion d'adresse virtuelle avec le paquetage heartbeat. Le serveur de redirection actif s'attribuera l'adresse IPv4 routée. Si jamais il tombe, le serveur de secours s'appropriera cette adresse. La configuration d'heartbeat s'effectue dans 3 fichiers du répertoire /etc/ha.d/. Ces fichiers de configuration sont ha.cf, haresources et authkeys. Des exemples sont disponibles dans le répertoire /usr/share/doc/heartbeat ou sur Internet.


Previous Contents Next