Maxime Forest

← Projets et stages

Atelier professionnel · février – mars 2025 · en binôme

Intranet web et FTP à accès restreints

Mise en place, pour le laboratoire fictif GSB, d'un intranet sous Apache protégé par authentification et d'un serveur FTP réservé aux développeurs, sur Ubuntu Server.

Contexte
Galaxy Swiss Bourdin (GSB), laboratoire pharmaceutique fictif
Cadre
Atelier professionnel de 1re année de BTS SIO, en binôme
Technique
Hyper-V, Ubuntu Server 24.04, Apache 2.4, vsftpd, FileZilla, DNS
Sécurité
Authentification HTTP, liste d'utilisateurs FTP autorisés, droits par groupe
  • Linux
  • Apache
  • vsftpd
  • DNS
  • Habilitations

01Contexte et objectifs

Galaxy Swiss Bourdin (GSB) est un laboratoire pharmaceutique issu de la fusion de deux entreprises. Cette fusion demande d'améliorer le système informatique pour faciliter l'activité des visiteurs médicaux et la communication interne.

L'objectif est de mettre en place un intranet et un serveur FTP sécurisé, par lequel les développeurs déposent les mises à jour du site. L'accès doit être réservé aux acteurs de l'entreprise.

  • Mettre en place un serveur intranet sécurisé avec Apache.
  • Configurer les accès des utilisateurs et les permissions.
  • Mettre en place un serveur FTP sécurisé.
  • Configurer la résolution du nom du serveur.
  • Vérifier et valider le tout par des tests.

02Environnement

Nous créons sous Hyper-V une machine virtuelle Ubuntu Server 24.04, qui hébergera les services.

Gestionnaire Hyper-V listant la machine virtuelle Ubuntu Server.
Fig. 1 La machine virtuelle dans le gestionnaire Hyper-V.

Une fois sur le serveur, nous créons le groupe des développeurs et ses trois utilisateurs :

sudo groupadd devs
sudo useradd dev1
sudo useradd dev2
sudo useradd dev3
sudo usermod -aG devs dev1
sudo usermod -aG devs dev2
sudo usermod -aG devs dev3

03Adresse IP statique

Le serveur reçoit une adresse IP statique, 172.18.70.5, pour que les services restent joignables à la même adresse.

Fichier netplan du serveur : adresse 172.18.70.5/16, passerelle et serveur DNS.
Fig. 2 Configuration IP statique avec netplan.
Résultat d'un ping vers 172.18.70.5 : trois réponses reçues.
Fig. 3 Le serveur répond au ping depuis un poste client.

04Serveur web Apache

Apache, installé avec apt, sert l'intranet de l'entreprise.

Sortie de systemctl status apache2 : service actif.
Fig. 4 Le service Apache est actif.
Commande apache2 -v : Apache 2.4.58.
Fig. 5 Version d'Apache installée.

05Sécurisation du serveur web

L'accès au site est protégé par un nom d'utilisateur et un mot de passe. La commande htpasswd crée le fichier /etc/apache2/.htpasswd, qui contient l'utilisateur et son mot de passe chiffré.

Commande sudo htpasswd -c /etc/apache2/.htpasswd admin.
Fig. 6 Création du fichier .htpasswd.

Le fichier 000-default.conf reçoit ensuite les directives qui protègent le dossier du site, /var/www/html.

Fichier 000-default.conf : AuthType Basic, AuthUserFile et Require valid-user sur /var/www/html.
Fig. 7 Directives d'authentification dans la configuration du site.
Fenêtre d'authentification affichée par le navigateur à l'adresse du serveur.
Fig. 8 Le navigateur demande une authentification.

06Validation du service web

Nous vérifions que le serveur web répond et que l'authentification est bien active.

Fenêtre « Se connecter pour accéder à ce site » sur 172.18.70.5.
Fig. 9 Demande d'identifiants à l'ouverture du site.
Page par défaut d'Apache sur Ubuntu.
Fig. 10 Page par défaut d'Apache après authentification.

07Serveur FTP

Le service vsftpd permet de transférer des fichiers vers le serveur avec un client FTP.

Sortie de systemctl status vsftpd : service actif.
Fig. 11 Le service vsftpd est actif.

Avec le client FileZilla, nous nous connectons au serveur et transférons dans /var/www/html les fichiers du site à mettre en ligne.

FileZilla connecté à 172.18.70.5, dossier distant /var/www/html.
Fig. 12 Connexion au serveur avec FileZilla (volet local masqué).
Le site de l'intranet affiché dans le navigateur, et la demande d'identifiants dans une fenêtre privée.
Fig. 13 Le site transféré, protégé par l'authentification.

08Sécurisation du serveur FTP

Les développeurs ne doivent accéder qu'aux fichiers du site. Le groupe devs devient propriétaire du dossier du site et reçoit les droits de lecture et d'écriture :

sudo chown -R root:devs /var/www/html
sudo chmod -R 775 /var/www/html

Un fichier vsftpd.allowed_users liste les utilisateurs autorisés à se connecter en FTP : les développeurs et l'administrateur. La configuration de vsftpd refuse tous les autres.

Fichier vsftpd.conf : chroot_local_user, userlist_enable, userlist_deny=NO et userlist_file.
Fig. 14 Restriction des utilisateurs dans vsftpd.conf.

Le compte administrateur accède à tous les dossiers du serveur.

FileZilla connecté avec le compte administrateur : arborescence complète du serveur.
Fig. 15 Accès de l'administrateur (volet local masqué).

Les développeurs n'accèdent qu'au dossier du site web.

FileZilla connecté avec le compte dev1 : seuls les dossiers du site sont visibles.
Fig. 16 Accès d'un développeur, limité au dossier du site (volet local masqué).

09Validation du service FTP

Nous testons la connexion au serveur FTP, l'envoi et la suppression de fichiers, puis nous vérifions les droits sur le dossier du site.

Sortie de ls -l dans /var/www/html : fichiers appartenant au groupe devs.
Fig. 17 Droits des fichiers du site : groupe devs.

10Résolution de noms

Pour que le serveur soit joignable par un nom plutôt que par son adresse IP, nous ajoutons l'hôte « visiteurs » dans la zone DNS du contrôleur de domaine Windows Server (mdl.local), vers l'adresse 172.18.70.5.

Gestionnaire DNS : hôte visiteurs vers 172.18.70.5 dans la zone MDL.LOCAL.
Fig. 18 Enregistrement DNS « visiteurs ».

Le poste client utilise le contrôleur de domaine (172.18.70.2) comme serveur DNS.

Propriétés IPv4 du poste client : serveur DNS préféré 172.18.70.2.
Fig. 19 Serveur DNS configuré sur le poste client.
Le formulaire d'authentification du site affiché à l'adresse visiteurs.mdl.local.
Fig. 20 Le site répond à l'adresse visiteurs.mdl.local.

11Bilan

Nous avons répondu aux besoins de GSB en déployant un serveur web et un serveur FTP conformes au cahier des charges. Apache est protégé par une authentification par mot de passe, qui réserve l'accès aux utilisateurs autorisés. Le serveur FTP permet aux développeurs du groupe devs de modifier uniquement les fichiers du site. La résolution de nom simplifie l'accès sur le réseau local. Une série de tests a validé chaque fonction : connexion FTP, authentification web et restrictions.