Bases de la sécurité VPS

Les étapes essentielles pour protéger votre serveur virtuel contre les intrusions et les logiciels malveillants.

Votre VPS est votre serveur — la sécurité est entièrement entre vos mains. La plupart des intrusions ne proviennent pas de failles côté hébergeur, mais de logiciels obsolètes, de mots de passe faibles ou de code malveillant introduit via FTP, des plugins ou des machines locales compromises.

Comment les serveurs sont généralement compromis

  1. CMS/plugins obsolètes Des scanners automatisés parcourent le web à la recherche d'installations WordPress, Joomla, OpenCart, etc. tournant sur des versions anciennes ou des plugins vulnérables. Une fois trouvées → du code malveillant (iframes, redirections, mineurs) est injecté.

  2. Identifiants FTP compromis Un malware sur votre ordinateur local vole vos identifiants FTP → l'attaquant se connecte et dépose du code directement dans vos fichiers.

  3. Manipulation du .htaccess Les attaquants réécrivent le .htaccess pour rediriger les visiteurs vers des sites de phishing ou de malware, ou pour exécuter des scripts cachés.

  4. Fichiers malveillants uploadés Des fichiers PHP déguisés en images sont uploadés dans /uploads, /images, etc. → ils s'exécutent lors de leur consultation.

Mesures de sécurité essentielles (à appliquer immédiatement)

  1. Mots de passe forts & clés SSH uniquement

    • Mot de passe root/admin : 16 caractères aléatoires minimum
    • Désactiver l'authentification par mot de passe dans SSH — utiliser exclusivement des clés :
      sudo nano /etc/ssh/sshd_config
      # Modifier ou ajouter :
      PasswordAuthentication no
      PermitRootLogin prohibit-password   # ou no
      sudo systemctl restart ssh
      
  2. Tout maintenir à jour À exécuter quotidiennement :

    sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
    
  3. Permissions de fichiers correctes

    • Fichiers : 644
    • Dossiers : 755
    • wp-config.php / configuration.php : 600
      find /var/www/ -type f -exec chmod 644 {} \;
      find /var/www/ -type d -exec chmod 755 {} \;
      
  4. Pare-feu — n'autoriser que le nécessaire Exemple avec UFW (22/SSH, 80/HTTP, 443/HTTPS) :

    sudo ufw allow OpenSSH
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable
    sudo ufw status
    
  5. Fail2Ban — bloquer les attaques par force brute Installation :

    sudo apt install fail2ban -y
    

    Fail2Ban bannit automatiquement les IPs après plusieurs tentatives de connexion échouées (fonctionne sans configuration supplémentaire pour SSH).

  6. Scanners de malware & détecteurs de rootkits

    • ClamAV — scanner de fichiers :
    sudo apt install clamav clamav-daemon -y
    sudo freshclam
    sudo clamscan -r /var/www
    
    • Rkhunter — détection de rootkits et malwares :
    sudo apt install rkhunter -y
    sudo rkhunter --update
    sudo rkhunter --check
    
    • Lynis — audit de sécurité :
    sudo apt install lynis -y
    sudo lynis audit system
    
  7. Sauvegardes — votre filet de sécurité

  • Sauvegardes automatisées quotidiennes (pas uniquement sur le serveur — copiez-les en local ou dans le cloud)
  • Testez régulièrement les restaurations
  • En cas d'infection → une restauration propre est plus rapide qu'un nettoyage manuel

Si votre site/serveur est déjà compromis

  1. Isoler — désactiver temporairement le site (renommer index.php ou bloquer via .htaccess)
  2. Changer tous les mots de passe (FTP, admin CMS, SSH, base de données, panneau de contrôle)
  3. Lancer un scan (ClamAV + Rkhunter + vérification manuelle)
  4. Inspection manuelle :
    • Fichiers récemment modifiés :
    find /var/www/votre_site/ -type f -mtime -7 -ls
    
    • Fichiers PHP dans les dossiers uploads/images :
    find /var/www/votre_site/uploads/ -type f -iname "*.php"
    
    • Patterns de code suspects :
    grep -ril "base64_decode\|eval\|gzinflate\|fromCharCode" /var/www/votre_site/
    
  5. Restaurer depuis une sauvegarde propre
  6. Mettre à jour le CMS, les plugins et les thèmes
  7. Vérifier le .htaccess pour détecter des redirections ou des iframes

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter