GNU/Linux >> Znalost Linux >  >> Ubuntu

TLS vs SSL:Jaký je rozdíl?

Úvod

TLS (Transport Layer Security) a SSL (Secure Sockets Layer) jsou často zmiňovány, když se mluví o zabezpečení internetu a webových stránek. Aby to bylo pro laiky ještě více matoucí, tyto termíny se často používají zaměnitelně.

Jak ale TLS a SSL ve skutečnosti fungují a existují nějaké rozdíly, o kterých byste si měli být vědomi?

V tomto kurzu vysvětlíme bezpečnostní protokoly TLS a SSL, rozdíly mezi nimi a který z nich byste měli použít.

TLS vs SSL

TLS i SSL fungují jako kryptografické protokoly, které se používají k šifrování dat mezi webovým serverem a uživateli.

Původní verze SSL byla vyvinuta společností Netscape v roce 1994, ale nikdy nebyla oficiálně vydána kvůli snadno zneužitelným bezpečnostním chybám. Upgradovaná verze 2.0 byla vydána v únoru 1995, ale měla sama o sobě vážné nedostatky, které byly opraveny SSL 3.0 až o rok později.

TLS byl koncipován společností Consensus Development jako upgrade SSL 3.0. Byl vydán v roce 1999 a v roce 2006 bude nahrazen TLS 1.1, který přidal ochranu proti CBC (Cipher Block Chaining). V roce 2008 přidal TLS 1.2 další sadu upgradů, přičemž nejnovější verzí je TLS 1.3, vydaná v roce 2018.

I když jsou TLS a SSL v zásadě podobné, vzhledem k tomu, že TLS 1.0 bylo založeno na SSL 3.0, stále existují rozdíly ve způsobu, jakým fungují:

SSL TLS
Cipher Suites Nabízí podporu pro šifrovací sadu Fortezza. Nabízí podporu pro RC4, Triple DES, AES, IDEA.
Výstražné zprávy Výstražná zpráva „Žádný certifikát“. Různé výstražné zprávy v závislosti na situaci.
Protokol záznamu Používá MAC (kód pro ověření zprávy). Používá HMAC (Hash-Based Message Authentication Code).
Proces handshake Výpočet hash zahrnuje hlavní tajný klíč a blok. Haše se počítají přes zprávu handshake.
Ověření zprávy Ad-hoc metoda připojování klíčových detailů a dat aplikace. Připojení klíčových podrobností a dat aplikace prostřednictvím HMAC.

Záležitost podání ruky

„Podání ruky“ označuje část komunikačního procesu mezi webovým serverem a uživatelem, která naváže zabezpečené připojení a určuje, jaký typ šifrování se použije.

Obecně řečeno, proces navázání spojení SSL i TLS probíhá podle následujících kroků:

1.Systém koncového uživatele požaduje zabezpečené připojení a obdrží ze serveru seznam šifrovacích obleků, sad algoritmických nástrojů používaných k šifrování dat. Systém to porovná se svým vlastním seznamem šifrovacích obleků a vybere takový, který může použít on i server.

2. Sever poskytuje digitální certifikát jako doklad totožnosti. Zařízení uživatele obdrží certifikát a potvrdí jeho pravost.

3. Pomocí veřejného klíče serveru se systém koncového uživatele a server dohodnou na klíči relace používají k šifrování dat.

Poznámka: Jak název napovídá, klíč relace se používá pouze pro jednu komunikační relaci. Pokud se spojení mezi uživatelem a serverem z jakéhokoli důvodu přeruší, po obnovení komunikace se vytvoří nový klíč relace.

Při provádění handshake používá SSL k navázání spojení port (ve výchozím nastavení je to port 443). Na druhé straně TLS zahájí první krok handshake (požadující zabezpečené připojení) přes nezabezpečený kanál a přepne na port 443, jakmile handshake začne.

Jak TLS a SSL fungují k zabezpečení dat?

Jak jsme uvedli výše, proces handshake zahrnuje, že server odešle digitální certifikát a veřejný klíč do systému koncového uživatele, aby navázal zabezpečené spojení. Instalace certifikátu SSL/TLS ověřuje webový server a poskytuje veřejné a soukromé klíče, které se používají během handshake.

Bez certifikátu obdrží uživatel, který se pokouší o přístup k webovému serveru, „vaše připojení není soukromé“ chybové hlášení. To signalizuje uživateli, že jeho data mohou být prozrazena a pravděpodobně způsobí, že opustí váš web.

Měli byste používat TLS nebo SSL?

V dnešní době jsou SSL i starší verze TLS považovány za zastaralé. SSL 2.0 a 3.0 byly ukončeny IETF v roce 2015, zatímco TLS 1.0 a 1.1 byly ukončeny počátkem roku 2020 a v současné době jsou odstraňovány z nových verzí prohlížečů.

Při výběru mezi těmito dvěma je TLS jasnou volbou. Neslouží pouze jako upgrade na SSL, ale také funguje mnohem lépe.

Poznámka: Novější verze webových prohlížečů přestaly podporovat SSL a vybízejí vlastníky webových stránek k přechodu na TLS. Google Chrome například začal zobrazovat ERR_SSL_OBSOLETE_VERSION varování na webech, které stále používají SSL.

Jak zkontrolovat, který protokol TLS/SSL je povolen?

Pokud si nejste jisti, zda webový server používá zastaralou verzi TLS/SSL, můžete to rychle zkontrolovat pomocí webového prohlížeče.

V prohlížeči Google Chrome a Microsoft Edge klikněte pravým tlačítkem na prázdnou oblast webové stránky a klikněte na Prozkoumat . V části Kontrola v okně Zabezpečení vyhledejte přehled digitálního certifikátu webu.

V prohlížeči Firefox klikněte pravým tlačítkem na stránku a klikněte na Zobrazit informace o stránce . Podrobnosti o digitálním certifikátu naleznete v části Zabezpečení kartu.

Případně použijte online nástroj pro kontrolu TLS/SSL.

Jak deaktivovat starší verze TLS a SSL?

TLS 1.3 je nejnovější a nejbezpečnější kryptografický protokol používaný k navázání bezpečné komunikace mezi systémem uživatele a webovým serverem. Zastaralé verze TLS a SSL představují bezpečnostní riziko kvůli chybám zabezpečení. Z bezpečnostních důvodů deaktivujte SSL verze 2 a 3 a TLS verze 1.0 a 1.1 na živých serverech.

Jedinými povolenými protokoly na webovém serveru by měly být TLS 1.2 a TLS 1.3.

Postup deaktivace SSL 2.0 nebo 3.0 nebo TLS 1.0 závisí na tom, zda server používá Apache, NGINX nebo Tomcat.

Apache

Chcete-li zakázat SSL 2 a 3 a TLS 1.0 a 1.1 na serveru Apache, postupujte podle následujících kroků.

1. Najděte konfigurační soubor Apache. Výchozí umístění souboru závisí na vašem systému:

  • Na systémech založených na Debian/Ubuntu je výchozí umístění souboru /etc/apache2/apache2.conf
  • Na systémech založených na Debian/Ubuntu konfigurovaných ve virtuálním hostiteli je výchozí umístění souboru /etc/apache2/sites-enabled/
  • V systémech založených na Red Hat/CentOS je výchozí umístění souboru /etc/httpd/conf/httpd.conf
  • Na systémech založených na Red Hat/CentOS konfigurovaných ve virtuálním hostiteli je výchozí umístění souboru /etc/httpd/sites-enabled/

2. Otevřete konfigurační soubor a vyhledejte SSLProtocol vstup.

3. Upravte záznam a deaktivujte SSL 2.0, SSL 3.0, TLS 1.0 a TLS 1.1:

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

4. Restartujte službu Apache, aby se změny projevily:

service apache2 restart

nebo

service httpd restart

Poznámka: V závislosti na konfiguraci vašeho serveru může být nutné provést tyto změny na více místech, nejen ve výchozím konfiguračním souboru.

NGINX

Chcete-li zakázat SSL 2 a 3 a TLS 1.0 a 1.1 na serveru NGINX, postupujte podle následujících kroků.

1. Najděte konfigurační soubor NGINX. Výchozí umístění globálního konfiguračního souboru je /etc/nginx/nginx.conf , ale mohou existovat jednotlivé konfigurace bloků serveru v /etc/nginx/sites-enabled/ .

2. Upravte konfigurační soubor, abyste povolili TLS 1.2:

ssl_protocols TLSv1.2;

3. Restartujte službu NGINX:

service nginx restart

Poznámka: Přečtěte si, jak nainstalovat certifikát SSL na NGINX.

Kocourek

Chcete-li zakázat SSL 2 a 3 a TLS 1.0 a 1.1 na serveru Tomcat, postupujte podle následujících kroků.

1. Najděte konfigurační soubor Tomcat. Výchozí umístění je TOMCAT_HOME/conf/server.xml .

2. Upravte konfigurační soubor, abyste povolili TLS 1.2.

  • Pro Tomcat 5 a 6 (před 6.0.38):
sslProtocols = "TLSv1.2"
  • Pro Tomcat 6 a 7 (6.0.38 nebo novější) upravte následující řádek:
sslEnabledProtocols = "TLSv1.2"

3. Restartujte službu Tomcat, aby se změny projevily.


Ubuntu
  1. Ubuntu Server a Desktop:Jaký je rozdíl?

  2. Jaký je rozdíl mezi úkolovými a normálními metodami?

  3. Rozdíl mezi lokalizací/kde je/který?

  1. Linux vs. Unix:Jaký je rozdíl?

  2. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  3. Cloud Hosting vs. VPS Hosting:Jaký je rozdíl?

  1. Kontejnery vs virtuální stroje (VM):Jaký je rozdíl?

  2. Docker CMD vs. Entrypoint Commands:Jaký je rozdíl?

  3. Rozdíl mezi Lubuntu a Lxde?