ITSkillsCenter
Cybersécurité

Hetzner Cloud Firewall et sécurité VPS : guide complet 2026

3 min de lecture

Un VPS public sans firewall en 2026, c’est un serveur qui sera scanné dans les 5 minutes suivant sa mise en ligne et tenté pour brute-force SSH dans l’heure. Heureusement, Hetzner Cloud propose un Cloud Firewall gratuit et puissant qui se configure en quelques clics. Couplé à des bonnes pratiques sur le VPS lui-même (UFW, fail2ban, SSH hardening, mises à jour automatiques), vous obtenez une posture de sécurité solide.

Cet article complète notre guide Hetzner Cloud Afrique.

Hetzner Cloud Firewall : pourquoi et comment

  • Gratuit et illimité (autant de règles que vous voulez)
  • Avant le VPS : économise les ressources kernel/iptables du VPS
  • Multi-VPS : un firewall peut être attaché à plusieurs VPS (politique uniforme)
  • Configurable via API : Terraform, Ansible, scripts

Étape 1 — Créer un Firewall Cloud

  1. Console Hetzner → Firewalls → Create Firewall
  2. Nom : web-public
  3. Règles entrantes : SSH (TCP 22) limité à votre IP, HTTP (80) et HTTPS (443) ouverts à tous
  4. Règles sortantes : Allow All par défaut
  5. Apply to Resources → cocher votre VPS

Étape 2 — Hardening SSH

# /etc/ssh/sshd_config
PermitRootLogin prohibit-password
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PermitEmptyPasswords no
X11Forwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
MaxAuthTries 3
LoginGraceTime 30
AllowUsers deploy admin

systemctl restart ssh

Étape 3 — fail2ban

apt install -y fail2ban

# /etc/fail2ban/jail.local
[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5
backend  = systemd

[sshd]
enabled = true
port    = 22
maxretry = 3

systemctl restart fail2ban
fail2ban-client status sshd

Étape 4 — UFW comme deuxième barrière

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable
ufw status verbose

Étape 5 — Mises à jour automatiques

apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

# Décommenter la ligne security dans
# /etc/apt/apt.conf.d/50unattended-upgrades

systemctl status unattended-upgrades

Étape 6 — Audit Lynis

apt install -y lynis
lynis audit system

# Voir les recommandations dans le rapport
ss -tulpn | grep LISTEN
ps aux | awk '$1=="root"'

Étape 7 — Surveillance et alertes

  • fail2ban envoie des emails sur ban
  • Hetzner Cloud Monitoring avec alertes email
  • Uptime Kuma auto-hébergé pour HTTP checks
  • auditd sur fichiers sensibles si conformité requise

Configuration Terraform

resource "hcloud_firewall" "web_public" {
  name = "web-public"

  rule {
    direction  = "in"
    protocol   = "tcp"
    port       = "22"
    source_ips = ["MA_IP_FIXE/32", "10.0.0.0/8"]
  }

  rule {
    direction  = "in"
    protocol   = "tcp"
    port       = "80"
    source_ips = ["0.0.0.0/0", "::/0"]
  }

  rule {
    direction  = "in"
    protocol   = "tcp"
    port       = "443"
    source_ips = ["0.0.0.0/0", "::/0"]
  }
}

Erreurs fréquentes

ErreurCauseSolution
SSH bloqué après config FirewallIP changéeOuvrir temporairement, mettre à jour règle
fail2ban ban votre IPTests SSH répétésfail2ban-client unban [IP]
Brute-force malgré toutSSH 0.0.0.0/0Restreindre par IP via Firewall

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité