Twitter Facebook RSS

Accueil > GNU/Linux, Réseaux, Planet-libre > Autoriser le SSH en root depuis une seule IP

20
décembre

Autoriser le SSH en root depuis une seule IP

Une directive intéressante de SSH est "Match", qui permet de faire des sortes de conditions... Dans mon cas, j'avais besoin d'autoriser la connexion en root uniquement depuis une IP... Allons jouer avec la configuration d'OpenSSH...

Éditez /etc/ssh/sshd_config :

À la fin, ajoutez ce bloc :

Match Address 192.168.2.45
	PermitRootLogin yes

Match Address *
	PermitRootLogin no

Que fait ce bloc : si on notre connexion SSH vient de l'IP 192.168.2.45, on pourra se connecter en root (à condition d'avoir le mot de passe, ou d'y avoir paramétré sa clé SSH). Par contre, si on vient de toute autre adresse, pas de connexion en tant que root...

Hop, restart d'OpenSSH, et on teste :

/etc/init.d/ssh restart
[192.168.0.1] jeoffrey@arch ~ $ ssh root@mail
root@srvdev1.mind-lab.eu's password: 
Permission denied, please try again.

[192.168.2.45] jeoffrey@ubu ~ $ ssh root@mail
root@mail's password: 
Last login: Thu Dec 20 09:46:51 2012 from ubu
root@mail ~ # logout

:

#1 - Le jeudi 20 décembre 2012 @ 13:45 Gibbon a dit

S'pa plus simple de le faire avec iptables ? Je veux dire, c'est quand même plus son rôle, même si l'astuce est intéressante au demeurant…

#2 - Le jeudi 20 décembre 2012 @ 13:47 Jeoffrey Bauvin a dit

@Gibbon : Hum, tu peux filtrer l'accès SSH en tant que root via iptables ? J'avoue que je n'ai pas trop creusé du côté d'iptables...

#3 - Le jeudi 20 décembre 2012 @ 13:54 Simon a dit

Dans le cadre d'une connexion par le biais d'une clé SSH, on pourra restreindre l'accès dans le fichier ~/.ssh/authorized_keys. Il faudra simplement ajouter « from="192.168.2.45" » devant la déclaration de la clé.

L'intérêt de cette solution sera que chaque user pourra appliquer les restrictions qui lui semblent justes et le démon SSH n'a pas a être relancé.

#4 - Le jeudi 20 décembre 2012 @ 15:28 Majoux a dit

Moi je trouve que c'est un très bon outil :
avec ça, je vais pouvoir autoriser les connexions par mot de passe pour une ou plusieurs IP (ex : chez mes parents je n'ai pas ma clé privée) et pour le reste, clé dsa obligatoire.
Match Address 90.63.25.45
PasswordAuthentication yes
Match Address *
PasswordAuthentication no
J'espère que ça va marcher.

#5 - Le jeudi 20 décembre 2012 @ 16:26 CrunchCap a dit

C'est pas un peu dangereux d'autoriser une seul IP à se connecter en SSH ?
Genre si on a une IP dynamique et qu'elle change, plus de connexion possible au serveur. On est pas non plus à l’abri qu'une IP fixe change.

#6 - Le jeudi 20 décembre 2012 @ 16:49 Jeoffrey Bauvin a dit

@CrunchCap : En effet, mais là c'est une machine virtuelle, donc j'y ai toujours accès en direct... C'est surtout les connexions extérieures que je voulais sécuriser...

#7 - Le jeudi 20 décembre 2012 @ 23:05 Heres a dit

Perso, j'ai mis en place un petit knockd qui m'ouvre le flux SSH pour mon IP à la volée et qui le referme au bout de quelques secondes.

#8 - Le vendredi 21 décembre 2012 @ 00:28 Block a dit

Au niveau sécurité, c'est beaucoup mieux de désactiver root et password, et de créer un user particulier avec le droit de passer root via sudo et avec un login qui échappera aux attaques par dictionnaire.

#9 - Le samedi 22 décembre 2012 @ 10:09 phil a dit

Oui, je trouve ça douteux d'avoir besoin de se connecter en SSH sur le compte root. Restreindre sur l'IP ne change pas la donne à mon avis, c'est une mauvaise pratique.

#10 - Le lundi 24 décembre 2012 @ 08:23 dacrovinunghi a dit

C'est le role d'IPTABLE (dilaogue direcment noyaux) et c'est surtout inutile avec une clef paramétrée. Match est interessant je connaissait pas. Sion se connecte sans clef, éviter le root.

Les commentaires sont fermés.

^ Retourner en haut