Apprendre à sécuriser un peu plus son système.

Notre but ici est de sécuriser un peu plus la connexion SSH. Par défaut, généralement l’authentification avec une connexion SSH est la méthode simple d’identification unix avec un simple mot de passe (authentification PAM), ce qui fait qu’une attaque massive par mot de passe nous laisse sans défense. Nous allons accentuer la sécurité pour que nous seul puissions accéder à notre serveur par SSH.

Configuration

Allez sur la page WEB de putty pour y télécharger puttygen

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Nous allons créer des clefs cryptées, une de ces clefs va se trouver sur votre ordinateur local et l’autre sur le serveur. Les clefs fonctionnent toujours par paire (donc une seule est inutile)

Lancez Puttygen et sélectionnez en bas SSH 2 RSA, cliquez sur le bouton GENERATE et bougez la souris pour générer la clef (cela permet un plus grand hasard), une fois la clef générée, entrez un mot de passe pour Key passphrase et confirmé ce mot de passe. Vous pouvez même entrer une phrase entière qui vous servira de mot de passe.

Pour finir cliquez sur Save private key pour sauvegarder votre clef sur votre ordinateur local.

On va positionner la clef publique sur le serveur

Connectez-vous avec SSH sur votre serveur. Normalement vous êtes logué sous votre compte (généralement root). Créez un répertoire .ssh

mkdir .ssh
cd .ssh

Ensuite copier la clef publique depuis puttygen et retournez sur votre connections ssh et entrez la commande suivi de la clef publique

echo >>authorized_keys ici collez votre clef publique

Appuyez ensuite sur Entrée ou Control + D

Voilà, le fichier que nous avons créé est lu par défaut par le démon SSH. Celui-ci regarde dans le répertoire de l’utilisateur (ici root) s’il existe un dossier .ssh et ensuite un fichier authorized_keys.

Puttygen

Connexion avec Putty

Maintenant il faut dire à Putty que nous allons utiliser un protocole d’identification par clef. Pour cela rien de plus simple, Il suffit de changer dans l’onglet Connection, SSH et Auth le champ private key file for Authentication. Là on indique le fichier que nous avons sauvegardé par avance.

Maintenant si vous ouvrez la connexion, Putty s’identifie avec la clef, étant donné que vous avez la clef privée qui correspond à la clef publique sur le serveur, le serveur va alors vous demander la Passphrase (montrant que personne n’a volé votre clef privée). Une fois la passphrase saisie vous êtes connecté.

Restreindre les accès

Nous avons bien configuré un accès par clef mais pour autant, nous n’avons pas encore interdit l’accès par l’authentification classique. Pour cela, nous devons éditer le fichier de configuration de ssh

cd /etc/ssh

vi sshd_config

Dans ce fichier se trouvent plusieurs paramètres qui nous intéressent.

RSAAuthentication yes

Cette ligne indique que nous pouvons faire une authentification par la méthode RSA.

PubkeyAuthentication yes

Celui-ci est le protocole qui nous intéresse, il doit donc être à yes pour que l’authentification par clef fonctionne.

PasswordAuthentication no

Indique si on utilise l’authentification par mot de passe pour l’utilisateur qui se connecte (mot de passe unix), pour nous cela sera non.

UsePAM no

Ici on indique si l’on doit utiliser le module PAM unix pour se connecter. Nous allons le désactiver car ils nous intéressent plus

On redemarre le tout par une commande

/etc/init.d/ssh start

Ou

sshd

Voilà j’espère que ce tutorial vous aura aidé un peu. N’oubliez pas pendant ces manœuvres de garder une connexion ouverte sinon vous ne pourriez plus accéder à votre serveur si c’est votre seul moyen !