Curl für TLS 1.3 und Paypal und Plesk unter Centos 7

So könnt Ihr Curl auf Centos 7 Betriebssystemen aktualisieren, um die TLS 1.3 Verbindungssicherheit zum Beispiel zu Paypal herzustellen.

Was ist curl?

curl ist ein Befehlszeilenwerkzeug und eine Bibliothek für die Datenübertragung mit URL-Syntax, die HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP und RTMP unterstützt.

libcurl bietet eine Vielzahl leistungsstarker Funktionen. curl wird in der Regel in Befehlszeilen oder Skripten zur Datenübertragung verwendet.

Was ist TLS 1.3?

Mit RFC 8446 wurde die Beschreibung von TLS 1.3 offiziell veröffentlicht. TLS (Transport Layer Security) 1.3 ist nun der offizielle Standard für die Transportverschlüsselung mit ein paar Neuerungen. Der Standard ist leistungsfähiger und sicherer als der Vorgänger 1.2, welcher heute auch noch nicht überall Verwendung findet.

Die in den Betriebssystemen wie Centos 7 vorhandenen Versionen sind meist veraltet und werden nur mit Sicherheitspatches nachgebessert. Die Funktionalität ändert sich dann aber in den seltensten Fällen.

Aus diesem Grund muss man einige wichtige Pakete aus anderen Quellen beziehen, um die neuen Funktionen auch nutzen zu können.

In diesem Beispiel verwenden wir die Paketquelle city-fan für die curl Version.

Welche curl Version habe ich?

Mit dem Befehl curl -v kann man sich die aktuell verwendete Version anzeigen lassen. Bei einer Standard Centos 7 Installation wäre das aktuell die Version 7.29.0.

curl-version-anzeigen
Curl Version von Centos 7 im Oktober 2019

Welche TLS Verbindung nimmt mein Server z.B. zu Paypal auf?

Verbindung überprüfen mit Plesk php 7.3

/opt/plesk/php/7.3/bin/php -r '$curl = curl_init("https://www.howsmyssl.com/a/check"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt ($curl, CURLOPT_SSLVERSION, 6); $answer = curl_exec($curl); curl_close($curl); $j = json_decode($answer); echo $j->tls_version;'

Ausgabe: TLS 1.2

Installation

Zunächst fügen wir das city-fan Repo hinzu, damit die Paketquellen in Abhängigkeit von der bisherigen Installation verwaltet werden können.

rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/rhel7/x86_64/city-fan.org-release-2-1.rhel7.noarch.rpm

rpm-city-fan-curl

Danach aktualisieren wir unsere bisher installieren Pakete.

yum --enablerepo=city-fan.org install libcurl libcurl-devel

Jetzt können wir die Verbindung noch einmal prüfen.

/opt/plesk/php/7.3/bin/php -r '$curl = curl_init("https://www.howsmyssl.com/a/check"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt ($curl, CURLOPT_SSLVERSION, 6); $answer = curl_exec($curl); curl_close($curl); $j = json_decode($answer); echo $j->tls_version;'

Ausgabe: TLS 1.3

plesk-curl-ssl-check-tls13

Bitte jetzt noch die php Dienste neu starten, um die neue Version zu aktivieren.

Nun ist die Installation abgeschlossen und die gesicherte Verbindung z.B. zum Paypal Server über TLS 1.3 kann problemlos erfolgen.

Für automatische Updates kann man nun noch das Repository entsprechend konfigurieren, oder mit yum –enablerepo=city-fan.org update libcurl libcurl-devel eine aktuelle Version prüfen.

In allen Webhosting Tarifen von und sind die Pakete bereits aktiv.