Précédent   Forum des professionnels en informatique > Systèmes > Linux > Sécurité
Sécurité Vos questions sur la sécurité sous Linux/Unix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 17h06   #1
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Par défaut Sélection machines dans ssh_config

Bonjour,

Là où je travaille, il y a des milliers d'ordinateurs Linux sur lesquels on peut se connecter par ssh. C'est vraiment bien mais cela pose aussi quelques problèmes d'administration, notamment pour la mise à jour des clés des ordinateurs: à chaque (ré-) installation, les clés sont (re-) générées et il faut donner la clé publique à tous les autres ordinateurs. C'est ce que nous faisons actuellement.

Cependant, je voudrais simplifier la tâche en divisant les ordinateurs accessibles en deux camps: l'intérieur de notre organisation (a priori l'environnement y est sécurisé) et l'extérieur (qui nécessite toutes les précautions). Pour l'intérieur uniquement, je voudrais passer les paramètres "StrictHostKeyChecking" à "no" pour ne pas être dérangé par les "yes" à répondre et "IdentityFile" à "/dev/null" pour éviter de conserver les adresses collectées. Cela se passe dans le fichier /etc/ssh/ssh_config.

Malheureusement, j'ai des difficultés à faire la distinction entre extérieur et intérieur. Les noms des machines à l'intérieur ne possèdent pas de point "." alors que le nom du domaine est indispensable à l'extérieur: mon_ordinateur est une machine de l'intérieur alors que un_ordinateur.un_domaine est considéré comme étant à l'extérieur (et donc avec sécurité maximum).

Le fichier /etc/ssh/ssh_config devrait être comme ce qui suit:

Code :
1
2
3
4
5
6
7
Host !?*.?*
  StrictHostKeyChecking no
  IdentityFile /dev/null

Host *
  StrictHostKeyChecking yes
  IdentityFile ~/.ssh/known_hosts
Ce qui devrait vouloir dire: toutes les connexions vers des machines possédant un point au milieu de leur nom ont les paramètres lignes 2 et 3, pour toutes les autres connexions, les paramètres lignes 6 et 7.

Ça ne marche pas parce que la sélection ligne 1 ne sélectionne rien... J'ai essayé plein de sélections différentes, sans résultat. Auriez-vous une idée du problème?
__________________
Un problème bien posé est déjà résolu (H. Bergson).
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/04/2011, 12h33   #2
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Bonjour,

Réalisant que la réponse n'était pas évidente, j'ai osé déranger les développeurs de openssh. J'ai reçu une réponse quelques heures plus tard me mettant en garde contre une baisse de la sécurité, me donnant de possibles solutions et finalement me donnant des indices sur la manière d'écrire le fichier de configuration du client ssh.

Les problèmes que j'avais étaient que:

1) La version d'openssh utilisée est ancienne (4.3) alors qu'elle est 5.5 sur Fedora. La manière de déclarer les hosts est différente. Comme j'ai recherché de l'aide sur le Net, je l'ai obtenue pour la version récente! Pas de "!" utilisable, entre autres choses.

2) Ce n'est pas IdentityFile qu'il faut mettre à /dev/null mais UserKnownHostsFile.

J'obtiens finalement le fichier suivant (je ne mets que la partie intéressante):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1) hosts FQN or IP addresses (inside our.domain) -> weak security
Host *.our.domain xxx.yyy.*
  LogLevel                        ERROR
  StrictHostKeyChecking           no
  UserKnownHostsFile              /dev/null
  ...
 
# 2) hosts FQN or IP addresses (outside our.domain) -> strong security
Host *.*
  LogLevel                        INFO
  StrictHostKeyChecking           no
  UserKnownHostsFile              ~/.ssh/known_hosts
  ...
 
# 3) all others (no FQN means inside our.domain) -> weak security
Host *
  LogLevel                        ERROR
  StrictHostKeyChecking           no
  UserKnownHostsFile              /dev/null
  ...
Si cela peut aider quelqu'un...
__________________
Un problème bien posé est déjà résolu (H. Bergson).
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h17.


 
 
 
 
Partenaires

Hébergement Web