Sommaire
Guide détaillé
Étape 1
Lister l’exposition nécessaire
Distinguez ports publics de service et accès d’administration. Le public ne doit pas dicter la sécurité de l’admin.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Appliquer cette étape avec une trace simple
Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.
mkdir -p ~/newscloud-notes
printf '%s\n' "Lister l’exposition nécessaire" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
- `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
- `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
- `systemctl --failed` liste les services en échec pour repérer un problème global.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
- `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
Créer un accès administrateur et limiter le réseau
On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
- `install -d` crée le dossier avec les bons droits en une seule commande.
- `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
- `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
- `chown` remet la propriété des fichiers au bon utilisateur de service.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Pare-feu avec UFW
Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
- Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
- Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.
Étape 2
Choisir le chemin d’administration
IP fixe, VPN ou bastion réduisent beaucoup la surface d’attaque. Choisissez une option réaliste pour votre contexte.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Créer un utilisateur d’administration
Le compte dédié évite d’utiliser root au quotidien. Testez toujours la nouvelle session avant de retirer un accès existant.
sudo adduser deploy
sudo usermod -aG sudo deploy
su - deploy
sudo whoami
exit
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
- `su - utilisateur` ouvre une session avec le compte ciblé pour tester son environnement.
- `whoami` confirme l’utilisateur actif, pratique après un test sudo.
- `exit` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
Créer un accès administrateur et limiter le réseau
On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
- `install -d` crée le dossier avec les bons droits en une seule commande.
- `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
- `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
- `chown` remet la propriété des fichiers au bon utilisateur de service.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Pare-feu avec UFW
Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
- Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
- Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.
Étape 3
Tester avant de fermer
Appliquez les règles depuis une session ouverte, puis testez depuis une deuxième connexion. Ne jouez pas l’accès principal à pile ou face.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Appliquer cette étape avec une trace simple
Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.
mkdir -p ~/newscloud-notes
printf '%s\n' "Tester avant de fermer" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
- `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
- `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
- `systemctl --failed` liste les services en échec pour repérer un problème global.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
- `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
Créer un accès administrateur et limiter le réseau
On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
- `install -d` crée le dossier avec les bons droits en une seule commande.
- `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
- `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
- `chown` remet la propriété des fichiers au bon utilisateur de service.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Pare-feu avec UFW
Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
- Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
- Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.
Étape 4
Prévoir une récupération
Console fournisseur, accès de secours ou procédure interne doivent exister avant toute restriction forte.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Appliquer cette étape avec une trace simple
Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.
mkdir -p ~/newscloud-notes
printf '%s\n' "Prévoir une récupération" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
- `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
- `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
- `systemctl --failed` liste les services en échec pour repérer un problème global.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
- `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
Créer un accès administrateur et limiter le réseau
On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
- `install -d` crée le dossier avec les bons droits en une seule commande.
- `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
- `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
- `chown` remet la propriété des fichiers au bon utilisateur de service.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Pare-feu avec UFW
Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
- Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
- Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.
Étape 5
Relire après chaque nouveau service
Un nouveau port ouvert pour un besoin temporaire peut rester oublié. Faites une revue régulière.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Contrôler un service systemd
systemd donne l’état réel du service, son démarrage automatique et les journaux utiles au diagnostic.
sudo systemctl daemon-reload
sudo systemctl enable --now app.service
systemctl status app.service --no-pager
journalctl -u app.service -n 100 --no-pager
Ce que font les commandes
- `systemctl daemon-reload` recharge les unités systemd après modification d’un fichier de service.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
Créer un accès administrateur et limiter le réseau
On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
- `install -d` crée le dossier avec les bons droits en une seule commande.
- `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
- `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
- `chown` remet la propriété des fichiers au bon utilisateur de service.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Pare-feu avec UFW
Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
- `ufw` applique ou affiche les règles de pare-feu simples.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
- Niveau avancé : adaptez les chemins, noms de services et ports à votre application. Ne copiez pas les commandes sans remplacer les valeurs exemples.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
- Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.
Checklist finale
- Admin restreinte
- Accès secours
- Règles testées