Outils pour utilisateurs

Outils du site


issue97:securite_-_ssh

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue97:securite_-_ssh [2015/06/19 17:45] – [1] auntieeissue97:securite_-_ssh [2015/06/19 18:04] (Version actuelle) – [6] auntiee
Ligne 40: Ligne 40:
 Translation de port Translation de port
  
-Une des choses pratiques que vous pouvez faire, et d'utile pour le « tunneling », est la translation de port sur SSH. L'idée de base est de se connecter via ssh sur une machine distanteet lui demander d'envoyer quelque chose sur un port spécifique autre que le port par défaut. La méthode de base pour faire cela est d'utiliser la commande SSH avec les indicateurs appropriés, -L et -R, qui, sans surprise, signifient Local et Remote ([Ndt : distant]). Vous devez spécifier le port que vous souhaitez utiliser, et ce qui lui sera translaté. +Une des choses pratiques que vous pouvez faire, et quelque chose d'utile pour le « tunneling », est le transfert de port sur SSH. L'idée de base est de se connecter via ssh sur une machine distante et lui demander d'envoyer quelque chose sur un port spécifique autre que le port par défaut. La méthode de base pour faire cela est d'utiliser la commande SSH avec les indicateurs appropriés, -L et -R, qui, sans surprise, signifient Local et Remote ([Ndt : distant]). Vous devez spécifier le port que vous souhaitez utiliser, et ce qui lui sera translaté. 
-• Translation de port local - Ceci prend un port sur votre machine locale et le translate vers un port spécifié sur le serveur. Ainsi, vous pouvez faire une requête sur un port local comme 7280 sur l'adresse 127.0.0.1, et votre client SSH interceptera cet appel et l'enverra au port 119 sur le serveur. Ensuite, vous aurez une connexion sécurisée pour obtenir ce que le port 119 est configuré pour envoyer (généralement le trafic Usenet, mais cela est juste un exemple). Donc, vous pouvez utiliser ceci pour configurer votre client de « newsgroup » pour qu'il récupère en toute sécurité des messages à partir d'un serveur public, en supposant qu'il permet les connexions SSH. +• Translation de port local - Ceci prend un port sur votre machine locale et le transfère vers un port spécifié sur le serveur. Ainsi, vous pouvez faire une requête sur un port local comme 7280 sur l'adresse 127.0.0.1, et votre client SSH interceptera cet appel et l'enverra au port 119 sur le serveur. Ensuite, vous aurez une connexion sécurisée pour obtenir ce que le port 119 est configuré pour envoyer (généralement le trafic Usenet, mais cela est juste un exemple). Donc, vous pouvez utiliser ceci pour configurer votre client de « newsgroup » afin qu'il récupère en toute sécurité des messages à partir d'un serveur public, en supposant qu'il permette les connexions SSH. 
-• Translation de port distant - Ceci est l'inverse de la section précédente. Ici, l'idée est de spécifier un port sur le serveur distant et qu'il soit translaté vers votre serveur local. Ce n'est pas très fréquent, et vous n'en aurez peut-être jamais besoin. Essentiellement, tout le trafic entrant sur le port spécifié du serveur sera ensuite transmis à votre machine locale.+• Translation de port distant - Ceci est l'inverse de la section précédente. Ici, l'idée est de spécifier un port sur le serveur distant et qu'il soit transféré vers votre serveur local. Ce n'est pas très fréquent, et vous n'en aurez peut-être jamais besoin. Essentiellement, tout le trafic entrant sur le port spécifié du serveur sera ensuite transmis à votre machine locale.
 • Translation de port dynamique - Ceci crée un proxy SOCKS et ne se limite pas à un port ou un type de trafic. • Translation de port dynamique - Ceci crée un proxy SOCKS et ne se limite pas à un port ou un type de trafic.
  
Ligne 61: Ligne 61:
 Translation de port local Translation de port local
  
-Supposons que vous êtes au travail (ou à l'école)et que vous ne pouvez pas supporter d'être absent de votre page Facebook. Mais il y a un filtre qui vous empêche d'accéder au site. Alors, pour les besoins du raisonnement, vous pouvez créer une connexion SSH à un serveur en dehors du réseau (par exemple votre ordinateur à la maison). Vous pouvez ensuite faire quelque chose d'intelligent avec la translation de port local. Créer une connexion comme suit :+Supposons que vous êtes au travail (ou à l'école) et que vous ne pouvez pas supporter d'être privé de votre page Facebook. Mais il y a un filtre qui vous empêche d'accéder au site. Alors, pour les besoins du raisonnement, vous pouvez créer une connexion SSH à un serveur en dehors du réseau (par exemple votre ordinateur à la maison). Vous pouvez ensuite faire quelque chose d'intelligent avec la translation de port local. Créer une connexion comme suit :
  
 ssh -L 7280:facebook.com:80 adresse_de_la_machine_à_la_maison ssh -L 7280:facebook.com:80 adresse_de_la_machine_à_la_maison
  
-Attention, votre machine à domicile doit avoir une adresse IP publique, ou vous aurez besoin de configurer votre routeur pour rediriger le trafic, pour que ceci passe à travers.+Attention, votre machine à domicile doit avoir une adresse IP publique, ou vous aurez besoin de configurer votre routeur pour rediriger le trafic, pour que ceci arrive à bon port.
  
-Une fois ceci fait, vous ouvrez votre navigateur et le réglez pour aller sur http://localhost:7280, et le trafic circulera alors vers votre machine à la maison, et de là vers Facebook. Vous pouvez maintenant parcourir le contenu de votre cœur sur votre page Facebook. Bien sûr, cela illustre aussi pourquoi les administrateurs réseau peuvent vouloir arrêter le trafic SSH, ce qu'ils pourraient faire en bloquant tout  trafic sortant vers le port 22 (le port SSH par défaut). Et vous pouvez alors essayer de changer le port par défaut sur votre serveur SSH maison en quelque chose d'autre que le port 22, et alors les admins pourront inspecter en détail les paquets, et ainsi de suite.+Une fois cela fait, vous ouvrez votre navigateur et le réglez pour aller sur http://localhost:7280, et le trafic circulera alors vers votre machine à la maison et, de làvers Facebook. Vous pouvez maintenant parcourir votre page Facebook comme bon vous semble. Bien sûr, cela illustre aussi pourquoi les administrateurs réseau peuvent vouloir arrêter le trafic SSH, ce qu'ils pourraient faire en bloquant tout trafic sortant vers le port 22 (le port SSH par défaut). Et vous pourriez alors essayer de changer le port par défaut sur votre serveur SSH maison en quelque chose d'autre que le port 22, et alors les admins pourraient inspecter en détail les paquets, et ainsi de suite.
  
-Mais la translation de port SSH n'est pas qu'une question de contourner la sécurité, elle peut être utilisée très légitimement dans un certain nombre de situations. Par exemple, vous avez une entreprise avec un certain nombre de sites géographiquement dispersés. Dans ce cas, la translation de port SSH serait un moyen très utile pour connecter des sites et échanger des données. Vous pourriez avoir un serveur de base de données sur lequel les employés pourraient avoir besoin de se connecter, et ne pas vouloir que le trafic circule à travers l'Internet non sécurisé. Ou peut-être que vous avez mis en place un serveur pour vous-même, comme ownCloud, situé dans un centre d'hébergement distant. La création d'une connexion SSH utilisant la translation de port pourrait sécuriser grandement vos données.+Mais le transfort de port SSH n'est pas qu'une question de contournement de la sécurité, elle peut être utilisée très légitimement dans un certain nombre de situations. Par exemple, vous avez une entreprise avec un certain nombre de sites géographiquement dispersés. Dans ce cas, la translation de port SSH serait un moyen très utile pour connecter des sites et échanger des données. Vous pourriez avoir un serveur de base de données sur lequel les employés pourraient avoir besoin de se connecter, et ne pas vouloir que le trafic circule sur l'Internet non sécurisé. Ou vous avez peut-être mis en place un serveur pour vous-même, comme OwnCloud, situé dans un centre d'hébergement distant. La création d'une connexion SSH utilisant la translation de port pourrait sécuriser grandement vos données.
  
 ====== 4 ====== ====== 4 ======
Ligne 81: Ligne 81:
 Limites Limites
  
-Il y a certaines choses que vous devez surveiller. La première est que tous les ports ne sont pas disponibles pour vous. Si vous êtes dans un environnement Unix, par exemple, le port 1024 et tous les ports en-dessous ne peuvent être utilisés que par l'utilisateur root. Mais tout port au-dessus de 1024 devrait être utilisable par un utilisateur avec des privilèges normaux tant que personne d'autre ne l'utilise déjà.+Il faut quand même faire attention à certaines choses. La première est que tous les ports ne sont peut-être pas disponibles pour vous. Si vous êtes dans un environnement Unix, par exemple, le port 1024 et tous les ports en-dessous ne peuvent être utilisés que par l'utilisateur root. Mais tout port au-dessus de 1024 devrait être utilisable par un utilisateur avec des privilèges normaux tant que personne d'autre ne l'utilise déjà.
  
-L'autre chose que vous devez retenir est que si la connexion est interrompue la redirection de port disparaît. Et, en général, les connexions TCP sont configurées pour se fermer après une période d'inactivitéet sur certains pare-feux cela peut être au bout de seulement 300 secondes (5 minutes). Ceci peut être contrôlé par une règle (ou peut-être plus d'une) dans vos iptablesou directement par /proc/sys/net/ipv4/tcp_keepalive_time. Mais, si vous voulez une connexion persistante, vous devrez utiliser un « Keep Alive ».+L'autre chose que vous devez retenir est quesi la connexion est interrompuela redirection de port disparaît. Et, en général, les connexions TCP sont configurées pour se fermer après une période d'inactivité etsur certains pare-feuxcela peut être au bout de seulement 300 secondes (5 minutes). Ceci peut être contrôlé par une règle (ou peut-être plus d'une) dans vos iptables ou directement par /proc/sys/net/ipv4/tcp_keepalive_time. Mais, si vous voulez une connexion persistante, vous devrez utiliser un « Keep Alive ».
  
 ====== 5 ====== ====== 5 ======
Ligne 115: Ligne 115:
 Once you understand Port Forwarding and Keepalives, you are most of the way to tunneling.** Once you understand Port Forwarding and Keepalives, you are most of the way to tunneling.**
  
-Pour vous seulement, éditee ~/.ssh/config, et ajoutez-y le code ci-dessus.+Pour vous seulement, éditez ~/.ssh/config en ajoutant le code ci-dessus.
  
-ServerAliveInterval spécifie combien de fois un paquet vide doit être envoyé au serveur pour maintenir la connexion. Cependant, parfois, le serveur peut être coupé ou abandonner la connexion, de sorte que la deuxième ligne spécifie combien de fois vous devez envoyer un paquet sans obtenir une réponse. Le réglage que j'ai montré enverra un paquetet si aucune réponse n'a été reçue, il enverra un deuxième paquet 300 secondes plus tard. Si aucune réponse n'a été reçue au deuxième paquet consécutif, la connexion sera abandonnée par votre client.+ServerAliveInterval spécifie combien de fois un paquet vide doit être envoyé au serveur pour maintenir la connexion. Cependant, parfois, le serveur peut être coupé ou abandonner la connexion, de sorte que la deuxième ligne spécifie combien de fois vous devez envoyer un paquet sans obtenir une réponse. Le réglage que j'ai montré enverra un paquet etsi aucune réponse n'est reçue, il enverra un deuxième paquet 300 secondes plus tard. Si aucune réponse n'est reçue au deuxième paquet consécutif, la connexion sera abandonnée par votre client.
  
 Sous Windows, en utilisant PuTTY, il y a une bonne explication sur http://blog.hazaveh.net/2013/10/keep-ssh-session-alive-in-putty/, mais essentiellement, vous allez dans Connexion, puis sur la droite sous Envoi de paquets vides pour garder la session active, vous pouvez régler les secondes entre les keepalives (0 pour désactiver) à 300 secondes pour obtenir un résultat similaire. Sous Windows, en utilisant PuTTY, il y a une bonne explication sur http://blog.hazaveh.net/2013/10/keep-ssh-session-alive-in-putty/, mais essentiellement, vous allez dans Connexion, puis sur la droite sous Envoi de paquets vides pour garder la session active, vous pouvez régler les secondes entre les keepalives (0 pour désactiver) à 300 secondes pour obtenir un résultat similaire.
issue97/securite_-_ssh.1434728756.txt.gz · Dernière modification : 2015/06/19 17:45 de auntiee