De nos jours, les entreprises, les écoles, et les particuliers ont plus que jamais besoin de services réseau sécurisés. Le commerce en ligne s' accroissant, il y a plus de gens qui continuent à avoir accès à des données sensibles d'entreprise au travers de réseaux non sécurisés. Les entreprises utilisent Internet comme moyen principal pour communiquer avec leurs employés en déplacement dans le pays et à l'étranger, envoient des documents et des courriels non cryptés à leurs agences et partenaires de par le monde ; ces communications peuvent être riches en informations que n'importe quelle personne mal intentionnée peut potentiellement intercepter et vendre ou donner à une entreprise rivale. De bonnes politiques de sécurité à la fois pour les utilisateurs et les administrateurs réseau peuvent aider à minimiser les problèmes liés à l'interception ou au vol d'informations à l'intérieur de leur organisation par des personnes mal intentionnées. Dans cet article, nous allons aborder l'utilisation de Secure Shell (SSH) et MindTerm pour sécuriser la communication par Internet au sein d'une organisation.
Les utilisateurs à domicile et les voyageurs d'affaires accèdent à des données d'entreprise et envoient des données sensibles au travers de réseaux non sécurisés. Cela crée toute une catégorie de nouveaux problèmes de sécurité pour les administrateurs système ("Securing the home office sensible and securely"), particulièrement depuis qu'on estime que le nombre de personnes travaillant à domicile avec un accès haut débit "va plus que doubler, passant de 24 millions en 2000 à 55 millions en 2005" ("Broadband Access to Increase in Workplace"). Le nombre d'aéroports et d'hôtels offrant un accès Internet, en particulier un accès haut débit, est en croissance et on s'attend à ce qu' il grandisse dans l'avenir ("Broadband Moving On Up"). Ceci peut aussi laisser une porte grande ouverte à une personne mal- intentionnée qui pourrait pirater ou voir le trafic Internet d'autres personnes et accéder à leurs entreprises. Cette personne malintentionnée peut ne pas être intéressée par les travaux de l'employé, mais veut seulement accéder à un serveur très rapide pour lancer des attaques, stocker des fichiers ou pour un autre usage. Les hommes d'affaires courent de grands risques car ils ne savent pas qui surveille leur connexion Internet à l'hôtel, à l'aéroport ou n'importe où pendant leur déplacement. Les utilisateurs des nouvelles connexions haut débit ne sont en général pas formés à des protocoles de sécurité adaptés, et certaines entreprises ne disposent pas du personnel pour aider les utilisateurs à domicile et les voyageurs d'affaires à mettre en place une connexion sécurisée. Les particuliers et, étonnamment, certaines entreprises ont cette mentalité "Je n'ai rien qui pourrait intéresser les autres". Ceci est très inquiétant quand on considère la quantité d'informations sensibles qui voyage à travers Internet depuis le domicile d'un employé ou lors de déplacements. Ce qui est plus inquiétant est la disponibilité de logiciels gratuits pour effectuer ce genre d'attaques et la facilité d' utilisation de ces logiciels. Dsniff ( http://www.monkey.org/~dugsong/dsniff/) est un programme disponible gratuitement qui possède des fonctionnalités permettant à n'importe qui avec un ordinateur connecté à un réseau de pirater un réseau local et surveiller ce que les autres font et récupérer des mots de passe et d'autres données sensibles. Dans son livre "Secrets and Lies : Digital Security in a Networked World", Bruce Schneier affirme que la propagation des techniques et une des principales menaces à la sécurité des réseaux : "Internet est [...] un média parfait pour propager des outils d'attaque qui marchent. Il suffit que le premier attaquant soit un spécialiste ; tous les autres peuvent utiliser son logiciel" (Schneier).
L'objectif de cet article n'est pas de savoir comment sécuriser des ordinateurs, mais comment mettre en place des tunnels virtuels pour effectuer des communications sécurisées, que ce soit pour envoyer des documents ou des courriels. Les voyageurs d'affaires devraient lire les articles de Jim Purcell, Frank Reid, et Aaron Weissenfluh sur la sécurité au cours des déplacements. Les utilisateurs à domicile ayant un accès haut débit devraient lire l'article de Ted Tang pour avoir des informations sur la façon de sécuriser un ordinateur avec accès haut débit. Je recommanderais la nombreuse documentation disponible sur www.sans.org, www.securityfocus.com, ou www.securityportal.com avec des tutoriels sur la façon de sécuriser vos ordinateurs et serveurs.
Le moyen pour s'assurer que les données sensibles sont transmises de manière rapide et sécurisée est d'utiliser des méthodes cryptées de transmission de données. Cela peut se faire par le moyen d'un courriel crypté, en utilisant des services web sécurisés de messagerie électronique, ou en établissant des tunnels cryptés entre deux ordinateurs. De plus, un logiciel fiable et facile à installer doit être utilisé pour permettre aux utilisateurs inexpérimentés d'établir rapidement des canaux de communication sécurisés. Secure Shell et MindBright Technology's MindTerm de Taten Ylonen sont une solution rapide, facile d'utilisation et fiable pour sécuriser les communications sur Internet.
SSH (Secure Shell) peut remplacer en toute sécurité les programmes de connexion à distance et de transfert de fichiers comme telnet, rsh et ftp qui transmettent les données en texte clair, lisible par toute personne. SSH utilise une méthode d'authentification à clé publique pour établir une connexion cryptée et sécurisée entre la machine de l'utilisateur et la machine distante. Une fois la connexion sécurisée établie, les nom d'utilisateur, mot de passe et toutes les autres informations sont envoyés au travers de cette connexion sécurisée. Vous trouverez plus d'informations sur la façon dont SSH fonctionne, les algorithmes utilisés et les protocoles implémentés pour qu'il reste à un haut niveau de sécurité et de confiance sur le site web de ssh : www.ssh.com. L'équipe OpenBSD a créé un équivalent libre qui s'appelle OpenSSH, disponible sur www.openssh.com. Il conserve les normes élevées de sécurité de l'équipe OpenBSD et des spécifications de l' IETF pour Secure Shell (voir les documents de travail Secure Shell de l'IETF), sauf qu'il utilise des algorithmes libres du domaine public. SSH est en train de devenir un standard pour l'administration de connexions à distance. Il a rencontré un tel succès qu'il y a de nombreux ports SSH pour diverses plateformes, et des clients gratuits disponibles pour se connecter à un serveur SSH sous diverses plateformes également. Voir http://linuxmafia.com/pub/linux/security/ssh-clients pour avoir une liste des clients. Securityportal.com a un excellent article en deux parties sur SSH et sur les liens vers des ports pour différentes plateformes ; il est disponible sur http://www.securityportal.com/research/ssh-part1.html. Il y a des programmes qui utilisent également un utilitaire qui s'appelle Secure Copy (SCP) en fond qui fournit les mêmes fonctionnalités qu'un client FTP complet, tels que WinSCP et le client Java SSH/SCP, qui a une interface SCP modifiée pour MindTerm. Veuillez lire les licences avec précaution pour voir si vous avez l'autorisation légale de télécharger SSH dans votre pays. SSH est libre pour les écoles et les universités. Veuillez lire les licences disponibles sur le site web ssh.com.
MindTerm est un client SSH écrit entièrement en Java par MindBright Technology. Une des pratiques clés dans le développement de logiciels de sécurité est une implémentation adéquate des algorithmes sous-jacents et des protocoles utilisés. MindBright Technology a très bien implémenté le protocole SSH dans ce petit fichier d'application. C'est une archive autonome qui nécessite juste d'être décompressée dans un répertoire de votre choix, et qui est prête à être utilisée. Le client peut être utilisé comme programme autonome ou comme applet de page web, ou les deux. Il est disponible sur : http://www.mindbright.se/download/. MindTerm est un client excellent et peu coûteux pour sécuriser les communications vers et depuis un emplacement local et distant. Le programme MindTerm situé à l'adresse de téléchargement précédente est disponible gratuitement pour une utilisation non commerciale et dans l'enseignement, la possibilité d'une utilisation commerciale étant étudiée au cas par cas. Cependant, les modifications apportées par ISNetwork "sont basées sur le code source de MindTerm 1.21, que MindBright a publié sous GPL [General Public Licence - voir http://www.gnu.org]. Comme notre version a été publiée sous GPL, vous pouvez l'utiliser gratuitement à des fins commerciales" (Eckels). L'implémentation d'ISNetworks a toutes les fonctionnalités du MindTerm de MindBright, excepté qu'elle a une interface SCP plus sympathique pour des transferts de fichier plus conviviaux. MindTerm a quand-même l'inconvénient de ne pas prendre en charge les tunnels UDP. Pour sécuriser le trafic UDP, un programme qui s'appelle Zebedee ( http://www.winton.org.uk/zebedee/) fera très bien l'affaire. Les programmes serveur et client de Zebedee sont disponibles pour les plateformes Windows et Linux. Il est distribué gratuitement sous licence GPL également. Vous pouvez vous connecter aussi bien aux machines Windows que Linux avec Zebedee. MindTerm ne vérifiera pas si votre système est sécurisé. C'est aux administrateurs et aux utilisateurs de prendre le soin de sécuriser leurs systèmes informatiques. Il est facile à implémenter et il est très efficace pour ce qui est de garder le haut niveau de sécurité implémenté dans le protocole SSH. Nous verrons dans cet article à quel point cela est facile de mettre en place et d'établir des canaux de communication sécurisés pour et par quasiment n'importe quel utilisateur. Les documents, courriels et autres communications de données peuvent être envoyés facilement et en toute sécurité à des utilisateurs à l' autre bout du monde ou à quelques pas de là.
SSH et MindTerm fonctionneront ensemble pour utiliser une technique appelée redirection de port [port forwarding]. La redirection de port consiste à rediriger du trafic d'un hôte et un port donnés, vers un autre hôte et port. En d'autres termes, l'application MindTerm va ouvrir un port sur la machine du client (machine locale) et toute connexion à ce port local est redirigée vers l'hôte distant et son port d'écoute au travers d'une session SSH cryptée. Le fait que la connexion soit acceptée ou pas dépend du type de requête qu'on envoie à l'hôte distant. Par exemple, on ne redirigerait pas des requêtes POP vers un hôte distant écoutant sur le port 21, car le port 21 est réservé aux requêtes FTP. La redirection de port est également utilisée pour permettre la connexion à un serveur situé derrière un pare-feu et/ou qui a une adresse IP privée. Essentiellement, cela s'appelle créer un réseau virtuel privé [Virtual Private Network] (VPN). Un VPN est "un réseau de données privées faisant usage de l' infrastructure de télécommunications publique, en protégeant la vie privée par l'emploi d'un protocole de tunnel et de procédures de sécurité" (www.whatis.com). La redirection de port ne peut être effectuée qu'avec des services TCP.