[PATCH] CA-Bundle Location für cURL

adn77

Neuer User
Mitglied seit
27 Mai 2005
Beiträge
13
Punkte für Reaktionen
2
Punkte
3
Da hier ja weiterhin das inoffizielle Freetz Entwicklerforum zu sein scheint (?!), poste ich mal meinen winzigen Vorschlag.

Auf meienr 7490 war mir aufgefallen, dass cURL keine Zertifikate für verschlüsselte Verbindungen überprüfen konnte. Man kann zwar immer den CA-PATH manuell setzen, aber eleganter wäre doch ein direkter Einbau im Image.

Der Patch setzt den ca-bundle Pfad auf /mod/etc/ssl.

In der rc.custom habe ich dazu folgende Befehle:
Code:
ln -s /var/InternerSpeicher/opt/etc/ssl /mod/etc/ssl
und per cron ein monatliches
Code:
curl -k -s -o /var/InternerSpeicher/opt/etc/ssl/cacert.pem https://curl.haxx.se/ca/cacert.pem
 

Anhänge

  • freetz_curl_ca-bundle.patch.txt
    991 Bytes · Aufrufe: 3
Da muß man dann aber das Verzeichnis sehr gut gegen (fremde/unerwünschte) Schreibzugriffe sichern (praktisch alle NAS-Services könnten dort schreiben in der Standardeinstellung des FRITZ!OS) ... ansonsten kann ein Angreifer da einfach sein eigenes CA-Zertifikat hinterlegen (inkl. Symlink mit dem Hash über's "subject") und alle Programme mit entsprechender Prüfung (nicht nur "curl") würden dann Verbindungen (bzw. Zertifikate) akzeptieren, die mit diesem CA-Zertifikat signiert wurden.

Das Fehlen des CA-Bundle bewirkt halt auch (ohne passende Optionen beim Aufruf von Programmen, die auf OpenSSL aufbauen), daß solche Verbindungen fehlschlagen und man sich so tatsächlich immer beim Aufruf vergegenwärtigen muß, mit welchem TLS-Server man da eigentlich kommuniziert bzw. kommunizieren will.

EDIT: Nein, andere Programme (die wirklich die Chain anhand der Hash-Werte über die "subject"-Lines verifizieren) sind von dieser Änderungen nicht betroffen (anders als oben von mir zu lesen), denn das ist ja nur die Aneinanderreihung der PEM-Files für die Root-CAs von Mozilla. Da muß ich glatt mal in den Quelltext von "curl" schauen, wie dort die Verifikation erfolgt ... ohne die Hash-Links müßte "curl" ja jedes einzelne Root-Zertifikat anschauen und der TLS-Server müßte alle "intermediate certificates" zwischen seinem eigenen und einem dort enthaltenen Root-Zertifikat mit ausliefern bei jedem Verbindungsaufbau. Das ändert natürlich noch nichts daran, daß man bei falsch konfiguriertem Schreibzugriff auf die "cacert.pem" dann einfach eigene Zertifikate dort anhängen könnte.
 
Zuletzt bearbeitet:
Stimmt, aber erstens kann man den Link (und das Bundle) auch auf woanders hinlegen und zweitens sollte man sich schon fragen, ob ein SAMBA auf dem Router so eine schlaue Idee ist...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.