[Postfixbuch-users] SSL-Zertifikate mit Nagios checken

Igor Sverkos igor.sverkos at googlemail.com
Di Mär 5 13:08:19 CET 2013


Hi,

eine Sekunde, ich habe gerade noch einmal das erste Posting gelesen und
bin über

> Hintergrund: das CAcert eines meiner Server war heute abgelaufen, und
> prompt hat jeder User ne Meldung gekriegt. Das will ich künftig vermeiden,
> und also ne Nagios-Überwachung draufsetzen.

gestolpert:

D.h. das Root-CA, von welchem das Server-Zertifikat ausgestellt wurde,
war abgelaufen, ja?

D.h. du musstest auch auf allen Clients, sofern nicht automatisch
geschehen, ein neues Root-Zertifikat ausrollen?

Du willst jetzt zukünftig per Nagios prüfen und warnen, wenn dies
demnächst wieder soweit ist? Das alles via postfix SMTP, der ein
Zertifikat verwendet, was von dem CA den du prüfen willst stammt?

Das klingt mir sehr falsch und wird so nicht gehen.

Erstelle dir dann lieber eine Erinnerung oder lege das Zertifikat
irgendwohin und prüfe es per Cronjob wie gehabt auf das Enddate.


Sollte ich dich falsch verstanden haben:

Andre Tann schrieb:
> Igor Sverkos, Dienstag, 5. März 2013:
> 
>> Aber viele verwenden das auch, um so die Zertifikatskette abzubilden
>> (man bekommt ja heute kein SSL-Zertifikat ohne Zwischenzertifkat mehr).
> 
> ...in meinem Fall ist das so, weil ich selbst die Root-CA bin.

OK, du bist CA. Ich nehme an, es ist keine weitere Zwischen-CA vorhanden.

Stellst du Zertifikate deren Gültigkeit die Gültigkeit der CA
übersteigen aus? Ich hoffe doch nicht.

Somit wüsste ich nicht wie es hier passieren kann, dass das Zertifikat
selber noch gültig ist, dass Root-CA (oder meinetwegen ein
Zwischen-Zertifikat, für das die gleichen Regeln gelten sollte)
abgelaufen sein kann, es hier also zu einem Fehler kommt.


> Hier frage ich mich aber, wie Outlook dazu kommt, auch das smtpd_tls_CAfile
> zu prüfen, was es ja offenbar getan hat, sonst wäre die Fehlermeldung nicht
> hochgepoppt. Wie sieht Outlook dieses Zertifikat überhaupt? Wieso wird
> dieses von Postfix ausgeliefert?

Ich bezweifle, dass Outlook an das CAfile kommt. Mit Client-Zertifikaten
machst du gar nichts, richtig?

Dann prüfe doch einmal mit OpenSSL, welche Zertifikate dir Postfix
präsentiert:

  openssl s_client \
    -CApath /etc/ssl/certs \
    -host smtp.gmail.com \
    -port 587 \
    -starttls smtp \
    -crlf

In dem Falle verbinde ich mich mit dem openssl s_client mit dem
smtp.gmail.com Host. Der Host präsentiert mir zwei Zertifikate:

Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com
   i:/C=US/O=Google Inc/CN=Google Internet Authority
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority

Zertifikat 1 validiere ich gegen -CApath /etc/ssl/certs (da liegen auf
meinem System die CAs).

Bei dir würde ich jetzt erwarten, dass du nur ein Zertifikat lieferst.

Sollte mehr kommen, schauen was in smtpd_tls_cert_file steht. Ob da
wirklich nur ein Zertifikat steht...

Wenn du nichts mit Client-Zertifikaten machst, solltest du eigentlich
smtpd_tls_CAfile auskommentieren können. Das wird nicht benötigt.


> So wie es aussieht prüft das Nagios-Plugin nur, ob das Zertifikat noch
> nicht abgelaufen ist. Es prüft anscheinend nicht die Zertifikatskette bis
> hin zum Root-CA.
> 
> Das Plugin kann das auch gar nicht prüfen, weil es keine Ahnung hat von
> vertrauenswürdigen Root-Zertifikaten hat.

Das Plugin verwendet openssl. Es bittet openssl aber lediglich das
enddate zurückzuliefern.

Es sollte sehr einfach sein auf Basis dieses Plugins ein Plugin zu
schreiben, was das Zertifikat vollständig validiert. Die Frage ist nur,
was du dadurch gewinnst: Sobald irgendetwas nicht mehr validiert, melden
sich ja bereits die User ;-)

Insofern müsste man das Ablaufdatum jedes Zertifikats der Kette prüfen.
Aber auch dadurch gewinnt man kaum etwas, da eine Regel besagt, dass
kein CA Zertifikate mit einer längeren Gültigkeit als die Gültigkeit des
eigentlichen CA-Zertifikats ausgeben darf. Somit bringt die Prüfung nichts.


> Gibts ein Plugin, welches das Serverzertifikat auch inhaltlich checken kann?

Siehe oben, ich kenne direkt keines. Wäre auf der Basis des Plugins aber
kein Problem. Nur was bringt dir so eine automatisch Prüfung? :)


Das Problem ist also ein anderes und sollte nicht mit smtpd_tls_CAfile
zusammenhängen.



-- 
Ich Grüße,
Igor




Mehr Informationen über die Mailingliste Postfixbuch-users