On se rend compte de plusieurs dès lors où on a un peu d’expérience dans le domaine du Web : personne n’est protégé du serveur à l’application Web, tout ce qui fonctionne ne rime pas forcément avec protection.

C’est d’autant plus vrai qu’il n’existe pas de méthode pour rendre son serveur 100% protégé dans le temps. Toutefois, je vais tâcher de vous proposer un certains nombre d’actions qui devrait limiter au maximum ce genre de menace.

Commençons par le commencement

  1. On va auditer votre configuration php grâce à phpsecinfo
  2. On va auditer le serveur avec rkhunter : apt-get install rkhunter (tout simplement pour l’installer) et pour éxécuter un audit il suffit de taper : rkhunter
  3. Vérifier la version de votre kernel : uname -r > 2.6.24.1
  4. Vérifier également avec la commandes history (que c’est bien vous qui avez rentré les dernière commandes ssh)
  5. Pour éviter les attaques Brutes Force on va modifier le port par défaut de SSH et ne plus autoriser à se connecter avec le root (plus d’informations ici)
    1. adduser yourusername
    2. Dans le fichier /etc/ssh/sshd_config, on modifie PermitRootLogin yes en PermitRootLogin no
  6. On installe fail2ban
  7. On installe mod_security pour Apache2

Bien entendu je rappelle des choses élémentaires :

  1. Éviter les mots de passe courts et trop simple (pour éviter de rentrer dans le cas d’une attaque par dictionnaire)
  2. Veuillez à mettre des mots de passe différents pour chacun des comptes : FTP, SSH, SQL, etc…
  3. Veuillez à ne pas communiquer les codes root ou les laisser à la portée de n’importe qui
  4. Pour SQL, créer des utilisateurs sur mesure par rapport a votre besoin (SELECT, UPDATE, INSERT)