mardi 20 décembre 2011

Installer un serveur SSH



Exercice 1
Installer le paquet openssh-server.

Exercice 2
Remplacer le port d'accès 22 par 5943.

Exercice 3
Créer (si besoin) l'utilisateur Paul et faire en sorte que lui seul puisse se connecter à distance.




Exercice 1

Installer le paquet openssh-server.

Solution de l'exercice 1


On commence par installer le paquet openssh-server

# apt-get install openssh-server



répondez par oui pour installer le paquet.

Une fois installé, vous pouvez vous connecter au serveur via SSH en utilisant l'ip de votre serveur et le port 22.


Exercice 2

Remplacer le port d'accès 22 par 5943.

Solution de l'exercice 2

Si le serveur SSH vous permet de vous connecter à votre serveur n'importe où, il permet également à n'importe qui de le faire si il trouve votre mot de passe.

Par défaut le port SSH est 22. Pour compliquer la tâche d'un éventuel pirate, nous pouvons changer celui-ci.

Nous allons pour se faire, modifier le fichier "/etc/ssh/sshd_config" en utilisant Nano, un éditeur de texte version console (http://doc.ubuntu-fr.org/nano).

# nano /etc/ssh/sshd_config

Et on modifie la ligne :

# What ports, IPs and protocols we listen for
Port 22

Nous devons choisir un port qui ne sera pas utilisé par un autre programme.

Prenons par exemple le port 5943 :

# What ports, IPs and protocols we listen for
Port 5943





Faites CTRL+O pour enregistrer puis CTRL+X pour quitter Nano.

Redémarrons le serveur SSH :

# /etc/init.d/ssh reload





Voilà ! Maintenant pour vous connecter à votre serveur via SSH, vous devrez utiliser le port 5943.


Exercice 3

Créer (si besoin) l'utilisateur Paul et faire en sorte que lui seul puisse se connecter à distance.

Solution de l'exercice 3

Par défaut root peut se logguer en SSH. Ceci représente un vrai danger, car avec une brute-force attack on peut casser le mot de passe.

Pour empêcher root de pouvoir se connecter à distance, modifiez

PermitRootLogin yes

en

PermitRootLogin no





Pour autoriser un seul utilisateur. On commence par créer un nouvel utilisateur (vous pouvez également utiliser un utilisateur existant).


# useradd Paul

puis associez le à un mot de passe genre "TnE15aJ"

# passwd Paul





et on autorise celui-ci et lui seul à se connecter en SSH en ajoutant la ligne suivante à la fin du fichier :

AllowUsers Paul


Redémarrons le serveur SSH pour prendre en compte les modifications :

# /etc/init.d/ssh reload

Ainsi, pour pouvoir se connecter au serveur, on doit connaitre l'ip du serveur (facile à obtenir), son port (on peut le trouver en utilisant un programme qui scanne chaque port), le login et le mot de passe (il faut les connaitre).

Maintenant que vous ne pouvez plus vous connecter en root à distance vous devez utiliser la commande su pour pouvoir exécuter des commandes qui nécessitent ses droits :

Soit pour exécuter une seule commande nécessitant ses droits :

# su -c "commande root"

par exemple :

# su -c "apt-get update"

ou bien obtenir ses droits pendant toute la durée de la session :

# su -


Dans les deux cas, vous devrez indiquer le mot de passe de root pour obtenir ses droits.


et pour quitter le droit root :

# exit

Pour aller plus loin


Pour en savoir plus sur su : http://wiki.debian-facile.org/commande:su
Pour en savoir plus sur ssh http://doc.ubuntu-fr.org/ssh

Aucun commentaire:

Enregistrer un commentaire