Je vais relater ma relativement nouvelle expérience dans la gestion d’un serveur virtuel. Je ne suis pas un expert et les critiques sont les bienvenues.
J’ai reçu un accès root avec une ip, à partir de là , voici ce que j’ai fait.
Premièrement : Sécuriser le serveur
Connexion en ssh en tant que root, puis création d’un compte utilisateur personnelle : adduser nomutilisateur (ensuite répondre aux questions, le plus important étant le mot de passe, plus d’infos sur le site d’oreilly)
Ajout de l’utilisateur nouvellement créé dans les « sudoers », les membres qui peuvent administrer le serveur.
Dans mon cas j’ai du installer le package « sudo » : apt-get install sudo (rappellons que je suis connecté en tant que root et qu’il faut, pour des raisons de sécurité, le plus rapidement possible désactiver cet accès).
Une fois le package installé, il suffit d’ouvrir le fichier /etc/sudoers avec VI et d’y ajouter un alias pour les admins et de donner tous les droits aux admins, c’est pas très sécurisé non plus mais c’est toujours mieux que de laisser l’accès root.
# User alias specification
User_Alias ADMINS = qqc
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
ADMINS ALL = ALL
Des compléments d’information peuvent être trouvé sur debian-administration.org
Maintenant on va supprimer l’accès ssh à root, boouh le méchant, pour éviter tout problème désagréable, déconnectez vous de root et reloguez vous avec le compte fraà®chement créé.
Dans le fichier /etc/ssh/sshd_config, mettre la ligne : PermitRootLogin yes à no, puis redémarrez votre serveur : reboot… et attendre.
Une fois le serveur rebooté, vous pouvez tenter de vous logger en root pour voir si ça fonctionne, si c’est le cas… je sais pas
Suppression de l’authentification par mot de passe, utilisation d’une clef OpenPGP. Comme ça plus besoins d’entrer le mot de passe à chaque connexion au serveur.
D’abord, ajoutez votre clef pgp public, si certaines personnes sont intéressée par la procédure de création de clef PGP, toute la doc est ici.
Ensuite, prenez votre clef publique : id_rsa.pub (le .pub est important) et envoyez là sur votre serveur dans votre compte dans le dossier .ssh (à créer s’il n’existe pas). Cette commande peut vous être utile (à exécuter depuis le dossier .ssh de votre ordinateur) :
scp ./id_rsa.pub votreLogin@votreServeur:/chemin/vers/votre/compte/.ssh
Ensuite renommez id_rsa.pub en authorized_keys et le tour est joué.
Testez si l’authentification fonctionne (déconnexion et reconnexion normalement sans devoir entrer le mot de passe).
Si c’est bon, alors vous pouvez retourner dans /etc/ssh/sshd_config, décommenter la ligne :
#PasswordAuthentication yes
Et mettre no à la place de yes.
Voilà c’est tout bon, vous avez un serveur sécurisé au minimum!
Des informations plus que détaillées sur la sécurisation d’un serveur Debian sont disponibles ici.
Autre ressource :
- http://cloudservers.mosso.com/index.php/Debian_Lenny_-_Setup