2016-03-03 25 views
5

Udało mi się skonfigurować SSL w moich brokerach i kliencie kafka, a także widzę, że gdy produkujemy komunikat za pomocą portu 9093, który jest portem SSL, wiadomości są zużywane przez konsument.Jak sprawdzić, czy SSL działa dla Kafki

Próbowałem wysłać wiadomość przez port 9093, a wiadomość została wysłana do konsumenta od producenta.

Czego chcę, to jest droga do prawdy, jeśli to rzeczywiście działa, mam na myśli, jak mogę pokazać, że 9092 nie jest SSL, a 9093 jest SSl i zabezpieczone?

Z góry dzięki, Vishesh.

+0

Musisz skonfigurować SSL za pomocą klucza i hasła.Jeśli Twój port SSL działa w wersji 9093 i możesz go używać tylko przez podanie tego klucza i hasła, oznacza to, że Twój protokół SSL działa poprawnie, w przeciwnym razie coś jest nie tak z konfiguracją SSL. – avr

Odpowiedz

0

Próbowaliśmy skonfigurować kafka z SSL i napotkaliśmy ten sam problem, by sprawdzić, czy działając na SSL, usunąłem wpis dla słuchaczy PLAINTEXT i zachowałem konfigurację, która jest wymagana tylko dla SSL i przetestowana. Udało nam się wysłać i odebrać wiadomość wirh SSL na bezpiecznym porcie 9093.

W logach daje OSTRZEŻENIE, ale służy do uwierzytelniania klienta, więc to nie problem, po przetestowaniu ponownie dodałem wpis PLAINTEXT.

wiem, że nie jest to najlepszy sposób na sprawdzenie, ale pracował dla mnie

+0

Tak, zrobiłem to samo i jestem w stanie wysyłać i odbierać wiadomości na porcie 9093, ale myślałem o innych sposobach, być może przez wireshark lub coś, co można wykorzystać do zobaczenia szyfrowania. Czy możemy? – Vishesh

1

Poniżej dwa sposoby może zweryfikować konfigurację SSL.

  1. -Djavax.net.debug=all Dodaj tę nieruchomość w bin/kafka-run-class.sh w tym samym miejscu jak:

    if [ -z "$KAFKA_JMX_OPTS" ]; then 
        KAFKA_JMX_OPTS=" <**add here**> -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false " 
    fi 
    

    potem ogon plik dziennika Kafka broker powinien pojawić pewne zakodowane wiadomości.

  2. Aby sprawdzić, czy kluczy serwera i zaufanych są ustawione poprawnie można uruchomić następujące polecenie:

    openssl s_client -debug -connect localhost:9093 -tls1 
    

    Uwaga: TLSv1 powinny być uszeregowane pod ssl.enabled.protocols.

    Na wyjściu tego polecenia należy zobaczyć certyfikat serwera:

    -----BEGIN CERTIFICATE----- 
    {variable sized random bytes} 
    -----END CERTIFICATE----- 
    subject=/C=US/ST=CA/L=Santa Clara/O=org/OU=org/CN=Joe Smith 
    issuer=/C=US/ST=CA/L=Santa Clara/O=org/OU=org/CN=kafka/[email protected] 
    

    Jeśli certyfikat nie pojawi się lub jeśli istnieją jakiekolwiek inne komunikaty o błędach wówczas kluczy nie jest ustawiony prawidłowo.

referencyjny:

  1. http://docs.confluent.io/2.0.0/kafka/ssl.html
  2. https://github.com/Symantec/kafka-security-0.9
-1

Kiedy wspomina security.protocol = SSL, nie ma sposobu, można go użyć innego protokołu. Aby uzyskać więcej dowodów, jak wspomniano powyżej, możesz edytować kafka-run-class.sh, aby włączyć debugowanie wszystkich i zweryfikować zdarzenie handshake ssl oraz metadane przesyłane kanałem ssl.

Dzięki Akash

+0

Pytanie nie dotyczyło "jeśli" kafka używa SSL, jeśli tak skonfigurowano, chodziło o to, jak sprawdzić, czy naprawdę to robi. Tak więc, twoja odpowiedź nie odpowiada na pytanie, ani nie dodaje nic nowego w przeciwieństwie do odpowiedzi supermonka, zamiast tego zostaw komentarz do tego rodzaju sugestii. W najgorszym przypadku twoja odpowiedź jest błędna, ponieważ w kodzie zawsze może występować usterka implementacji, co prowadzi do tego, że Kafka nie używa SSL, nawet jeśli zostało to skonfigurowane. – Murmel

Powiązane problemy