Sécurisation Pterodactyl

La sécurisation de Pterodactyl, un panneau de gestion de serveurs de jeux basé sur une interface web, est essentielle pour garantir la sécurité de vos serveurs de jeux et de vos utilisateurs. Voici un guide détaillé pour sécuriser votre installation Pterodactyl.

1. Mise à jour de Pterodactyl et de ses composants

  • Mises à jour régulières : Assurez-vous que vous utilisez toujours la dernière version stable de Pterodactyl et de ses dépendances. Les mises à jour incluent souvent des correctifs de sécurité.
    • Mettez à jour le panneau en utilisant les commandes suivantes :
      bash
      cd /var/www/pterodactyl git pull origin develop # Si vous utilisez la branche 'develop' php artisan key:generate # Générer la clé d'application si nécessaire composer install # Installer les dépendances mises à jour php artisan migrate # Appliquer les migrations de base de données
  • Mises à jour des dépendances : Mettez à jour les dépendances comme MySQL, PHP, et Nginx/Apache régulièrement pour bénéficier des derniers correctifs de sécurité.

2. Configurer une connexion sécurisée via HTTPS

  • Installer SSL : Il est impératif d'utiliser HTTPS pour chiffrer les communications entre le serveur et le navigateur.
    • Let's Encrypt propose un certificat SSL gratuit.
    • Utilisez Certbot pour configurer automatiquement SSL :
      bash
      sudo apt install certbot python3-certbot-nginx # Pour Nginx sudo certbot --nginx -d votre-domaine.com # Remplacez par votre domaine
    • Si vous utilisez Apache, vous pouvez configurer SSL avec la commande :
      bash
      sudo certbot --apache -d votre-domaine.com

3. Configurer un pare-feu

  • Bloquer les ports non nécessaires et autoriser uniquement ceux qui sont nécessaires pour Pterodactyl (port 80 pour HTTP, 443 pour HTTPS, et le port SSH si vous utilisez SSH pour la gestion du serveur).
    • Exemple avec UFW (sur Ubuntu/Debian) :
      bash
      sudo ufw allow 80/tcp # Autoriser HTTP sudo ufw allow 443/tcp # Autoriser HTTPS sudo ufw allow 22/tcp # Autoriser SSH (si nécessaire) sudo ufw enable # Activer UFW sudo ufw status # Vérifier le statut

4. Sécuriser l'accès SSH

  • Désactiver l'accès SSH pour l'utilisateur root et utiliser une clé SSH pour l'authentification.
    • Modifiez /etc/ssh/sshd_config et définissez PermitRootLogin no et PasswordAuthentication no.
    • Assurez-vous que vous avez généré une clé SSH et que votre utilisateur possède l'accès SSH approprié.
    • Redémarrez le service SSH après modification :
      bash
      sudo systemctl restart sshd

5. Renforcer la sécurité des utilisateurs Pterodactyl

  • Utiliser des mots de passe forts : Demandez à vos utilisateurs de définir des mots de passe complexes, comprenant des chiffres, des lettres majuscules et minuscules, et des symboles.
  • Activer l'authentification à deux facteurs (2FA) :
    • Vous pouvez configurer l'authentification à deux facteurs via l'interface d'administration de Pterodactyl, ce qui ajoutera une couche supplémentaire de sécurité pour les comptes utilisateurs.
    • L'option 2FA est disponible dans les paramètres de chaque utilisateur sous "Sécurité".

6. Restreindre l'accès aux fichiers sensibles

  • Permissions des fichiers et répertoires : Assurez-vous que les permissions des fichiers et répertoires sensibles sont strictement définies. Par exemple, le répertoire des fichiers de configuration et la base de données doivent être accessibles uniquement par l'utilisateur Pterodactyl et les administrateurs.
    • Exemple pour définir des permissions strictes :
      bash
      sudo chown -R pterodactyl:pterodactyl /var/www/pterodactyl sudo chmod -R 755 /var/www/pterodactyl

7. Limiter les connexions par IP (si applicable)

  • Vous pouvez restreindre l'accès à votre panneau d'administration Pterodactyl via des règles de pare-feu ou une configuration Nginx pour limiter les connexions uniquement à certaines adresses IP autorisées.
    • Exemple pour limiter l'accès à une adresse IP spécifique dans Nginx :
      nginx
      location / { allow 192.168.1.100; # Remplacez par l'IP autorisée deny all; }

8. Configurer un système de journalisation

  • Activez la journalisation des actions sur le panneau Pterodactyl et surveillez les logs régulièrement pour détecter toute activité suspecte.
  • Les logs sont stockés dans /var/www/pterodactyl/storage/logs.
  • Installez des outils comme fail2ban pour surveiller les tentatives de connexion échouées et protéger contre les attaques par force brute.

9. Utiliser un CDN et une protection DDoS

  • Si vous êtes particulièrement sensible aux attaques DDoS, vous pouvez utiliser un service comme Cloudflare pour protéger votre site Pterodactyl. Cloudflare offre une protection contre les attaques DDoS et des fonctionnalités de sécurité supplémentaires.

10. Auditer la sécurité régulièrement

  • Effectuez des audits réguliers de la sécurité de votre installation Pterodactyl pour détecter d'éventuelles vulnérabilités.
  • Utilisez des outils comme Lynis pour auditer la sécurité de votre serveur Linux.
  • Examinez les logs d'accès, les tentatives de connexion et les erreurs de votre serveur pour toute activité anormale.

11. Sécuriser le serveur de jeu

  • Si Pterodactyl gère des serveurs de jeu, veillez à bien sécuriser ces serveurs également.
    • Limiter l'accès réseau aux serveurs de jeu : N'exposez les ports des serveurs de jeu qu'aux utilisateurs autorisés.
    • Mettre à jour les jeux et leurs serveurs pour bénéficier des derniers correctifs de sécurité.

12. Sécurisation de la base de données

  • Restreindre l'accès à la base de données : Assurez-vous que seule l'application Pterodactyl et les utilisateurs autorisés peuvent accéder à votre base de données MySQL/MariaDB.
  • Sécuriser le mot de passe MySQL : Choisissez un mot de passe fort pour l'utilisateur de la base de données de Pterodactyl et ne laissez pas les valeurs par défaut.
    • Exemple pour créer un mot de passe sécurisé pour MySQL :
      bash
      mysql_secure_installation

13. Sauvegardes régulières

  • Effectuer des sauvegardes régulières de vos fichiers Pterodactyl et de la base de données.
  • Utilisez des scripts de sauvegarde automatique pour garantir la récupération rapide en cas de problème.
    • Exemple pour sauvegarder la base de données :
      bash
      mysqldump -u pterodactyl -p pterodactyl_database > pterodactyl_backup.sql

Conclusion

En suivant ces étapes, vous pouvez considérablement renforcer la sécurité de votre serveur Pterodactyl et protéger vos utilisateurs ainsi que vos serveurs de jeux. La sécurité est un processus continu, donc assurez-vous de suivre les bonnes pratiques, de surveiller régulièrement votre installation, et de mettre à jour vos systèmes pour maintenir un haut niveau de protection.

  • 1 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?