Certificat SSL Opensearch / Cortex
Lynow
-
Lynow -
Lynow -
Bonjour,
Je suis en train de configurer la connexion entre Cortex (outil CTI) et Opensearch (outil de visualisation, fork de Elasticsearch).
Opensearch utilise SSL et Cortex également.
Je pense que je me suis un perdu dans les certificats, c'est pourquoi je bloque sur cette connexion entre les deux outils.
En effet, Cortex demande dans son fichier de configuration un KeyStore, et un TrustStore. J'ai donc généré ces deux-ci dans le format approprié. A savoir que Cortex est compatible avec le format PKS, PKSC#12. Lors de la conversion de PEM en PKS, la commande a créé un keystore et trustore sous l'extension .ks, en espérant que cela soit compatible ...
J'indique également les mots de passes s'il y en a. Voici un peu l'idée :
Cela ne fonctionne pas, le service ne démarre pas et je n'ai aucune erreur log affichée ... Que ce soit dans les logs Cortex ou système ...
A noter que j'ai également configuré un proxy inverse pour cortex, afin de configurer une connexion SSL. Pour ces deux outils, je n'ai pas utilisé la même autorité de certificat, je l'ai fait individuellement (pour une certaine raison).
Je pense donc que je me suis emmêler les pinceaux. Si j'ai bien compris, Keystore contient la clé privée qui va permettre à Opensearch de vérifier son identité, et Trustore va permettre de vérifier inversement l’identité de Opensearch.
Je suis en train de configurer la connexion entre Cortex (outil CTI) et Opensearch (outil de visualisation, fork de Elasticsearch).
Opensearch utilise SSL et Cortex également.
Je pense que je me suis un perdu dans les certificats, c'est pourquoi je bloque sur cette connexion entre les deux outils.
En effet, Cortex demande dans son fichier de configuration un KeyStore, et un TrustStore. J'ai donc généré ces deux-ci dans le format approprié. A savoir que Cortex est compatible avec le format PKS, PKSC#12. Lors de la conversion de PEM en PKS, la commande a créé un keystore et trustore sous l'extension .ks, en espérant que cela soit compatible ...
J'indique également les mots de passes s'il y en a. Voici un peu l'idée :
search { # Name of the index index = cortex # ElasticSearch instance address. # For cluster, join address:port with ',': "http://ip1:9200,ip2:9200,ip3:9200" uri = "https://192.168.x.x" } .... ## Authentication configuration user = "user" password = "mdp" ## SSL configuration keyStore { path = "/home/certificat-opensearch/keystore.ks" type = "JKS" # or PKCS12 password = "mdp" } trustStore { path = "/home/certificat-opensearch/trustStore.ks" type = "JKS" #password = "" #}
Cela ne fonctionne pas, le service ne démarre pas et je n'ai aucune erreur log affichée ... Que ce soit dans les logs Cortex ou système ...
A noter que j'ai également configuré un proxy inverse pour cortex, afin de configurer une connexion SSL. Pour ces deux outils, je n'ai pas utilisé la même autorité de certificat, je l'ai fait individuellement (pour une certaine raison).
Je pense donc que je me suis emmêler les pinceaux. Si j'ai bien compris, Keystore contient la clé privée qui va permettre à Opensearch de vérifier son identité, et Trustore va permettre de vérifier inversement l’identité de Opensearch.
A voir également:
- Certificat SSL Opensearch / Cortex
- Https //www.google.com/ gws_rd=ssl virus - Forum Virus
- Razer cortex avis - Télécharger - Optimisation
- Https //www.google.com/ gws_rd=ssl ✓ - Forum Virus
- Problème SSL (google.com) - Forum Réseaux sociaux
- SSL - Forum Google Chrome
2 réponses
La situation a un peu évolué, avec cette configuration :
Je ne sais pas pourquoi, mais en mettant le fichier truststore pour keystore, cela a fonctionné ... Pourtant, Truststore constitue tous les certificats vérifiés/signés par l'autorité de certification de Opensearch, et keystore la clé et/ou le certificat personnel généré pour cortex ... Alors là ...
Ensuite, j'ai donc accès à la page Web http://192.168.x.x:9001. Ok, le problème est que, je rappel, j'ai créé un proxy reverse avec nginx pour Cortex. Ce proxy renvoie sur l'adresse https://192.168.x.x. J'ai donc accès aux deux pages Web. Je ne vois pas comment faire pour que SSL soit configuré à la fois pour Cortex lui-même et à la fois pour se connecter à Opensearch.
J'espère avoir été clair.
user = "user" password = "mdp" ## SSL configuration keyStore { path = "/home/certificat-opensearch/truststore.ks" type = "JKS" # or PKCS12 password = "mdp" } trustStore { path = "/home/certificat-opensearch/truststore.ks" type = "JKS" password = "mdp" }
Je ne sais pas pourquoi, mais en mettant le fichier truststore pour keystore, cela a fonctionné ... Pourtant, Truststore constitue tous les certificats vérifiés/signés par l'autorité de certification de Opensearch, et keystore la clé et/ou le certificat personnel généré pour cortex ... Alors là ...
Ensuite, j'ai donc accès à la page Web http://192.168.x.x:9001. Ok, le problème est que, je rappel, j'ai créé un proxy reverse avec nginx pour Cortex. Ce proxy renvoie sur l'adresse https://192.168.x.x. J'ai donc accès aux deux pages Web. Je ne vois pas comment faire pour que SSL soit configuré à la fois pour Cortex lui-même et à la fois pour se connecter à Opensearch.
J'espère avoir été clair.
Bonjour,
Pas besoin d'offusquer les IPs tant qu'elles sont locales (192.168.*.*).
Plusieurs questions :
Bonne chance
Pas besoin d'offusquer les IPs tant qu'elles sont locales (192.168.*.*).
Plusieurs questions :
- Ça m'étonne un peu que tu n'aies pas d'erreur au moins dans les logs. Es-tu sûr d'avoir regardé bien regardé dans
/var/log
? Par exemple, en utilisant une commande du genresudo tail -f /var/log/*.log
(laisse ce terminal ouvert, puis teste). - Est-ce que tu es sûr que les deux composants arrivent à se joindre au sens IP (teste avec un
ping -c2 192.168.x.x
) ? - Est-ce que le ports sont les bons et sont bien ouverts (côté serveur tu peux vérifier avec
netstat -ntlp
, côté client avecnmap 192.168.x.x
) ? - Est-ce que ça marche sans certificat ?
- Peux-tu nous indiquer les liens sur lesquels tu t'es basé ?
Bonne chance
Bonjour,
Je ne sais pas si tu as vu mon dernier message plus haut ?
EDIT : J'ai finalement réussi à me connecter avec le proxy, donc en https et avec Opensearch.
Je voudrais juste, si possible, un éclaircissement sur la configuration du Truststore, comment cela se fait-il qu'il doit être mis à la place du Keystore ?
Deuxième chose :
J'ai donc créé un certificat SSL pour la connexion Cortex, https:192.168.1.10, à partir du proxy sous nginx. Lorsque Cortex communique avec Opensearch, il envoie ses configurations SSL du fichier ci-dessus, afin de montrer qu'il a un certificat connu et vérifié par l'autorité, c'est bien cela ?
Je ne sais pas si tu as vu mon dernier message plus haut ?
EDIT : J'ai finalement réussi à me connecter avec le proxy, donc en https et avec Opensearch.
Je voudrais juste, si possible, un éclaircissement sur la configuration du Truststore, comment cela se fait-il qu'il doit être mis à la place du Keystore ?
Deuxième chose :
J'ai donc créé un certificat SSL pour la connexion Cortex, https:192.168.1.10, à partir du proxy sous nginx. Lorsque Cortex communique avec Opensearch, il envoie ses configurations SSL du fichier ci-dessus, afin de montrer qu'il a un certificat connu et vérifié par l'autorité, c'est bien cela ?
Re bonjour,
Je ne sais pas si tu as vu mon dernier message plus haut ?
En fait je voulais qu'on soit sûrs que ça marche sans certificat pour ne pas avoir à chercher une explication du côté du pare-feu ou du routage.
Je ne vois pas comment faire pour que SSL soit configuré à la fois pour Cortex lui-même et à la fois pour se connecter à Opensearch.
Je ne sais pas si ce que je vais dire va t'aider, car comme je te l'ai dit dans ton autre fil de discussion, je n'ai jamais utilisé les technologies dont tu parles, mais je me lance, avec un peu de chance ça t'aidera :-)
En fait cette partie n'est pas claire. Il n'y a pas vraiment de notion de "à la fois". Dans l'idée tu as une application client (navigateur ou autre) qui se connecte à un serveur. Si la connexion est sécurisée (SSL, HTTPS...) alors le client vérifie que le certificat présenté par le serveur est produit par une autorité de confiance. Donc ma question serait quelle(s) application(s) cliente(s) est(sont) concernée(s), pour contacter quel(s) service(s) et d'après toi pourquoi.
Penses-tu que c'est lié à ton reverse proxy et si oui pourquoi ?
Un élément qui n'a rien à voir avec ton problème mais qui peut t'inspirer. Suppose que tu as deux sites webs hébergé sur une même machine (disons https://www.site1.fr et https://www.site2.fr) avec apache2 + certbot. Tu vas instancier certbot pour https://www.site1.fr et https://www.site2.fr. Le fait qu'ils aient la même IP ne gêne pas. Le serveur apache sait à quel site on s'adresse en analysant le FQDN soumis par le client et retourne les bonnes pages et le bon certificat.
Bonne chance
Je ne sais pas si tu as vu mon dernier message plus haut ?
En fait je voulais qu'on soit sûrs que ça marche sans certificat pour ne pas avoir à chercher une explication du côté du pare-feu ou du routage.
Je ne vois pas comment faire pour que SSL soit configuré à la fois pour Cortex lui-même et à la fois pour se connecter à Opensearch.
Je ne sais pas si ce que je vais dire va t'aider, car comme je te l'ai dit dans ton autre fil de discussion, je n'ai jamais utilisé les technologies dont tu parles, mais je me lance, avec un peu de chance ça t'aidera :-)
En fait cette partie n'est pas claire. Il n'y a pas vraiment de notion de "à la fois". Dans l'idée tu as une application client (navigateur ou autre) qui se connecte à un serveur. Si la connexion est sécurisée (SSL, HTTPS...) alors le client vérifie que le certificat présenté par le serveur est produit par une autorité de confiance. Donc ma question serait quelle(s) application(s) cliente(s) est(sont) concernée(s), pour contacter quel(s) service(s) et d'après toi pourquoi.
Penses-tu que c'est lié à ton reverse proxy et si oui pourquoi ?
Un élément qui n'a rien à voir avec ton problème mais qui peut t'inspirer. Suppose que tu as deux sites webs hébergé sur une même machine (disons https://www.site1.fr et https://www.site2.fr) avec apache2 + certbot. Tu vas instancier certbot pour https://www.site1.fr et https://www.site2.fr. Le fait qu'ils aient la même IP ne gêne pas. Le serveur apache sait à quel site on s'adresse en analysant le FQDN soumis par le client et retourne les bonnes pages et le bon certificat.
Bonne chance