Sécuriser un serveur Défi final
Sécuriser un serveur tout neuf
Pare-feu, SSH, CrowdSec, mises à jour et sauvegarde : la check-list complète d'un nouveau serveur.
Tu viens de louer un serveur. Avant d'y mettre le moindre site, tu appliques la check-list de sécurité vue dans ce cours. Attention à l'ordre : à aucun moment tu ne dois te couper l'accès SSH.
À retenir
- Ordre sûr : autoriser SSH, puis activer le pare-feu ; installer la clé, puis couper les mots de passe.
- Toujours
sudo sshd -tavant de recharger SSH, et une session de secours ouverte. - CrowdSec = agent + bouncer, et une liste blanche pour soi.
- Correctifs automatiques avec
unattended-upgrades, sauvegarde nocturne avec cron, copie hors du serveur.
Voir la fiche de révision de cette leçon (à imprimer ou à relire avant un contrôle)
Le défi · La check-list du premier jour
✓ Réussi- Pare-feu : refuse par défaut ce qui entre, autorise
22/tcp,80/tcpet443/tcp, puis active-le ; - SSH : crée une clé
ed25519, installe-la avecssh-copy-id eleve@serveur, puis crée/etc/ssh/sshd_config.d/10-securite.confavecPasswordAuthentication noetPermitRootLogin no; vérifie et recharge SSH ; - Attaques : installe
crowdsecetcrowdsec-firewall-bouncer-iptables, et mets ton adresse198.51.100.10dans une liste blancheperso; - Mises à jour : installe et active
unattended-upgrades; - Sauvegarde : crée
/etc/cron.d/sauvegardequi lance en root, chaque jour à 23 h 30,tar -czf /var/backups/monsite.tar.gz /var/www/monsite.
commandes.sh
Tape tes commandes ici ou dans le fichier à gauche : chaque commande tapée dans le terminal est ajoutée au fichier.
Consignes à réussir
- À faire : Pare-feu actif, entrées refusées par défaut
- À faire : 22, 80 et 443 autorisés (SSH avant l'activation)
- À faire : HTTPS autorisé
- À faire : HTTP autorisé
- À faire : La clé est installée (authorized_keys)
- À faire : La clé est installée avant de couper les mots de passe
- À faire : Plus de mot de passe ni de root en SSH
- À faire : PermitRootLogin vaut no
- À faire : sshd -t avant le rechargement
- À faire : CrowdSec bloque vraiment (bouncer installé)
- À faire : 198.51.100.10 est dans la liste blanche
- À faire : Mises à jour automatiques actives
- À faire : Sauvegarde chaque jour à 23 h 30 en root
Bravo, toutes les consignes sont réussies !
- Indice 1 : Pare-feu :
sudo ufw default deny incoming, troissudo ufw allow, puissudo ufw enable. - Indice 2 : SSH :
ssh-keygen -t ed25519,ssh-copy-id eleve@serveur, puis deuxecho … | sudo tee(le second avec-a),sudo sshd -tetsudo systemctl reload ssh. - Indice 3 : Le reste :
sudo apt install crowdsec crowdsec-firewall-bouncer-iptables unattended-upgrades,sudo cscli allowlists create perso -d "Moi",sudo cscli allowlists add perso 198.51.100.10,sudo dpkg-reconfigure -plow unattended-upgrades, et la ligne cron avec| sudo tee /etc/cron.d/sauvegarde.
Toujours bloqué ? Voir une solution
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
ssh-keygen -t ed25519 -C "eleve@pc"
ssh-copy-id eleve@serveur
echo "PasswordAuthentication no" | sudo tee /etc/ssh/sshd_config.d/10-securite.conf
echo "PermitRootLogin no" | sudo tee -a /etc/ssh/sshd_config.d/10-securite.conf
sudo sshd -t
sudo systemctl reload ssh
sudo apt install crowdsec crowdsec-firewall-bouncer-iptables
sudo cscli allowlists create perso -d "Moi"
sudo cscli allowlists add perso 198.51.100.10
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
echo "30 23 * * * root tar -czf /var/backups/monsite.tar.gz /var/www/monsite" | sudo tee /etc/cron.d/sauvegarde Défi réussi !
Ton badge Sécuriser un serveur passe en or dès que toutes les leçons du cours sont terminées. Retrouve tes badges sur la page d'accueil.