OrdinAide

Sécurisation d'un serveur

Dès qu'un serveur est accessible par ssh sur le réseau, il fait l'objet de convoitise pour des pirates. Il faut absolument tout de suite sécuriser ce protocole.

Gérer les utilisateurs et leurs droits d'accès en "root"

Editer le fichier /etc/ssh/sshd_config
  • désactiver l'accès root en ssh :
    PermitRootLogin no
  • restreindre l'accès à certains utilisateurs
    AllowUsers bibi

    Attention : ne pas oublier d'y rajouter les nouveaux utilisateurs !! - si on veut bien qu'ils se connectent en ssh...

Ajout d'un logiciel de protection automatique du port ssh

On peut choisir entre denyhosts ou fail2ban.
Les avis sont partagés pour décider lequel est le meilleur, mais il semble que denyhosts soit plus simple.

  1. Faire l'installation des paquets (sur un système d'exploitation de type debian) :
    sudo apt-get install denyhosts
  2. Au besoin, purger un hôte en particulier qui a été banni malencontreusement, par la suite de commandes suivantes dans une fenêtre de commande avec les droits "root" :
    /etc/init.d/denyhosts stop
    sed -i '/85.17.72.172/d' /var/lib/denyhosts/hosts* /etc/hosts.deny
    /etc/init.d/denyhosts start
    
  3. Ajouter quelques adresses "sûres" dans le /etc/hosts.allow car si on rate notre mot de passe on veut quand même y accéder, en éditant le fichier /etc/hosts.allow :
    ALL: xxx.imag.fr
    ALL: yyy.imag.fr
    
  4. Activer le rejet des machines qui n'ont pas de nom de domaine valide en éditant le fichier /etc/hosts.deny
    ALL: PARANOID
  5. Vérifier dans les log ce qui se passe, concernant les demandes de connexion en ssh :
    cat /var/log/auth.log | grep sshd