Utilizzo di rsyslog con TLS senza generare un cert autografato

Quasi tutte le guide che ho visto per l'utilizzo di TLS con rsyslog comportno la generazione di un autoscatto e l'utilizzo di tale argomento. Se le caselle sono già state create con un certificato firmato legit come si imposta il client e il server per usarlo semplicemente?

  • IIS non si fida di alcuna CA per l'authentication client
  • Che cosa significa "- / filepath" ACTION nella configuration rsyslog
  • Perché Postfix su Linux richiede un carattere "-" prima del path del file di registro?
  • Ubuntu + Postfix: registro di posta mancante
  • Distribuire CA interni ai client Linux
  • Qual è la differenza tra syslog, rsyslog e syslog-ng?
  • Differenza tra ca-bundle.crt e ca-bundle.trust.crt
  • Posso limitare una CA intermedia solo per firmare i certificati client?
  • Win 2008 - rinnovo del certificato - non posso scegliere la CA appropriata
  • Migrare una CA intermedia a una nuova radice
  • Il certificato SSL di Dovecot non è accettato
  • Installare un certificato di root in CentOS 6
  • 2 Solutions collect form web for “Utilizzo di rsyslog con TLS senza generare un cert autografato”

    Non c'è grande differenza per impostare questo se il tuo cert è "legit". Un certificato ampiamente affidabile è caratterizzato dal fatto di avere l'ancoraggio di fiducia (ovvero il certificato di root o certificato CA) semplificato nell'archivio di fiducia del sistema operativo o del browser.

    Supponi di avere server.example.com.key e server.example.com.csr . La tua CA ti invia indietro il tuo certificato, server.example.com.crt e tutto ciò che port al tuo cert se la catena di fiducia, ad esempio ca.crt, intermediate1.crt, intermediate2.crt o tutti i concetti concatenati in una come catena .crt. Alcuni vanno per client.crt e client.key . client.crt ha la stessa catena di trust come il certificato del server.

    La grande differenza di un autoscatto firmato per impostare questo è che potrebbe essere necessario includere i certificati intermedi sul file CA. Se i intermedi sono presenti nella fiducia del tuo sistema, tutto quello che devi fare è indicare il rsyslog (/etc/ssl/certs/ca-certificates.crt su Ubuntu, YMMV)

    I docs ( qui , qui e qui ) riassumono bene come impostare TLS:

    La configuration del server viene eseguita in questo modo:

     # make gtls driver the default $DefaultNetstreamDriver gtls # certificate files $DefaultNetstreamDriverCAFile /path/to/chain.crt $DefaultNetstreamDriverCertFile /path/to/server.example.com.crt $DefaultNetstreamDriverKeyFile /path/to/server.example.com.key $ModLoad imtcp # load TCP listener $InputTCPServerStreamDriverAuthMode x509/name $InputTCPServerStreamDriverPermittedPeer *.example.com $InputTCPServerStreamDriverMode 1 # run driver in TLS-only mode $InputTCPServerRun 10514 # start up listener at port 10514 

    La configuration del client dovrebbe essere simile a questa:

     # certificate files $DefaultNetstreamDriverCAFile /path/to/chain.crt $DefaultNetstreamDriverCertFile /path/to/client.crt $DefaultNetstreamDriverKeyFile /path/to/client.key # set up the action $DefaultNetstreamDriver gtls # use gtls netstream driver $ActionSendStreamDriverMode 1 # require TLS for the connection $ActionSendStreamDriverAuthMode x509/name $ActionSendStreamDriverPermittedPeer server.example.com *.* @@(o)server.example.com:10514 # send (all) messages 

    Se hai i propri certificati legittimi:

    mycompany.ca

    mycompany.crt

    mycompany.key

    Sul server:

    Rimuovere il commento:

     $ModLoad imtcp 

    Inserisci:

     $DefaultNetstreamDriver gtls $DefaultNetstreamDriverCAFile /etc/ssl/certs/mycompany.ca $DefaultNetstreamDriverCertFile /etc/ssl/certs/mycompany.crt $DefaultNetstreamDriverKeyFile /etc/ssl/certs/mycompany.key $InputTCPServerStreamDriverAuthMode anon $InputTCPServerStreamDriverMode 1 $InputTCPServerRun 10514 

    Sul cliente:

     $DefaultNetstreamDriver gtls $DefaultNetstreamDriverCAFile /etc/ssl/certs/mycompany.ca $ActionSendStreamDriverAuthMode x509/name $ActionSendStreamDriverPermittedPeer *.mycompany.com $ActionSendStreamDriverMode 1 *.* @@rsyslog_server.mycompany.com:10514 (or ip) 

    Riavviare il syslog

    Per testare i risultati sul server eseguire:

     sudo tcpdump -i eth0 tcp port 10514 -X -s 0 -nn 

    Verifica Selinux, il path dei certs, la data di scadenza dei certs e le autorizzazioni.

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