Aller au contenu principal

Sécurité — Bonnes pratiques

Sécurité serveur — Bonnes pratiques RedHeberg

Cette documentation présente les mesures de sécurité essentielles pour protéger votre serveur chez RedHeberg. Suivez ces étapes pour durcir votre infrastructure contre les attaques courantes.

1. Changer le port SSH

Modifier le port SSH par défaut (22) réduit considérablement les tentatives d'intrusion automatisées.

# Éditer la configuration SSH
sudo nano /etc/ssh/sshd_config

# Modifier la ligne Port
Port 2222

# Redémarrer SSH
sudo systemctl restart sshd

N'oubliez pas d'autoriser le nouveau port dans UFW avant de redémarrer SSH !

sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp
Erreur courante

Ne fermez jamais votre session SSH actuelle avant d'avoir testé la connexion sur le nouveau port. Gardez toujours une session ouverte en cas de problème de configuration.

2. Désactiver l'authentification par mot de passe

L'authentification par clés SSH est bien plus sécurisée que les mots de passe.

# Générer une paire de clés (sur votre machine locale)
ssh-keygen -t ed25519 -b 4096

# Copier la clé publique sur le serveur
ssh-copy-id -p 2222 user@votre-serveur.com

# Désactiver l'auth par mot de passe
sudo nano /etc/ssh/sshd_config

Modifier ces paramètres dans /etc/ssh/sshd_config :

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
sudo systemctl restart sshd
Attention au login root

Ne laissez jamais PermitRootLogin yes activé. Créez un utilisateur dédié avec des privilèges sudo pour l'administration.

3. Installer et configurer Fail2Ban

Fail2Ban bloque automatiquement les adresses IP suspectes après plusieurs tentatives échouées.

# Installation
sudo apt update && sudo apt install fail2ban

# Créer une configuration personnalisée
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Configuration recommandée dans jail.local :

[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

4. Configuration UFW (Uncomplicated Firewall)

UFW fournit une interface simple pour gérer iptables.

# Politique par défaut : bloquer tout
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Autoriser les services essentiels
sudo ufw allow 2222/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS

# Activer le firewall
sudo ufw enable

# Vérifier le statut
sudo ufw status verbose

5. Mises à jour automatiques

Les mises à jour de sécurité automatiques sont cruciales pour maintenir votre système à jour.

# Installation
sudo apt install unattended-upgrades

# Configuration
sudo dpkg-reconfigure unattended-upgrades

# Vérifier la configuration
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Configuration recommandée :

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

6. Protection anti-DDoS RedHeberg

RedHeberg dispose d'un système de protection DDoS automatique qui filtre :

  • Attaques volumétriques : UDP/ICMP flood, amplification DNS
  • Attaques protocolaires : SYN flood, fragmentation IP
  • Attaques applicatives : HTTP flood basique

Le filtrage s'active automatiquement dès détection d'anomalies. Aucune configuration n'est requise côté client.

7. Stratégie de sauvegarde

Erreur critique

Ne stockez jamais vos sauvegardes uniquement sur le même serveur. Une panne ou compromise compromettrait tout votre système.

Recommandations :

  • Fréquence : quotidienne pour les données critiques, hebdomadaire pour le système
  • Emplacements : cloud externe (AWS S3, Google Cloud), serveur distant, stockage local chiffré
  • Rétention : 30 jours glissants minimum
# Exemple de script de sauvegarde avec rsync
#!/bin/bash
rsync -avz --delete /var/www/ backup-server:/backups/www/
rsync -avz /etc/ backup-server:/backups/config/$(date +%Y%m%d)/

Vérifications régulières

Contrôlez périodiquement :

  • Logs de connexion (/var/log/auth.log)
  • Statut Fail2Ban (sudo fail2ban-client status)
  • Règles UFW (sudo ufw status)
  • Mises à jour disponibles (apt list --upgradable)

Ces mesures forment un socle de sécurité robuste pour votre infrastructure RedHeberg.