Come faccio a registrare il traffico smtp crittografato con tls?

Vorrei sapere che cosa il mio postfix locale dice al Amazon SES smtpd dopo il STARTTLS. In text semplice, quindi posso capirlo. Amazon SES richiede TLS, quindi non posso spegnerlo temporaneamente.

Attualmente registro entrambe le gambe del traffico con questo trucco:

  • Postfix: warning: connect to 127.0.0.1: 10023: Il collegamento è rifiutato, non ricevendo posta da domini esterni
  • Https per dispositivi embedded, indirizzi locali
  • OpenVPN: Dove potrebbe essere generata la chiave privata?
  • Quanti SSL TPS avrò bisogno con questo volume?
  • Come configurare Apache come proxy SSL per un server di applicazioni?
  • Apache SSL configuration - SSLLabs come get A +
  • mkfifo proxypipe cat proxypipe | nc -l 11111 | tee -a inflow | nc email-smtp.us-east-1.amazonaws.com smtp | tee -a outflow 1>proxypipe 

    e poi ho postfix parlare con localhost: 11111 invece di email-smtp.us-east-1.amazonaws.com:25. Questo produce una bella trascrizione, finché parlano in text chiaro. Appena si avvicina a STARTTLS, tutto si trasforma in grinta.

    C'è qualche trucco che posso percorrere attraverso openssl, o post-process utilizzando openssl o qualcosa del genere, per capire cosa hanno esattamente detto l'uno con l'altro? Googling non ha prodotto alcuna risposta.

    2 Solutions collect form web for “Come faccio a registrare il traffico smtp crittografato con tls?”

    Non preoccupatevi di annusare la connessione di networking; come spiegato @ voretaq7, non puoi. Invece, il postfix registra la connessione aggiungendo l'indirizzo IP del server SMTP remoto a debug_peer_list .

    E se ciò non ottiene abbastanza dettaglio per capire cosa sta succedendo, puoi impostare smtp_tls_loglevel 4 per get un completo dump di tutto ciò che è andato oltre il filo.

    Una volta terminata, assicuratevi di cambiare la configuration. Non si desidera lasciare il debug per più di quanto sia assolutamente necessario.

    Permettimi di riformulare la tua domanda:

    Voglio attaccare qualcosa nel mezzo di una connessione TLS-crittografata che mi mostra il text chiaro che viene inviato.

    . . . Beh, non sarebbe molto sicuro ora, vero? Voglio dire l'integer punto di TLS è impedire esattamente quello che stai cercando di fare! – Quindi no, quello che stai chiedendo non è ansible, né è vicino al livello di logging di qualsiasi amministratore sani vorrebbe.
    Tutto quello che vuoi sapere è chi sei connesso (il sistema remoto), quello che hai detto loro (posta da A a B) e quello che hanno detto (OK, differito, rifiutato).


    Se vuoi veramente intercettare sulla connessione TLS devi ingannare il server in connessione a un proxy che presenta un falso certificato SSL (per cui hai la chiave), il proxy può quindi decrittografare i dati (e registrarli) e poi re-crittografare per avanzare insieme ai veri server di Amazon.
    Potresti montare una simile bestia con i sottosisthemes s_client e s_server di OpenSSL, ma l'implementazione di una simile bestia è lasciata come un esercizio per il lettore.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.