Sommaire
Guide détaillé
Étape 1
Sécuriser sans se couper l’accès
Gardez une session ouverte et testez chaque nouvelle règle depuis une deuxième connexion. Le bon durcissement est progressif.
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.
Lister les ports et tester le réseau
On vérifie ce qui écoute réellement et on teste localement avant de chercher une erreur côté DNS ou routeur.
ip -br addr
ip route
sudo ss -tulpn
curl -I http://127.0.0.1
nc -vz 127.0.0.1 80
Ce que font les commandes
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
- `curl` teste une URL depuis la machine elle-même.
- `nc -vz` teste si un port TCP répond sans envoyer de données applicatives.
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 wheel 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 dnf install -y firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo systemctl enable --now firewalld
sudo firewall-cmd --list-all
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG wheel` ajoute l’utilisateur au groupe d’administration sur AlmaLinux, Rocky Linux ou RHEL.
- `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.
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Pare-feu avec firewalld
Sur AlmaLinux, Rocky Linux ou RHEL, firewalld est généralement le choix le plus naturel pour ouvrir seulement les services utiles.
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Ce que font les commandes
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Variantes et attention
- Les commandes de ce guide sont adaptées pour AlmaLinux / Rocky / RHEL. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- 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
Identifier les flux utiles
Listez ce qui doit entrer dans le conteneur : SSH d’administration, HTTP/HTTPS public, supervision éventuelle. Tout le reste doit être justifié.
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.
Tester l’isolation réseau
On teste la passerelle autorisée, puis une cible LAN qui doit rester bloquée. Remplacez les IP par votre plan réseau.
ip route
ping -c 3 10.31.254.254
ping -c 3 192.168.4.8
curl -m 3 http://192.168.4.8:8006
sudo nft list ruleset
Ce que font les commandes
- `ip route` montre la passerelle utilisée et les routes connues.
- `ping -c 3 10.31.254.254` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
- `ping -c 3 192.168.4.8` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
- `curl` teste une URL depuis la machine elle-même.
- `nft list ruleset` affiche les règles nftables réellement chargées.
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 wheel 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 dnf install -y firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo systemctl enable --now firewalld
sudo firewall-cmd --list-all
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG wheel` ajoute l’utilisateur au groupe d’administration sur AlmaLinux, Rocky Linux ou RHEL.
- `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.
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Pare-feu avec firewalld
Sur AlmaLinux, Rocky Linux ou RHEL, firewalld est généralement le choix le plus naturel pour ouvrir seulement les services utiles.
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Ce que font les commandes
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Variantes et attention
- Les commandes de ce guide sont adaptées pour AlmaLinux / Rocky / RHEL. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- 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
Préférer les clés aux habitudes faibles
La clé SSH réduit les risques par rapport aux mots de passe partagés. Elle doit être associée à une personne ou à un outil clair.
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 ce conteneur LXC, 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éférer les clés aux habitudes faibles" > ~/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 wheel 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 dnf install -y firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo systemctl enable --now firewalld
sudo firewall-cmd --list-all
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG wheel` ajoute l’utilisateur au groupe d’administration sur AlmaLinux, Rocky Linux ou RHEL.
- `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.
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Pare-feu avec firewalld
Sur AlmaLinux, Rocky Linux ou RHEL, firewalld est généralement le choix le plus naturel pour ouvrir seulement les services utiles.
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Ce que font les commandes
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Variantes et attention
- Les commandes de ce guide sont adaptées pour AlmaLinux / Rocky / RHEL. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- 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
Appliquer le pare-feu en deux temps
Autorisez d’abord votre accès de secours, puis les ports applicatifs. Validez l’état final avant de fermer la fenêtre d’intervention.
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 ce conteneur LXC, 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' "Appliquer le pare-feu en deux temps" > ~/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 wheel 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 dnf install -y firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo systemctl enable --now firewalld
sudo firewall-cmd --list-all
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG wheel` ajoute l’utilisateur au groupe d’administration sur AlmaLinux, Rocky Linux ou RHEL.
- `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.
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Pare-feu avec firewalld
Sur AlmaLinux, Rocky Linux ou RHEL, firewalld est généralement le choix le plus naturel pour ouvrir seulement les services utiles.
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Ce que font les commandes
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Variantes et attention
- Les commandes de ce guide sont adaptées pour AlmaLinux / Rocky / RHEL. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- 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
Conserver une note de règles
Une règle réseau oubliée est un futur incident. Notez l’objectif de chaque ouverture et la date de décision.
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 ce conteneur LXC, 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' "Conserver une note de règles" > ~/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 wheel 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 dnf install -y firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo systemctl enable --now firewalld
sudo firewall-cmd --list-all
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG wheel` ajoute l’utilisateur au groupe d’administration sur AlmaLinux, Rocky Linux ou RHEL.
- `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.
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Pare-feu avec firewalld
Sur AlmaLinux, Rocky Linux ou RHEL, firewalld est généralement le choix le plus naturel pour ouvrir seulement les services utiles.
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Ce que font les commandes
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Variantes et attention
- Les commandes de ce guide sont adaptées pour AlmaLinux / Rocky / RHEL. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- 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 6
Prévoir le cas urgence
Gardez la méthode de récupération côté console ou panneau. Le pare-feu doit protéger le service, pas rendre l’exploitation impossible.
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 ce conteneur LXC, 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 le cas urgence" > ~/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 wheel 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 dnf install -y firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo systemctl enable --now firewalld
sudo firewall-cmd --list-all
Ce que font les commandes
- `adduser` crée un compte utilisateur interactif.
- `usermod -aG wheel` ajoute l’utilisateur au groupe d’administration sur AlmaLinux, Rocky Linux ou RHEL.
- `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.
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Pare-feu avec firewalld
Sur AlmaLinux, Rocky Linux ou RHEL, firewalld est généralement le choix le plus naturel pour ouvrir seulement les services utiles.
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
Ce que font les commandes
- `dnf install` installe les paquets sur AlmaLinux, Rocky Linux ou RHEL.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `ssh` teste l’accès distant avec le compte et l’adresse indiqués.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd` modifie le pare-feu firewalld sur les distributions RHEL-like.
- `firewall-cmd --list-all` affiche les services et ports autorisés dans firewalld.
Variantes et attention
- Les commandes de ce guide sont adaptées pour AlmaLinux / Rocky / RHEL. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- 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
- Clé SSH active
- Ports limités
- IP admin autorisée