Temps de lecture : 5 minutes
Ajouter le protocole CIP Security à votre appareil n'est pas une mince affaire — nous l'avons fait ! — et nous avons compris qu'une partie du processus de développement qui est essentielle à votre succès est la phase de débogage et de test.
Lorsqu'il s'agit de comprendre les problèmes de connexion TLS, cela peut parfois être difficile, en particulier lorsqu'il n'est pas clair quels messages sont réellement envoyés et reçus. Cependant, il y a de la lumière au bout du tunnel. Étant donné que CIP Security utilise une couche d'application identique à EtherNet/IP, une fois la poignée de main (D)TLS terminée, la messagerie est le CIP que nous connaissons et aimons tous .
Outils de débogage de sécurité CIP
Wireshark
Wireshark est un analyseur de protocole réseau open source et est l'outil le plus important pour tout développement EtherNet /IP car il peut décoder presque tous les messages EtherNet /IP et CIP.
Les problèmes les plus courants qui doivent être débogués sont la communication initiale et la poignée de main TLS (D) . Plusieurs choses peuvent mal tourner dans la poignée de main (D) TLS lors du démarrage d'un nouveau développement et du portage de la bibliothèque SSL sur votre appareil. La poignée de main (D) TLS est facilement capturée et analysée car elle n'est pas chiffrée , et Wireshark est capable de décoder tous les messages de poignée de main TLS et ( D ) TLS .
Une fois la poignée de main (D)TLS terminée, tout est EtherNet /IP. Lors de l'exécution d'EtherNet /IP sur DTLS, il est toujours possible de capturer et de voir le trafic dans Wireshark, mais il est impossible de décoder le trafic et de voir le contenu exact s'il est chiffré.
Cependant, vous pouvez faire certaines choses pour faciliter les problèmes de débogage lors de l'exécution de CIP Security sur EtherNet/IP.
Une option consiste à utiliser une suite de chiffrement NULL, qui fournit une communication d'authentification uniquement et tous les messages seront en clair et pourront être décodés par Wireshark . La spécification de sécurité CIP autorise trois suites de chiffrement NULL, une pour R SA , ECC et PSK .
Dans les cas où il n'est pas possible de changer la suite de chiffrement, c'est-à-dire dans une installation réelle, il est toujours possible de décoder le trafic réel en configurant Wireshark avec la clé utilisée pour le chiffrement. Ceci est clairement destiné au développement uniquement, mais c'est une option.
Les problèmes les plus courants qui doivent être débogués sont la communication initiale et la poignée de main TLS (D) . Plusieurs choses peuvent mal tourner dans la poignée de main (D) TLS lors du démarrage d'un nouveau développement et du portage de la bibliothèque SSL sur votre appareil. La poignée de main (D) TLS est facilement capturée et analysée car elle n'est pas chiffrée , et Wireshark est capable de décoder tous les messages de poignée de main TLS et ( D ) TLS .
Une fois la poignée de main (D)TLS terminée, tout est EtherNet /IP. Lors de l'exécution d'EtherNet /IP sur DTLS, il est toujours possible de capturer et de voir le trafic dans Wireshark, mais il est impossible de décoder le trafic et de voir le contenu exact s'il est chiffré.
Cependant, vous pouvez faire certaines choses pour faciliter les problèmes de débogage lors de l'exécution de CIP Security sur EtherNet/IP.
Une option consiste à utiliser une suite de chiffrement NULL, qui fournit une communication d'authentification uniquement et tous les messages seront en clair et pourront être décodés par Wireshark . La spécification de sécurité CIP autorise trois suites de chiffrement NULL, une pour R SA , ECC et PSK .
Dans les cas où il n'est pas possible de changer la suite de chiffrement, c'est-à-dire dans une installation réelle, il est toujours possible de décoder le trafic réel en configurant Wireshark avec la clé utilisée pour le chiffrement. Ceci est clairement destiné au développement uniquement, mais c'est une option.
OpenSSL
OpenSSL est une bibliothèque open source qui fournit une pléthore de fonctions liées à SSL, d'une bibliothèque SSL complète à des capacités de test et de débogage en ligne de commande. OpenSSL peut être utilisé pour tester les fonctions de prise de contact TLS de différentes manières. La commande la plus basique est :
$ openssl s_client -connect:2221
Des certificats et des clés spécifiques peuvent également être utilisés :
$ openssl s_client -connect :2221 –cert certFile.pem –key keyFile.pem
Des arguments sont également disponibles pour spécifier les suites de chiffrement à utiliser et une PSK. Il existe également un argument s_server qui permet à OpenSSL d'agir en tant que serveur. Tout cela est utile lors de la vérification des objets CIP Security et de leur interaction avec la bibliothèque (D)TLS.
L'outil de ligne de commande OpenSSL peut également être utilisé pour tester et déboguer d'autres éléments liés au protocole SSL. Il fournit des options pour tester la prise en charge du protocole afin de vérifier que votre appareil prend en charge le bon protocole TLS, v 1 .2. Avec certains scripts, OpenSSL peut être utilisé pour vérifier que les suites de chiffrement requises sont prises en charge.
Une autre fonctionnalité utile d'OpenSSL est la création et la vérification de clés et de certificats. Cela vous permet de créer des clés et des certificats à utiliser dans les tests et le développement.
$ openssl s_client -connect:2221
Des certificats et des clés spécifiques peuvent également être utilisés :
$ openssl s_client -connect :2221 –cert certFile.pem –key keyFile.pem
Des arguments sont également disponibles pour spécifier les suites de chiffrement à utiliser et une PSK. Il existe également un argument s_server qui permet à OpenSSL d'agir en tant que serveur. Tout cela est utile lors de la vérification des objets CIP Security et de leur interaction avec la bibliothèque (D)TLS.
L'outil de ligne de commande OpenSSL peut également être utilisé pour tester et déboguer d'autres éléments liés au protocole SSL. Il fournit des options pour tester la prise en charge du protocole afin de vérifier que votre appareil prend en charge le bon protocole TLS, v 1 .2. Avec certains scripts, OpenSSL peut être utilisé pour vérifier que les suites de chiffrement requises sont prises en charge.
Une autre fonctionnalité utile d'OpenSSL est la création et la vérification de clés et de certificats. Cela vous permet de créer des clés et des certificats à utiliser dans les tests et le développement.
NmapName
Semblable à OpenSSL, Nmap est un scanner de réseau gratuit et open-source. Il peut être utilisé pour découvrir des hôtes et des services sur un réseau informatique en envoyant des paquets et en analysant les réponses. Nmap fournit un certain nombre de fonctionnalités pour sonder les réseaux informatiques, y compris la découverte d'hôtes et la détection de services et de systèmes d'exploitation.
Du point de vue des tests d'appareils CIP Security, Nmap peut être utilisé pour vérifier la prise en charge du protocole et les suites de chiffrement implémentées dans votre appareil . Ceci est accompli avec la ligne de commande suivante :
$ nmap –script ssl-enum-ciphers -p 2221
Du point de vue des tests d'appareils CIP Security, Nmap peut être utilisé pour vérifier la prise en charge du protocole et les suites de chiffrement implémentées dans votre appareil . Ceci est accompli avec la ligne de commande suivante :
$ nmap –script ssl-enum-ciphers -p 2221
Les recommandations de Pyramid Solutions
La chose la plus importante à retenir est qu'en dehors de TLS et ( D ) TLS, toutes les communications sont au standard EtherNet /IP ; Par conséquent, si vous rencontrez un problème EtherNet /IP, le problème sera probablement le même, que vous soyez connecté en toute sécurité ou non. Lorsque vous rencontrez des problèmes avec les données d'application ou les communications EtherNet /IP, nous vous recommandons de les déboguer sans exécuter sur (D) TLS.
Envisagez d'utiliser les outils Wireshark et OpenSSL pour tester et déboguer efficacement vos applications CIP Security. Ceci est essentiel pour vous assurer que vous avez ajouté avec succès la sécurité CIP à votre appareil , et cela garantira que vos communications, votre assistance et la prise de contact TLS fonctionnent correctement.
Pour en savoir plus sur CIP Security, consultez le Guide pratique pour les développeurs de dispositifs de sécurité CIP, où vous trouverez des informations supplémentaires sur le débogage et les tests.
Envisagez d'utiliser les outils Wireshark et OpenSSL pour tester et déboguer efficacement vos applications CIP Security. Ceci est essentiel pour vous assurer que vous avez ajouté avec succès la sécurité CIP à votre appareil , et cela garantira que vos communications, votre assistance et la prise de contact TLS fonctionnent correctement.
Pour en savoir plus sur CIP Security, consultez le Guide pratique pour les développeurs de dispositifs de sécurité CIP, où vous trouverez des informations supplémentaires sur le débogage et les tests.