Co to jest StartTLS?
Opublikowany: 2020-03-21Czy zastanawiałeś się kiedyś, w jaki sposób poczta e-mail jest bezpiecznie przesyłana z jednego serwera na drugi? Używając Simple Mail Transfer Protocol (SMTP) do wysyłania poczty, polegamy na połączeniu StartTLS i Transport Layer Security (TLS) lub Secure Sockets Layer (SSL), aby zaszyfrować naszą pocztę i pomóc jej bezpiecznie trafić do skrzynki odbiorczej.
Ale czym jest StartTLS?
StartTLS to polecenie protokołu używane do informowania serwera poczty e-mail, że klient poczty e-mail chce uaktualnić połączenie z niezabezpieczonego do bezpiecznego przy użyciu protokołu TLS lub SSL. StartTLS jest używany z SMTP i IMAP, podczas gdy POP3 używa nieco innego polecenia do szyfrowania, STLS.
Zagłębimy się w różnice między TLS i SSL, proces StartTLS i sposób testowania StartTLS dla Twojego programu.
Jak działa StartTLS?
TLS a SSL
Mimo że „TLS” jest w jego nazwie, StartTLS działa z obydwoma protokołami szyfrowania, TLS i SSL.
Chociaż StartTLS działa z obydwoma protokołami, zalecamy używanie TLS przez SSL. SSL jest starszym protokołem i nie jest tak bezpieczny jak jego następca, TLS. SSLv2 i SSLv3 są przestarzałe.
Dla porównania, oto lista protokołów SSL i TLS od najstarszego do najnowszego:
SSLv2, SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3
Zarówno klient poczty e-mail, jak i serwer poczty e-mail muszą uzgodnić, jakiego połączenia użyć. Klient poczty e-mail może obsługiwać TLSv1.3, ale serwer poczty e-mail może obsługiwać tylko do TLSv1.2. Oznacza to, że obie strony będą musiały użyć protokołu TLSv1.2, aby kontynuować szyfrowanie.
Więcej informacji na temat TLS i SSL znajdziesz na naszej stronie z dokumentami .
Proces StartTLS
SMTP zawsze uruchamia się w postaci niezaszyfrowanej. Polecenie StartTLS rozpoczyna negocjacje między serwerem a klientem. Oto zarys komunikacji między klientem poczty e-mail a serwerem poczty e-mail.
- Proces rozpoczyna się od uzgadniania protokołu TCP (Transmission Control Protocol), aby pomóc zarówno klientowi poczty e-mail, jak i serwerowi zidentyfikować się nawzajem.
- Serwer identyfikuje się z 220 Ready, że klient poczty e-mail może kontynuować komunikację.
- Klient wysyła do serwera „EHLO”, aby poinformować serwer, że klient chciałby korzystać z Extended SMTP (bardziej zaawansowana wersja SMTP, która umożliwia dołączanie obrazów, załączników itp.).
- Klient wysyła „250-STARTTLS” do serwera pocztowego, aby zapytać, czy StartTLS jest akceptowany.
- Jeśli serwer odeśle „go head”, można utworzyć połączenie StartTLS.
- Klient ponownie uruchamia połączenie, a wiadomość e-mail została zaszyfrowana.
Oto wizualna reprezentacja procesu StartTLS.
Którego portu powinieneś użyć?
Portem, który najczęściej używa StartTLS, jest port 587. Często wymaga on od klientów poczty, aby używali StartTLS do wysyłania poczty. Inne porty używane do wysyłania zaszyfrowanej poczty to 25, 465 i 2525. Ponieważ port 25 został zaprojektowany do przesyłania poczty, a nie wysyłania, Twój dostawca usług internetowych może blokować wiadomości e-mail wysyłane przez ten port. Port 465 jest drugim najczęściej używanym portem dla StartTLS.
Oportunistyczny a wymuszony TLS
Istnieje kilka różnych sposobów konfiguracji programu do szyfrowania poczty e-mail przy użyciu oportunistycznego TLS lub wymuszonego TLS:
Oportunistyczny TLS (lub Explicit TLS) umożliwia klientowi poczty e-mail dostarczanie na najwyższym poziomie szyfrowania akceptowanym przez serwer odbiorcy. Jeśli serwer odbiorcy nie akceptuje protokołu TLS, klient poczty e-mail będzie negocjował z serwerem i zgodzi się na przejście na nieszyfrowane połączenie. Wiadomość zostanie następnie wysłana w postaci niezaszyfrowanej, zwykłego tekstu. Ta metoda jest przydatna, ponieważ tego samego portu można używać zarówno do poczty zaszyfrowanej, jak i poczty tekstowej.
Wymuszony TLS (lub niejawny TLS) wymaga, aby poczta była wysyłana przez bezpieczne połączenie. Jeśli połączenie nie jest szyfrowane, wysyłanie poczty zostanie zablokowane. Ta metoda jest znacznie bezpieczniejsza niż oportunistyczny TLS, ale prowadzi do odrzucania większej liczby poczty.
Oba podejścia są szeroko stosowane w świecie poczty e-mail, więc zastanów się, co jest najbardziej sensowne dla Twojego programu. Jeśli wysyłasz wiadomość e-mail zawierającą poufne dane osobowe, najlepiej będzie użyć wymuszonego protokołu TLS. Z drugiej strony, jeśli wysyłasz materiały niewrażliwe, takie jak materiały marketingowe lub promocje, możesz być bardziej skłonny do korzystania z oportunistycznego TLS.
Inne przypadki użycia TLS
TLS jest często używany do szyfrowania różnych metod komunikacji poza pocztą e-mail. Ponieważ TLS jest stosunkowo prostym, wieloetapowym protokołem, ułatwia dostosowanie do różnych typów komunikacji. Obejmuje to przeglądarki internetowe, SMS-y i Voice over IP. W rzeczywistości wiele firm używa TLS do szyfrowania całej komunikacji między ich serwerami internetowymi a przeglądarkami, nawet jeśli większość komunikacji nie dotyczy materiałów wrażliwych.
Aby uzyskać więcej informacji o tym, jak Twilio korzysta z protokołu TLS, zapoznaj się ze stroną zabezpieczeń Twilio .
Dlaczego StartTLS jest ważny?
SMTP nie jest domyślnie zabezpieczony, co oznacza, że jeśli wyślesz e-mail przez SMTP bez StartTLS, wiadomość e-mail może zostać przechwycona i łatwo zinterpretowana. Jest to szczególnie niepokojące w przypadku wysyłania poufnych danych osobowych, takich jak nazwy użytkownika, hasła lub informacje bankowe.
Bez StartTLS Twoje dane osobowe są zagrożone kradzieżą.
Gdy klient poczty e-mail używa StartTLS, informuje serwer, że zawartość musi być zaszyfrowana. W ten sposób, jeśli poczta zostanie przechwycona, treść została zaszyfrowana i bardzo trudno ją odszyfrować. Tylko serwer i klient poczty e-mail posiadają klucz do dekodowania wiadomości.
Wady
Istnieją pewne wady korzystania z StartTLS. Klienty poczty e-mail są podatne na ataki typu man-in-the-middle, ponieważ w początkowym połączeniu między klientem poczty e-mail a serwerem adresy IP nie są szyfrowane.
Używanie StartTLS może również zwiększyć opóźnienie połączenia SMTP. Nie wystarczyłoby to opóźnienia, aby konieczne było wysyłanie niezaszyfrowanej wiadomości e-mail, ale warto o tym pamiętać.
Jak przetestować StartTLS?
Ważne jest, aby przetestować z wyprzedzeniem, aby upewnić się, że serwer jest w stanie przetwarzać StartTLS. Jeśli nie jest w stanie przetworzyć StartTLS, możesz przypadkowo wysłać dużą ilość wiadomości e-mail, które nie są zaszyfrowane i dlatego są podatne na wektory ataków.
Oto przykład, w jaki sposób można przetestować StartTLS z serwera SMTP SendGrid.
W jaki sposób Twilio SendGrid używa StartTLS?
Twilio SendGrid obsługuje protokół TLS w wersji 1.1 i nowszej. Połączenia nieszyfrowane i TLS są akceptowane na portach 25, 587 i 2525. Możesz też połączyć się przez SSL na porcie 465.
Stosujemy Oportunistic TLS i wysyłamy na najwyższym poziomie szyfrowania akceptowanym przez serwer odbiorcy. Oferujemy również Enforced TLS . Od Ciebie zależy, czy chcesz, aby wiadomość e-mail była wysyłana przez szyfrowane połączenie. Jeśli serwer odbiorcy nie akceptuje zaszyfrowanych wiadomości, wiadomość jest odrzucana i wysyłamy zdarzenie blokujące.
Podczas inicjowania żądania SMTP do Twilio SendGrid, prosząc o wysłanie poczty, będziesz głównie współdziałać z StartTLS. W przeciwnym razie Twilio SendGrid obsługuje dopasowywanie certyfikatów TLS, resztę procesu szyfrowania i wszelkie problemy, które mogą pojawić się po drodze.
Aby uzyskać więcej informacji na temat Twilio SendGrid i SMTP, przejdź do naszego artykułu w dokumentach Jak wysłać wiadomość e-mail SMTP .