Puncte:0

Rsyslog - „Avertisment: certificatul CA nu este setat”, dar redirecționarea TLS încă funcționează

drapel ma

Configurez rsyslog pentru a transmite prin TCP/TLS. Eram curios de ce, spre deosebire de HTTPS, a trebuit să adaug certificatul la clientul meu, așa că am fost împotriva README și am comentat configurația cert, lăsându-mă cu asta:

# global(DefaultNetstreamDriverCAFile="/etc/ssl/cert.pem")

set de reguli(name="fluentd") {
        acțiune(
                tip="omfwd"
                target="<domeniul meu>"
                port="24224"
                protocol="tcp"
                StreamDriver="gtls"
                StreamDriverMode="1"
                StreamDriverAuthMode="anon"
)
}

Acum, primesc un Avertisment: certificatul CA nu este setat [v8.2001.0 încercați https://www.rsyslog.com/e/2329] în jurnalele rsyslog, totuși mesajele de jurnal sunt încă redirecționate cu succes către instanța mea fluentd, care utilizează TLS.

De ce asta? Este chiar necesar certificatul?

Binky avatar
drapel de
Dacă doriți un răspuns concret, va trebui să furnizați mai multe informații. Vă sugerez să furnizați rezultatul `lsb_release -a` și să lipiți blob-ul PEM al certificatului de server (nu cheia privată) care rulează instanța dvs. fluentd.
drapel ma
@Binky Mi-am șters toate artefactele din această rulare de probă, dar o explicație a caracteristicilor certificatului meu de distribuție și/sau server ar fi relevantă și de ce ar fi de mare ajutor.
Puncte:1
drapel de

După comentariul tău, răspund în general, deoarece nu putem discuta detalii specifice din instalarea reală.

Când un program bazat pe Linux, cum ar fi rsyslog, utilizează TLS, programul este de obicei construit cu (legat la) o bibliotecă TLS standard, cum ar fi OpenSSL sau GnuTLS. Aceste biblioteci accesează un depozit de certificate (un fișier, un director de fișiere sau o bază de date), localizează certificatele adecvate în magazin, construiesc un lanț de certificate și efectuează verificarea certificatului de server (cu ajutorul bibliotecilor criptografice și altor biblioteci subiacente).

O afirmație precum DefaultNetstreamDriverCAFile="/etc/ssl/cert.pem" transmite calea depozitului de certificate (fișier) dorit către acea bibliotecă TLS (un sistem poate avea mai multe depozite de certificate).Deci, atunci când nu aveți acea linie comentată, rsyslog îi spune bibliotecii TLS să folosească acel fișier text, care conține unul sau mai multe certificate formatate PEM.

Dacă comentați acea linie, atunci ceea ce se întâmplă depinde de biblioteca TLS de bază. Dacă biblioteca a fost construită cu un depozit de certificate implicit, atunci biblioteca poate efectua în continuare negocierea TLS. De exemplu, pe cutia mea Ubuntu 20, un program care folosește biblioteca GnuTLS ar fi legat la /usr/lib/x86_68-linux-gnu/libgnutls.so. Fișierul bibliotecii de obiecte partajate a fost compilat cu o cale implicită a depozitului de certificate /etc/ssl/certs/ca-certificates.crt -- un depozit de certificate de fișiere text care este o locație standard pentru un sistem de operare Ubuntu. Puteți vedea această cale codificată dacă rulați comanda:

șiruri de caractere /usr/lib/x86_68-linux-gnu/libgnutls.so | certificate grep.

Deci, dacă ar fi să rulez rsyslog conectat la GnuTLS cu aceeași linie DefaultNetstreamDriverCAFile comentată, ar fi folosită calea codificată greu către depozitul de certificate, iar rsyslog ar putea finaliza negocierile TLS.

Acesta este probabil ceea ce s-a întâmplat pe sistemul dvs. și de ce mesajul pe care l-ați văzut a fost doar de nivel „avertisment”. Programul rsyslog nu știe dacă biblioteca TLS de bază are o valoare implicită, așa că rsyslog a fost scris pentru a vă avertiza și continua. Dacă nici un depozit de certificate nu este disponibil pentru biblioteca TLS subiacentă, atunci acel cod va returna un mesaj de eroare fatal la rsyslog, iar rsyslog va transmite/înregistra mesajul către utilizator.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.