2016-03-03 23 views
5

Sono stato in grado di configurare SSL nei miei broker e client kafka e sono anche in grado di vedere che quando produciamo messaggi usando la porta 9093 che è la porta SSL i messaggi sono consumati da il consumatore.Come verificare che SSL funzioni per Kafka

Quello che ho provato è inviare un messaggio tramite la porta 9093 e il messaggio viene inviato al consumatore dal produttore.

Quello che voglio è un modo per verity se questo è effettivamente funzionante, voglio dire come posso dimostrare che 9092 non è SSL e 9093 è SSl e protetto?

Grazie in anticipo, Vishesh.

+0

È necessario configurare SSL con qualche chiave e la password.Se la tua porta SSL è in esecuzione 9093 e sei in grado di consumare solo fornendo tale chiave e password, allora il tuo SSL funziona bene altrimenti qualcosa non va con il tuo SSL impostato. – avr

risposta

0

Abbiamo provato a configurare kafka con SSL e abbiamo affrontato lo stesso problema per verificare se funziona su SSL. Ho rimosso la voce listener PLAINTEXT e mantenuto la configurazione richiesta solo per SSL e testata. Siamo stati in grado di inviare e ricevere messaggi con SSL alla porta sicura 9093.

Nei registri fornisce un avviso, ma è per l'autenticazione del client, quindi non è un problema, una volta testato ho aggiunto di nuovo la voce PLAINTEXT.

io so che non è il modo migliore per testare, ma ha funzionato per me

+0

Sì, ho anche fatto la stessa cosa e sono in grado di inviare e ricevere messaggi sulla porta 9093 ma, stavo pensando ad altri modi, forse tramite wireshark o qualcosa che può essere utilizzato per vedere la crittografia. Possiamo? – Vishesh

1

Di seguito due modi possibile verificare l'impostazione di SSL.

  1. -Djavax.net.debug=all Aggiungi questa proprietà in bin/kafka-run-class.sh nello stesso luogo come:

    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 
    

    poi la coda del file di registro di Kafka broker, si dovrebbe vedere alcuni messaggi codificati.

  2. Per verificare se chiavi del server e truststore sono configurato correttamente è possibile eseguire il seguente comando:

    openssl s_client -debug -connect localhost:9093 -tls1 
    

    Nota: TLSv1 dovrebbe essere elencato sotto ssl.enabled.protocols.

    Nel output di questo comando si dovrebbe vedere il certificato del server:

    -----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] 
    

    Se il certificato non risulta o se ci sono altri messaggi di errore allora il vostro keystore non è configurato correttamente.

Riferimento:

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

Quando si parla security.protocol = SSL, non c'è modo si può utilizzare l'altro protocollo. Per ulteriori prove, come menzionato sopra, puoi modificare kafka-run-class.sh per attivare il debug e verificare che gli handshake di ssl si ripetano e che i metadati siano inviati sul canale ssl.

Grazie Akash

+0

La domanda non riguardava "se" kafka utilizza SSL se configurato in modo tale, si trattava di verificare come effettivamente lo sta facendo. Quindi, la tua risposta non risponde alla domanda, né aggiunge nulla di nuovo in contrasto con la risposta di supermonk, lascia invece un commento per questo tipo di suggerimenti. Nel peggiore dei casi, la tua risposta è sbagliata, poiché, naturalmente, ci potrebbe sempre essere un difetto di implementazione in qualsiasi parte del codice, il che porta a Kafka che non usa SSL anche se configurato per farlo. – Murmel

Problemi correlati