GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

TLS vs. SSL:Was ist der Unterschied?

Einführung

TLS (Transport Layer Security) und SSL (Secure Sockets Layer) werden oft erwähnt, wenn es um Internet- und Website-Sicherheit geht. Um die Sache für den Laien noch verwirrender zu machen, werden diese Begriffe oft synonym verwendet.

Aber wie funktionieren TLS und SSL eigentlich, und gibt es Unterschiede, die Sie beachten sollten?

In diesem Tutorial erklären wir die TLS- und SSL-Sicherheitsprotokolle, die Unterschiede zwischen ihnen und welches Sie verwenden sollten.

TLS vs. SSL

Sowohl TLS als auch SSL funktionieren als kryptografische Protokolle, die verwendet werden, um Daten zwischen einem Webserver und Benutzern zu verschlüsseln.

Die ursprüngliche Version von SSL wurde 1994 von Netscape entwickelt, aber wegen leicht ausnutzbarer Sicherheitslücken nie offiziell freigegeben. Eine aktualisierte Version 2.0 wurde im Februar 1995 veröffentlicht, aber sie hatte selbst schwerwiegende Fehler, die erst ein Jahr später von SSL 3.0 gepatcht wurden.

TLS wurde von Consensus Development als Upgrade von SSL 3.0 konzipiert. Es wurde 1999 veröffentlicht und 2006 durch TLS 1.1 ersetzt, das zusätzlichen Schutz gegen CBC (Cipher Block Chaining) bot. Im Jahr 2008 fügte TLS 1.2 eine weitere Reihe von Upgrades hinzu, wobei die neueste Version TLS 1.3 war, die 2018 veröffentlicht wurde.

Obwohl TLS und SSL grundsätzlich ähnlich sind, gibt es dennoch Unterschiede in ihrer Funktionsweise, wenn man bedenkt, dass TLS 1.0 auf SSL 3.0 basierte:

SSL TLS
Cipher Suites Bietet Unterstützung für die Fortezza Cipher Suite. Bietet Unterstützung für RC4, Triple DES, AES, IDEA.
Warnmeldungen Warnmeldung „Kein Zertifikat“. Unterschiedliche Warnmeldungen je nach Situation.
Aufzeichnungsprotokoll Verwendet MAC (Message Authentication Code). Verwendet HMAC (Hash-Based Message Authentication Code).
Handshake-Prozess Die Hash-Berechnung umfasst das Hauptgeheimnis und das Pad. Hashes werden über die Handshake-Nachricht berechnet.
Nachrichtenauthentifizierung Ad-hoc-Methode zur Verknüpfung von Schlüsseldetails und Anwendungsdaten. Angrenzende Schlüsseldetails und Anwendungsdaten über HMAC.

Eine Frage des Händedrucks

Ein „Handshake“ bezieht sich auf den Teil des Kommunikationsprozesses zwischen einem Webserver und einem Benutzer, der eine sichere Verbindung aufbaut und bestimmt, welche Art von Verschlüsselung verwendet wird.

Im Allgemeinen folgen sowohl der SSL- als auch der TLS-Handshake-Prozess diesen Schritten:

1. Das System des Endbenutzers fordert eine sichere Verbindung an und empfängt vom Server eine Liste von Chiffrieranzügen, algorithmischen Toolkits, die zum Verschlüsseln von Daten verwendet werden. Das System vergleicht dies mit seiner eigenen Liste von Verschlüsselungsanzügen und wählt einen aus, den sowohl es als auch der Server verwenden können.

2. Der Server stellt ein digitales Zertifikat bereit als Identitätsnachweis. Das Gerät des Benutzers empfängt das Zertifikat und bestätigt dessen Authentizität.

3. Unter Verwendung des öffentlichen Schlüssels des Servers einigen sich das System des Endbenutzers und der Server auf einen Sitzungsschlüssel sie verwenden, um Daten zu verschlüsseln.

Hinweis: Wie der Name schon sagt, wird ein Sitzungsschlüssel nur für eine einzige Kommunikationssitzung verwendet. Wenn die Verbindung zwischen dem Benutzer und dem Server aus irgendeinem Grund unterbrochen wird, wird ein neuer Sitzungsschlüssel erstellt, sobald die Kommunikation wiederhergestellt ist.

Beim Durchführen eines Handshakes verwendet SSL einen Port zum Herstellen der Verbindung (standardmäßig ist dies Port 443). TLS hingegen beginnt den ersten Schritt des Handshakes (Anforderung einer sicheren Verbindung) über einen ungesicherten Kanal und wechselt zu Port 443, sobald der Handshake beginnt.

Wie sichern TLS und SSL Daten?

Wie oben besprochen, sendet der Server beim Handshake-Prozess ein digitales Zertifikat und einen öffentlichen Schlüssel an das System des Endbenutzers, um eine sichere Verbindung herzustellen. Die Installation eines SSL-Zertifikats/TLS-Zertifikats authentifiziert den Webserver und stellt öffentliche und private Schlüssel bereit, die während des Handshakes verwendet werden.

Ohne Zertifikat erhält ein Benutzer, der versucht, auf den Webserver zuzugreifen, die Meldung „Ihre Verbindung ist nicht privat“ Fehlermeldung. Dies signalisiert dem Benutzer, dass seine Daten möglicherweise offengelegt werden, und veranlasst ihn wahrscheinlich, Ihre Website zu verlassen.

Sollten Sie TLS oder SSL verwenden?

Heutzutage gelten sowohl SSL als auch frühere Versionen von TLS als veraltet. SSL 2.0 und 3.0 wurden 2015 von der IETF eingestellt, während TLS 1.0 und 1.1 Anfang 2020 eingestellt wurden und derzeit aus neuen Browserversionen entfernt werden.

Bei der Wahl zwischen den beiden ist TLS die offensichtliche Wahl. Es dient nicht nur als Upgrade auf SSL, sondern ist auch viel leistungsfähiger.

Hinweis: Neuere Versionen von Webbrowsern unterstützen SSL nicht mehr und ermutigen Website-Eigentümer, auf TLS umzusteigen. Beispielsweise begann Google Chrome mit der Anzeige der ERR_SSL_OBSOLETE_VERSION Warnung auf Websites, die noch SSL verwenden.

Wie überprüfe ich, welches TLS/SSL-Protokoll aktiviert ist?

Wenn Sie sich nicht sicher sind, ob ein Webserver eine veraltete TLS/SSL-Version verwendet, können Sie dies schnell mit einem Webbrowser überprüfen.

Rechtsklick in Google Chrome und Microsoft Edge in einem leeren Bereich einer Webseite und klicken Sie auf Inspizieren . Im Inspizieren Fenster unter Sicherheit finden Sie eine Übersicht über das digitale Zertifikat der Website.

Klicken Sie in Firefox mit der rechten Maustaste auf die Seite und klicken Sie auf Seiteninformationen anzeigen . Die Details des digitalen Zertifikats finden Sie unter Sicherheit Registerkarte.

Alternativ können Sie ein Online-TLS/SSL-Prüftool verwenden.

Wie deaktiviere ich ältere Versionen von TLS und SSL?

TLS 1.3 ist das neueste und sicherste kryptografische Protokoll, das verwendet wird, um eine sichere Kommunikation zwischen dem System eines Benutzers und einem Webserver herzustellen. Veraltete Versionen von TLS und SSL stellen aufgrund von Sicherheitslücken ein Sicherheitsrisiko dar. Deaktivieren Sie aus Sicherheitsgründen die SSL-Versionen 2 und 3 sowie die TLS-Versionen 1.0 und 1.1 auf Live-Servern.

Die einzigen zulässigen Protokolle auf einem Webserver sollten TLS 1.2 und TLS 1.3 sein.

Die Schritte zum Deaktivieren von SSL 2.0 oder 3.0 oder TLS 1.0 hängen davon ab, ob der Server Apache, NGINX oder Tomcat verwendet.

Apache

Führen Sie die folgenden Schritte aus, um SSL 2 und 3 sowie TLS 1.0 und 1.1 auf einem Apache-Server zu deaktivieren.

1. Suchen Sie die Apache-Konfigurationsdatei. Der standardmäßige Dateispeicherort hängt von Ihrem System ab:

  • Auf Debian/Ubuntu-basierten Systemen ist der Standardspeicherort /etc/apache2/apache2.conf
  • Auf Debian/Ubuntu-basierten Systemen, die in einem virtuellen Host konfiguriert sind, ist der Standardspeicherort /etc/apache2/sites-enabled/
  • Auf Red Hat/CentOS-basierten Systemen ist der Standardspeicherort /etc/httpd/conf/httpd.conf
  • Auf Red Hat/CentOS-basierten Systemen, die in einem virtuellen Host konfiguriert sind, ist der Standarddateispeicherort /etc/httpd/sites-enabled/

2. Öffnen Sie die Konfigurationsdatei und suchen Sie das SSLProtocol Eintrag.

3. Bearbeiten Sie den Eintrag, um SSL 2.0, SSL 3.0, TLS 1.0 und TLS 1.1 zu deaktivieren:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

4. Starten Sie den Apache-Dienst neu, damit die Änderungen wirksam werden:

service apache2 restart

oder

service httpd restart

Hinweis: Abhängig von Ihrer Serverkonfiguration müssen Sie diese Änderungen möglicherweise an mehreren Stellen vornehmen, nicht nur in der Standardkonfigurationsdatei.

NGINX

Führen Sie die folgenden Schritte aus, um SSL 2 und 3 sowie TLS 1.0 und 1.1 auf einem NGINX-Server zu deaktivieren.

1. Suchen Sie die NGINX-Konfigurationsdatei. Der Standardspeicherort der globalen Konfigurationsdatei ist /etc/nginx/nginx.conf , aber es kann einzelne Serverblockkonfigurationen in /etc/nginx/sites-enabled/ geben .

2. Bearbeiten Sie die Konfigurationsdatei, um TLS 1.2 zu aktivieren:

ssl_protocols TLSv1.2;

3. Starten Sie den NGINX-Dienst neu:

service nginx restart

Hinweis: Erfahren Sie, wie Sie ein SSL-Zertifikat auf NGINX installieren.

Kater

Führen Sie die folgenden Schritte aus, um SSL 2 und 3 sowie TLS 1.0 und 1.1 auf einem Tomcat-Server zu deaktivieren.

1. Suchen Sie die Tomcat-Konfigurationsdatei. Der Standardspeicherort ist TOMCAT_HOME/conf/server.xml .

2. Bearbeiten Sie die Konfigurationsdatei, um TLS 1.2 zu aktivieren.

  • Für Tomcat 5 und 6 (vor 6.0.38):
sslProtocols = "TLSv1.2"
  • Bearbeiten Sie für Tomcat 6 und 7 (6.0.38 oder neuer) die folgende Zeile:
sslEnabledProtocols = "TLSv1.2"

3. Starten Sie den Tomcat-Dienst neu, damit die Änderungen wirksam werden.


Ubuntu
  1. Linux vs. Unix:Was ist der Unterschied?

  2. Ubuntu Server vs. Desktop:Was ist der Unterschied?

  3. Der Unterschied zwischen lokalisieren/wo ist/was?

  4. Der Unterschied zwischen Lubuntu und Lxde?

  5. Cloud-Hosting vs. VPS-Hosting:Was ist der Unterschied?

RPM vs. YUM:Lernen Sie den Unterschied kennen

VPN vs. VDI:Was ist der Unterschied?

Failover vs. Failback:Was ist der Unterschied?

Ubuntu-Varianten:Was ist der Unterschied?

So überprüfen Sie das SSL-Ablaufdatum auf Plesk

Was ist der Unterschied zwischen einer Konsole, einem Terminal und einer Shell?