Maxime Forest

← Projets et stages

Atelier professionnel · mars 2025 · en équipe

Cloud interne sécurisé avec Nextcloud

Déploiement d'un service de stockage Nextcloud sur Ubuntu Server pour l'entreprise fictive CentreCall, sécurisé par une politique de mots de passe, le chiffrement côté serveur et l'authentification à deux facteurs.

Contexte
CentreCall, entreprise fictive d'accueil téléphonique et de télémarketing
Cadre
Atelier professionnel de 1re année de BTS SIO, en équipe
Technique
Ubuntu Server 24.04, Apache, MariaDB, Nextcloud 31, SSH, DNS
Sécurité
Politique de mots de passe, chiffrement côté serveur, double authentification TOTP
  • Nextcloud
  • Ubuntu Server
  • MariaDB
  • SSH
  • 2FA
  • DNS

01Contexte et objectifs

CentreCall, société spécialisée dans l'accueil téléphonique et le télémarketing, souhaite disposer d'un stockage cloud interne. L'atelier consistait à installer Nextcloud, à le sécuriser, puis à le rendre accessible par un nom interne : nextcloud.centrecall.local.

  • Mettre en place le serveur Nextcloud et la résolution de son nom.
  • Sécuriser le service.
  • Vérifier et valider le fonctionnement par des tests.

Le cahier des charges prévoyait aussi un accès Wi-Fi par une borne dédiée ; ce compte rendu couvre la partie Nextcloud.

02Environnement et réseau

Nous avons réutilisé le serveur Ubuntu Server 24.04 mis en place lors de l'atelier précédent (intranet web et FTP), déjà configuré avec l'adresse IP statique 172.18.70.5.

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

03Accès distant en SSH

Pour que chaque membre de l'équipe puisse administrer le serveur à distance, nous avons installé le serveur OpenSSH.

Commande apt d'installation du serveur OpenSSH.
Fig. 3 Installation du serveur OpenSSH.
Sortie de systemctl status ssh : service actif.
Fig. 4 Le service SSH est actif.

Dans le cadre de l'atelier, le pare-feu ufw a été désactivé pour éviter tout blocage du port 22.

Commande ufw disable et sa confirmation.
Fig. 5 Désactivation du pare-feu ufw.

Depuis un poste client, la connexion se fait en ligne de commande avec ssh utilisateur@adresse, ici avec le compte développeur dev1.

Session SSH ouverte sur le serveur Ubuntu avec le compte dev1.
Fig. 6 Connexion SSH au serveur depuis un poste Windows.

04Installation de Nextcloud

L'archive de Nextcloud est téléchargée avec wget, puis décompressée dans le dossier du serveur web.

Commande wget téléchargeant la dernière version de Nextcloud.
Fig. 7 Téléchargement de Nextcloud.

L'utilisateur du serveur web (www-data) devient propriétaire du dossier de Nextcloud.

Commandes chown et chmod sur /var/www/nextcloud.
Fig. 8 Attribution des droits sur le dossier de Nextcloud.

Nous installons ensuite Apache, MariaDB et les modules PHP nécessaires, puis nous sécurisons MariaDB avec mysql_secure_installation.

Commande apt install listant apache2, mariadb-server et les modules PHP.
Fig. 9 Installation d'Apache, de MariaDB et des modules PHP.
Sortie de systemctl status mariadb : service actif.
Fig. 10 Le service MariaDB est actif.
Fin de l'assistant mysql_secure_installation.
Fig. 11 Sécurisation de l'installation de MariaDB.

Enfin, nous créons la base de données de Nextcloud et un compte dédié, qui reçoit tous les droits sur cette seule base.

Console MariaDB : création de la base nextcloud et de l'utilisateur groupe7.
Fig. 12 Création de la base et de son utilisateur (mot de passe masqué).

05Configuration du service

Le fichier config.php de Nextcloud est adapté aux besoins de l'atelier, notamment les domaines de confiance et les paramètres de la base de données.

Fichier config.php : domaines de confiance 172.18.70.5 et nextcloud.centrecall.local, base MariaDB.
Fig. 13 Fichier config.php (valeurs sensibles masquées).

En saisissant l'adresse IP du serveur dans un navigateur, on arrive sur Nextcloud, où l'on crée le compte administrateur du service.

Page d'installation de Nextcloud : création du compte administrateur et paramètres de la base.
Fig. 14 Création du compte administrateur de Nextcloud.

La configuration se termine par l'installation des applications recommandées.

Liste des applications recommandées par Nextcloud.
Fig. 15 Installation des applications recommandées.

06Sécurisation

Plusieurs mesures renforcent la sécurité du service :

  • cinq tentatives de connexion au maximum avant la désactivation du compte ;
  • expiration des mots de passe au bout de 90 jours ;
  • politique de complexité : 12 caractères au minimum, mots de passe courants interdits.
Réglages de sécurité : 5 tentatives maximum, expiration à 90 jours, longueur minimale de 12 caractères.
Fig. 16 Politique de mots de passe.

Le chiffrement côté serveur est activé.

Option « Activer le chiffrement côté serveur » cochée.
Fig. 17 Activation du chiffrement côté serveur.

Pour l'authentification à deux facteurs, nous téléchargeons l'application twofactor_totp depuis GitHub, nous la plaçons dans les applications de Nextcloud, puis nous l'activons avec la commande occ.

Commandes wget et unzip de l'application twofactor_totp.
Fig. 18 Téléchargement de l'application twofactor_totp.
Déplacement de l'application dans le dossier apps et activation avec occ.
Fig. 19 Installation et activation de l'application.

À la connexion, Nextcloud demande désormais un code à usage unique généré par une application d'authentification.

Écran de Nextcloud demandant le code d'authentification TOTP.
Fig. 20 Demande du code TOTP à la connexion.

07Application mobile

L'application Nextcloud est installée sur un téléphone depuis l'App Store, pour matérialiser l'accès d'un utilisateur au service.

Fiche de l'application Nextcloud dans l'App Store.
Fig. 21 L'application dans l'App Store.
Écran de connexion à Nextcloud sur le téléphone, à l'adresse 172.18.70.5.
Fig. 22 Connexion au serveur depuis le téléphone.

08Fiche de configuration et tests

ÉlémentValeur
ServiceNextcloud
Système du serveurUbuntu Server 24.04
Adresse IP statique172.18.70.5
Nom internenextcloud.centrecall.local
Dossier d'installation/var/www/nextcloud
Base de donnéesMariaDB, base nextcloud
Double authentificationtwofactor_totp activé
N°Cas de testÉtapesRésultat attenduStatut
T1Accès webSaisir 172.18.70.5 dans le navigateurPage de connexion visibleFonctionnel
T2Authentification et 2FAIdentifiants puis code TOTPConnexion réussieFonctionnel
T3Accès global au serviceTests d'utilisation de NextcloudApplications fonctionnellesFonctionnel

09Résolution de nom

Sur le contrôleur de domaine Windows Server mis en place lors d'un atelier précédent, nous créons dans l'outil DNS une zone de recherche directe centrecall.local, avec un hôte A nommé « nextcloud » qui pointe vers l'adresse du serveur.

Gestionnaire DNS : zone centrecall.local et hôte nextcloud vers 172.18.70.5.
Fig. 23 Enregistrement DNS du service.

Le poste client utilise ce contrôleur de domaine comme serveur DNS.

Propriétés IPv4 du poste client : serveur DNS préféré 172.18.70.2.
Fig. 24 Serveur DNS configuré sur le poste client.

Le service est alors accessible par son nom dans le navigateur.

Page de connexion de Nextcloud affichée à l'adresse nextcloud.centrecall.local.
Fig. 25 Accès à Nextcloud par son nom.