Votre panier est vide!
Ansible Role : Basic Server Hardening
Rôle Ansible pour sécuriser vos serveurs Debian/Ubuntu : SSH hardening (clés uniquement, désactivation root), firewall UFW configuré, Fail2Ban anti-bruteforce, auto-upgrades sécurité. Déploiement rapide, idempotent. Compatible Debian 12/13 & Ubuntu 22.04/24.04
Description
🔒 Sécurisez vos serveurs Debian/Ubuntu en quelques minutes !
Le rôle Ansible basic_server_hardening applique les meilleures pratiques de sécurité de base pour vos serveurs Debian 12/13 et Ubuntu 22.04/24.04. Protégez vos serveurs contre les attaques courantes avec une configuration SSH sécurisée, un firewall actif, une protection Fail2Ban, et des mises à jour automatiques des patchs de sécurité.
✨ Fonctionnalités Clés
- 🔐 SSH Hardening : Désactivation du login root, authentification par clé SSH uniquement, port SSH configurable pour réduire les attaques automatisées.
- 🛡️ Firewall UFW : Configuration simplifiée d’UFW pour n’ouvrir que les ports nécessaires (22, 80, 443 par défaut). Politique deny par défaut pour sécuriser le serveur.
- 🚫 Fail2Ban Anti-Bruteforce : Protection automatique contre les attaques bruteforce SSH avec bannissement d’IP configurable.
- 🔄 Auto-Upgrades Sécurité : Installation automatique des patchs de sécurité via unattended-upgrades. Votre serveur reste à jour sans intervention manuelle.
- ⚡ Déploiement Rapide : Exécution en quelques minutes. Configuration par défaut sécurisée et prête à l’emploi.
- 💻 Large Compatibilité d’OS : Déployez sur Debian 12/13 et Ubuntu 22.04/24.04 LTS.
- ♻️ Idempotent : Peut être exécuté plusieurs fois sans effet de bord. Sécurisé et prévisible.
- 📝 Documentation Complète : Guides Jour 1 et Jour 2+, procédures de dépannage, gestion opérationnelle.
- 🧪 Tests Complets : Suite de tests Molecule fournie pour les 4 OS supportés. Qualité garantie.
⚙️ Configuration & Usage
Prérequis
- Système d’exploitation : Debian 12/13 ou Ubuntu 22.04/24.04.
- Ansible : Version 2.14 ou supérieure sur votre machine de contrôle.
- Collection Ansible :
community.general(pour le module UFW). - Privilèges : Un utilisateur avec des droits
sudo(become: truerequis). - Accès SSH : Vous devez avoir un accès SSH fonctionnel avec clé publique avant d’appliquer ce rôle.
Installation de la Collection
ansible-galaxy collection install community.general
Exemple de Playbook (hardening_playbook.yml)
---
- hosts: servers
become: true
vars:
# =============================================================================
# CONFIGURATION SSH
# =============================================================================
# Port SSH (22 par défaut, peut être changé pour réduire les attaques automatisées)
ssh_hardening_port: 22
# Désactiver le login root via SSH
ssh_hardening_disable_root_login: true
# Forcer l'authentification par clé SSH uniquement
ssh_hardening_password_authentication: false
# Autoriser uniquement certains utilisateurs (optionnel)
ssh_hardening_allowed_users:
- admin
- deploy
# =============================================================================
# CONFIGURATION FIREWALL
# =============================================================================
# Ports à ouvrir
firewall_allowed_ports:
- port: 22
proto: tcp
comment: "SSH"
- port: 80
proto: tcp
comment: "HTTP"
- port: 443
proto: tcp
comment: "HTTPS"
# =============================================================================
# CONFIGURATION FAIL2BAN
# =============================================================================
fail2ban_ssh_maxretry: 5 # Tentatives avant ban
fail2ban_ssh_bantime: 3600 # Durée du ban (1 heure)
fail2ban_ssh_findtime: 600 # Fenêtre de détection (10 min)
# IPs à ignorer
fail2ban_ignoreip:
- "127.0.0.1/8"
- "::1"
- "192.168.1.0/24" # Réseau interne
# =============================================================================
# CONFIGURATION AUTO-UPGRADES
# =============================================================================
auto_upgrades_automatic_reboot: false
auto_upgrades_automatic_reboot_time: "03:00"
auto_upgrades_mail: "admin@example.com" # Notifications par email
roles:
- role: devops_store.basic_server_hardening
Exemple d’Inventaire (inventory.ini)
[servers]
web-01 ansible_host=192.168.1.10
web-02 ansible_host=192.168.1.11
db-01 ansible_host=192.168.1.20
[servers:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_rsa
Lancement
# Appliquer le rôle sur tous les serveurs ansible-playbook -i inventory.ini hardening_playbook.yml # Appliquer uniquement le SSH hardening ansible-playbook -i inventory.ini hardening_playbook.yml --tags ssh # Appliquer uniquement le firewall ansible-playbook -i inventory.ini hardening_playbook.yml --tags firewall
🔧 Variables Principales
Variables SSH
ssh_hardening_port(défaut:22) : Port SSHssh_hardening_disable_root_login(défaut:true) : Désactiver le login rootssh_hardening_password_authentication(défaut:false) : Autoriser les mots de passessh_hardening_allowed_users(défaut:[]) : Liste des utilisateurs autorisésssh_hardening_max_auth_tries(défaut:3) : Tentatives d’authentification max
Variables Firewall
firewall_enabled(défaut:true) : Activer/désactiver UFWfirewall_default_incoming(défaut:deny) : Politique par défaut entrantefirewall_default_outgoing(défaut:allow) : Politique par défaut sortantefirewall_allowed_ports: Liste des ports à ouvrir
Variables Fail2Ban
fail2ban_enabled(défaut:true) : Activer/désactiver Fail2Banfail2ban_ssh_maxretry(défaut:5) : Tentatives avant banfail2ban_ssh_bantime(défaut:3600) : Durée du ban (secondes)fail2ban_ignoreip: Liste des IPs à ignorer
Variables Auto-Upgrades
auto_upgrades_enabled(défaut:true) : Activer/désactiverauto_upgrades_automatic_reboot(défaut:false) : Redémarrage autoauto_upgrades_mail: Email pour notifications
📚 Documentation Opérationnelle
Ce rôle inclut une documentation complète dans le dossier docs/ :
- Guide Jour 1 (
docs/day1-guide.md) : Vérifications post-déploiement, tests de sécurité, commandes utiles, checklist de santé, workflow initial complet. - Runbook Jour 2+ (
docs/day2-runbook.md) : Gestion utilisateurs SSH, modification firewall, gestion Fail2Ban, auto-upgrades, changement port SSH, monitoring, troubleshooting, audits de sécurité.
👀 Voir la table des matières complète
- 👤 Gestion des Utilisateurs SSH : Ajouter, révoquer, rotation de clés
- 🛡️ Modification de la Configuration Firewall : Ouvrir/fermer ports, autoriser IPs, logs UFW
- 🚫 Gestion de Fail2Ban : Débannir IPs, whitelister, statistiques, ajuster sensibilité
- 🔄 Gestion des Auto-Upgrades : Vérifier mises à jour, forcer upgrade, historique, exclusions
- 🔑 Changement du Port SSH : Procédure complète, test, rollback
- 📊 Monitoring et Alertes : Scripts de monitoring, alertes Fail2Ban, health checks
- 🔧 Troubleshooting : SSH ne répond plus, bloqué par Fail2Ban, UFW bloque tout, auto-upgrades
- 🔍 Audits de Sécurité : Audit SSH, scan de ports, connexions actives, checklist mensuelle
🔬 Détails Techniques
- Nom du rôle :
devops_store.basic_server_hardening - Cible OS : Debian (12/13), Ubuntu (22.04/24.04)
- Composants configurés : OpenSSH Server, UFW Firewall, Fail2Ban, Unattended-Upgrades
- Dépendances Ansible : Collection
community.general - Idempotence : Garantie – Le rôle peut être exécuté plusieurs fois sans effet de bord
- Tags Disponibles :
ssh,hardening,firewall,ufw,fail2ban,security,auto-upgrades,updates - Tests Molecule : Suite complète de tests pour les 4 OS supportés
- Configuration SSH : Backup automatique de la config originale, validation avant application
- Firewall : Protection anti-lockout SSH, politique deny par défaut, règles personnalisables
- Fail2Ban : Backend systemd, intégration UFW, IP whitelisting, configuration jail SSH
- Auto-Upgrades : Patchs de sécurité uniquement, redémarrage automatique optionnel, notifications email
📦 Détails du Produit
- Nom du rôle :
devops_store.basic_server_hardening - Version Ansible minimum : 2.14
- Cible OS : Debian (12/13), Ubuntu (22.04/24.04)
- Collection requise :
community.general
🛡️ Garantie de Qualité et Support
Trois durées de garantie sont disponibles : 3 mois, 1 an et 5 ans. Ces garanties incluent le support technique et les mises à jour du code pour les plateformes supportées.
N.B. : Le support du rôle se base sur le cycle de vie des OS pour lesquels il a été développé. Cela signifie que si un OS atteint sa date d’EOL durant la période de garantie, le support et les mises à jour du rôle s’arrêtent pour cet OS. A contrario, si une nouvelle version majeure d’un OS est publiée durant la période de garantie, le support et les mises à jour du rôle seront assurés pour cette nouvelle version.
🔑 Licence d’Utilisation
Trois niveaux de licence sont disponibles :
- Standard : Usage pour les projets internes de l’acheteur. Pas de redistribution, pas d’utilisation pour des clients tiers. Idéale pour les indépendants, PME gérant leur propre infra, passionnés.
- Entreprise : Inclut tous les droits Standard et permet d’utiliser le rôle pour configurer les serveurs de clients finaux. Droit d’intégration dans des produits et services vendus. Idéale pour les ESN, Agences Web, Infogérants (MSP), Consultants DevOps.
- Marque Blanche : Inclut tous les droits Entreprise avec l’autorisation exclusive de supprimer les mentions de l’auteur (attribution) pour présenter le code comme votre propre technologie. Idéale pour les grands Infogérants et éditeurs exigeant une image de marque unifiée sans trace de tiers.
Informations complémentaires
| Licence | Standard (Usage interne seulement), Entreprise (Usage interne et commercial), Marque Blanche (Revente sans attribution) |
|---|---|
| Support et mises à jour | 3 mois, 1 an, 5 ans |
Produits liés
-
Ansible Role : Docker Engine
Gratuit -
Ansible Role : Grafana Prometheus Loki
Plage de prix : 49,00 € à 1 299,00 € -
Ansible Role : Harbor Trivy
Plage de prix : 49,00 € à 1 199,00 € -
Ansible Role : Keycloak HA
Plage de prix : 49,00 € à 1 499,00 €





