PUBLICATION CPA-2011-102-R1 - Mai 2011 SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE Par : François Tremblay, chargé de projet au Centre de production automatisée Introduction À l instar des secteurs corporatif, commercial et financier, les entreprises manufacturières utilisent de plus en plus les mécanismes de contrôle décentralisé leur donnant accès aux systèmes de gestion et de contrôle de leurs lignes de production. Cela permet entre autres la paramétrisation des procédés à partir des bureaux corporatifs, l assistance et le dépannage technique des lignes de production, la mise à niveau des systèmes de contrôle, la transmission des signaux d alarme, la commande de terminaux à distance (RTUs) et le suivi en temps réel des opérations. En l absence de mesures de sécurité adéquates, établir une connection avec un système de contrôle industriel c est ouvrir une brèche qui pourra être rapidement détectée et exploitée par un individu ou une organisation malveillante. Des logiciels automatiques surveillent de façon continue le réseau Internet à la recherche de cibles faciles. Une entreprise n a donc pas à être directement visée pour devenir victime d une intrusion frauduleuse. Pour s en convaincre, il suffit d ouvrir un pare-feu en autorisant les ports permettant le contrôle à distance d un ordinateur pour que celui-ci commence à recevoir des tentatives de connexions de façon régulière. Une fois la brèche détectée, une attaque ciblée pourra rapidement venir à bout des barrières de protection si celles-ci sont insuffisantes. Parallèlement aux attaques volontaires, une installation mal protégée sera plus sensible aux problèmes inhérents des réseaux informatiques, comme la diminution de la bande passante et les conflits d adressage. Une porte d entrée non sécurisée, donnant accès à un système de contrôle industriel, pose non seulement une menace pour ce dernier, mais aussi pour l ensemble du parc informatique de l entreprise. En effet, les échanges d information entre le niveau corporatif et le plancher d opération sont de plus en plus fréquents. Alors que le réseau corporatif est généralement bien sécurisé, son lien avec un réseau de contrôle faiblement protégé le rend vunérable. Pour faire une analogie, c est un peu comme un voleur qui s introduit dans les bureaux corporatifs en passant par la porte de service, alors que l entrée principale est sous haute surveillance. La présence de gardiens de sécurité et de dispositifs de contrôle d identité est chose courante aujourd hui. La réglementation en matière de sécurité des travailleurs, la responsabilité légale, la confiance des investisseurs et les exigences de rendement élevées nécessitent de plus en plus que l accès physique aux installations industrielles soit contrôlé. L individu qui doit accéder à un site doit confirmer son identité et disposer d une autorisation d accès en bonne et due forme. Il est possible de procéder de la même manière pour authentifier les requêtes d accès aux réseaux industriels en utilisant des solutions logicielles adéquates. Virtual Network Computing (VNC) Le Virtual Network Computing est l une des méthodes les plus utilisées pour établir des échanges d informations et des prises de contrôle sur des réseaux industriels. Plusieurs logiciels sont disponibles sur le marché, souvent à des coûts minimes. La prise de contrôle
s effectue par la transmission graphique de l écran de l ordinateur hôte vers l ordinateur client, et par la transmission des commandes du clavier et de la souris du client vers l hôte. Viewer Serveur Windows Java Windows Mac Dos Mac Connexion VNC Unix ios Unix Linux Android Linux C est une méthode extrêmement simple qui est relativement indépendante de la plate-forme utilisée. Par exemple, un client Windows pourra prendre le contrôle d un serveur Unix, une tablette électronique ipad fera de même avec un serveur Windows et un client OSX communiquera aisément avec un serveur Linux. Le VNC permet aussi à plusieurs utilisateurs de se brancher simultanément sur un même hôte, un avantage non négligeable lors d une opération de support assisté. De plus, la compatibilité entre les logiciels VNC de différentes marques est excellente, ce qui permet de choisir l outil qui offre les caractéristiques les mieux adaptées à l utilisation prévue. Cette solution s avère très intéressante pour un manufacturier devant supporter plusieurs clients qui utilisent des logiciels différents. Cependant, la simplicité et la compatibilité des logiciels deviennent en quelque sorte une faiblesse. Utilisés dans leur configuration par défaut, les serveurs VNC sont vulnérables aux attaques. La plupart de ces outils proposent des méthodes de cryptage et d authentification évoluées. Mais cela ne les met pas totalement à l abri des attaques. De plus, il arrive souvent que les mécanismes de sécurité soient incompatibles lorsque des logiciels différents sont utilisés par le client et l hôte. Dans un tel cas, la connexion pourra s effectuer sans problème mais les données transmises ne bénéficieront d aucune protection. L utilisation courante des ports standards par les logiciels VNC les rend également faciles à détecter sur les réseaux. Heureusement, il est facile et efficace de combiner la performance des solutions VNC à des mécanismes de protection de très haut niveau, les rendant pratiquement invulnérables aux attaques. L une des solutions les plus courantes consiste à encapsuler les échanges d information entre le client et l hôte à l intérieur d un tunnel sécurisé. L encapsulation des communications (Tunneling) En temps de guerre, lors de bombardements aériens, les populations ont souvent trouvé refuge dans des galeries souterraines et des tunnels. Ceux-ci peuvent offrir une protection à toute épreuve à des gens qui n ont aucun moyen d assurer leur protection autrement. Dans le monde des communications, il est également possible de protéger des données vulnérables contre les attaques externes en les dissimulant dans des tunnels informatiques. Ces tunnels sont en fait des couches de cryptage rendant les données totalement inexploitables à toute personne n ayant pas les autorisations requises ou les clés pour les décoder.
Client VNC Tunnel Données encryptées Serveur VNC L avantage de cette méthode est qu elle offre une protection de haut niveau à des applications variées ne possédant pas les ressources de sécurité suffisantes. Par exemple, une liaison VNC non sécurisée peut être totalement protégée en la faisant circuler à l intérieur d un de ces tunnels. En réalité, toute communication peut être transmise à l intérieur d un tunnel, peu importe les logiciels utilisés pour établir cette communication. Le déploiement de cette sécurité est donc simplifié, car il n exige pas de choisir et de configurer une variété d applications et de services de communication. Il suffit de construire un tunnel sécuritaire et d y faire circuler l information désirée. Le tunnel Secure Socket Layer (SSL) Le tunnel SSL est largement employé pour encrypter les échanges de données sur Internet. Ce protocole est utilisé entre autres pour l envoi de courriers électroniques, les transactions bancaires, les achats en ligne et la communication VoIP. Le tunnel SSL utilise un mécanisme d authentification du serveur par le biais de certificats approuvés par une autorité compétente et reconnue. C est le même processus que de présenter une pièce d identité émise par un organisme gouvernemental, un passeport ou un permis de conduire par exemple, à un agent qui en fait la demande. De plus, cette authentification peut se faire dans les deux sens. Par exemple, après avoir remis notre pièce d indentification à l agent, nous pourrions, à notre tour, vérifier son identité. Dans la pratique, cela se fait de manière intuitive, l agent étant lui-même identifié par son insigne, son habit ou son véhicule. Dans les communications informatiques, la double identification permet de protéger à la fois le client et le serveur. Une fois le processus d identification complété, des clés de cryptage sont échangées et la communication sécurisée débute. Le tunnel Secure Shell (SSH) Alors que, par définition, le tunnel SSL est utilisé pour protéger des données transportées sur un réseau public, le tunnel SSH est particulièrement adapté à la prise de contrôle d un ordinateur hôte distant. En plus de la prise de contrôle simple, ce mode de sécurisation offre une variété d outils permettant la gestion complète de l hôte. Par exemple, il sera possible de monter, sur l ordinateur client, un lecteur physique appartenant à l ordinateur hôte. De la même manière, tout port de communication appartenant à l hôte pourra être redirigé vers l ordinateur client, rendant le premier invisible sur le réseau public. En d autres mots, aucun port public ne sera ouvert sur l hôte et celui-ci ne pourra accepter aucune demande de connexion autre que celle faite par le client autorisé. Comme pour le tunnel SSL, le tunnel SSH utilise des clés de cryptage. Par contre, le dispositif d authentification est simplifié, ne nécessitant pas l utilisation de certificats approuvés. Un exemple de connexion sécurisée SSH Le schéma de la page suivante propose un exemple de connexion sécurisée pour la prise de contrôle d un ordinateur hôte distant à travers un tunnel SSH. L ordinateur hôte, aussi appelé serveur, utilise un logiciel VNC autorisant sa prise de contrôle par l ordinateur client. Avant d établir la connexion entre le client et le serveur, un tunnel sécurisé SSH a été mis en place. Ce tunnel est établi sur le port 22. C est le port par défaut pour les connexions SSH mais tout
autre port non utilisé pourrait convenir. En fait, l utilisation d un port différent augmente encore le niveau de sécurité, car la plupart des demandes de connexions frauduleuses se font sur les ports par défaut. Notons que, dans cet exemple, le port utilisé pour le tunnel SSH est le seul qui est ouvert au domaine public. La protection est assurée en redirigeant le port standard de communication VNC du serveur, le port 5900, vers le client à travers le tunnel sécurisé, par l entremise du serveur virtuel local, localisé à l adresse 127.0.0.1. Le serveur VNC est configuré pour n écouter que les demandes de connexion internes et aucune connexion venant de l extérieur ne pourra être acceptée. En termes plus simples, c est comme si les deux ordinateurs n étaient en fait qu un seul et même système, le tunnel les reliant virtuellement de façon sécuritaire. Client VNC Serveur VNC Port 5900 Port 5900 Port 22 Port 22 Tunnel sécurisé HSS Serveur local 127.0.0.1 Carte réseau 192.168.0.5 Données encryptées Carte réseau 192.168.0.10 Serveur local 127.0.0.1 La passerelle sécurisée Il arrive souvent qu il soit nécessaire pour un client à distance de se brancher à plusieurs ordinateurs raccordés à un réseau industriel. Cela pose un problème dans la mesure où chacun des ordinateurs hôtes, une interface opérateur ou une console de programmation par exemple, devra être configuré en fonction du niveau de sécurité requis. La tâche peut rapidement devenir gigantesque, sans compter que cela entraîne beaucoup de problèmes lorsque les systèmes de contrôle sont mis à jour ou modifiés. Souvent, les interfaces d opération et les stations de programmation d une même ligne de production peuvent provenir de manufacturiers ou d intégrateurs différents. Dans un tel scénario, coordonner les mesures de sécurisation du système entier devient rapidement un casse-tête. Une solution valable sera de prendre le contrôle d un ordinateur principal, lui-même sécurisé par un tunnel SSH. Cet ordinateur sera configuré à la fois en tant que client pour le réseau local (LAN) et serveur pour le réseau externe (WAN). Une fois la prise de contrôle effectuée, l utilisateur distant pourra prendre le contrôle d un autre ordinateur situé sur le réseau interne par l entremise d une seconde connexion VNC. Bien que simple et efficace, cette solution pose un problème, car elle n autorise qu un seul client externe à la fois. De plus, l ordinateur principal devient inutilisable durant la prise de contrôle. Une solution mieux adaptée, et aussi plus sécuritaire, consiste à utiliser une passerelle dédiée qui servira de porte d entrée au réseau industriel. Cette passerelle sera responsable de vérifier l identité des clients demandant un accès, de même que d établir les tunnels sécurisés SSH. Elle redirigera ensuite les communications vers le client approprié se trouvant sur le réseau industriel interne. La passerelle peut être mise en place par l entremise d un ordinateur ou d un routeur spécialisé. Lorsqu elle est déployée à partir d un ordinateur, la passerelle offre des outils supplémentaires permettant une meilleure gestion des accès. Par exemple, un script peut être utilisé pour demander à un administrateur d autoriser chaque requête. Un autre script
peut limiter le temps d accès et fermer automatiquement les ports après un temps fixe ou une période d inactivité. Enfin, cette passerelle offre des outils d archivage et d analyse des accès. Web Production Client 1 Support technique Client 2 Corporatif Passerelle Redirection des connexions Client 3 Tunnel sécurisé Support SSH Station à distance Client 4 Client 5 Ingénierie Hôte 1 Hôte 2 Gestion des commandes Contrôleurs PLC Interface HMI Les avantages d utiliser une passerelle sécurisée sont énormes. La configuration s effectue en un seul point. La passerelle peut être localisée dans une pièce à accès contrôlé. Elle n est pas influencée par les mises à jour sur les systèmes de contrôle et est beaucoup moins soumises aux aléas des failles des systèmes d exploitation. Conclusion Beaucoup d industries refusent d autoriser l accès à leurs systèmes de contrôle depuis l extérieur, par crainte d intrusion frauduleuse sur les réseaux, se privant ainsi des avantages énormes qu offrent le contrôle et le dépannage à distance. À l opposé, un grand nombre d entreprises ouvrent leurs portes toutes grandes aux intrus, leur donnant plein accès à leurs systèmes de production. La solution idéale, différente pour chaque entreprise, se situe quelque part entre ces deux extrêmes. Chaque jour, des milliards et des milliards de dollars sont échangés de façon sécuritaire à travers un réseau mondial incroyablement complexe. En utilisant les mêmes méthodes de protection que celles utilisées lors de ces échanges, il est tout à fait possible de profiter des avantages que procure l accès à distance des systèmes de contrôle industriel, sans pour autant compromettre la sécurité et l intégrité du parc informatique. François Tremblay, Chargé de projets Centre de production automatisée - Bureau de Québec 215 rue Caron, Québec, G1K 5V6 Téléphone: (418) 525-8737 Poste 236 Télécopieur: (418) 525-4007 Courriel: Francois.Tremblay@SolutionCPA.com Site Web: www.solutioncpa.com