Что такое StartTLS?
Опубликовано: 2020-03-21Вы когда-нибудь задумывались, как безопасно пересылается электронная почта с одного сервера на другой? При использовании Simple Mail Transfer Protocol (SMTP) для отправки почты мы полагаемся на комбинацию StartTLS и Transport Layer Security (TLS) или Secure Sockets Layer (SSL) для шифрования нашей почты и обеспечения ее безопасной доставки в папку «Входящие».
Но что такое StartTLS?
StartTLS — это команда протокола, используемая для информирования почтового сервера о том, что почтовый клиент хочет перейти с небезопасного соединения на безопасное с использованием TLS или SSL. StartTLS используется с SMTP и IMAP, тогда как POP3 использует немного другую команду для шифрования, STLS.
Мы рассмотрим различия между TLS и SSL, процесс StartTLS и способы тестирования StartTLS для вашей программы.
Как работает StartTLS?
TLS против SSL
Несмотря на то, что в его названии есть «TLS», StartTLS работает с обоими протоколами шифрования, TLS и SSL.
Хотя StartTLS работает с обоими протоколами, мы рекомендуем использовать TLS через SSL. SSL является более старым протоколом и не так безопасен, как его преемник, TLS. SSLv2 и SSLv3 устарели.
Для справки, вот список протоколов SSL и TLS от самых старых до самых новых:
SSLv2, SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3
И клиент электронной почты, и сервер электронной почты должны договориться о том, какое соединение использовать. Почтовый клиент может поддерживать TLSv1.3, но почтовый сервер может поддерживать только TLSv1.2. Это означает, что обе стороны должны будут использовать TLSv1.2 для продолжения шифрования.
Для получения дополнительной информации о TLS и SSL посетите нашу страницу документации .
Процесс StartTLS
SMTP всегда запускается незашифрованным. Команда StartTLS запускает согласование между сервером и клиентом. Вот схема связи, которая происходит между почтовым клиентом и почтовым сервером.
- Процесс начинается с рукопожатия протокола управления передачей (TCP), чтобы помочь как почтовому клиенту, так и серверу идентифицировать друг друга.
- Сервер идентифицирует с помощью 220 Ready, что клиент электронной почты может продолжить связь.
- Клиент отправляет серверу «EHLO», чтобы сообщить серверу, что клиент хотел бы использовать расширенный SMTP (более продвинутая версия SMTP, позволяющая включать изображения, вложения и т. д.).
- Клиент отправляет «250-STARTTLS» на почтовый сервер, чтобы узнать, принят ли StartTLS.
- Если сервер отправляет ответ «вперед», может быть создано соединение StartTLS.
- Клиент перезапускает соединение, и сообщение электронной почты зашифровано.
Вот визуальное представление процесса StartTLS.
Какой порт следует использовать?
Порт, который чаще всего использует StartTLS, — это порт 587. Для отправки почты часто требуется, чтобы почтовые клиенты использовали StartTLS. Другие порты, используемые для отправки зашифрованной почты, — это 25, 465 и 2525. Поскольку порт 25 предназначен для передачи почты, а не отправки, ваш интернет-провайдер может заблокировать электронную почту, отправляемую через этот порт. Порт 465 является вторым наиболее часто используемым портом для StartTLS.
Оппортунистический и принудительный TLS
Существует несколько различных способов настроить программу шифрования электронной почты с помощью Opportunistic TLS или Enforced TLS:
Opportunistic TLS (или Explicit TLS) позволяет почтовому клиенту использовать самый высокий уровень шифрования, который принимает сервер-получатель. Если сервер-получатель не принимает TLS, почтовый клиент согласует с сервером переход на незашифрованное соединение. Затем сообщение будет отправлено в незашифрованном текстовом виде. Этот метод удобен тем, что вы можете использовать один и тот же порт как для зашифрованной, так и для обычной текстовой почты.
Принудительный TLS (или неявный TLS) требует, чтобы почта отправлялась через безопасное соединение. Если соединение не зашифровано, отправка почты будет заблокирована. Этот метод гораздо более безопасен, чем Opportunistic TLS, но приводит к удалению большего количества почты.
Оба подхода широко используются в мире электронной почты, поэтому подумайте, какой из них лучше всего подходит для вашей программы. Если вы отправляете электронную почту, содержащую конфиденциальную личную информацию, лучше всего использовать принудительный TLS. С другой стороны, если вы отправляете неконфиденциальные материалы, такие как маркетинговые или рекламные акции, вы можете быть более склонны использовать Opportunistic TLS.
Другие варианты использования TLS
TLS часто используется для шифрования различных способов связи за пределами электронной почты. Поскольку TLS — это относительно простой многоэтапный протокол, его легко адаптировать к различным типам связи. Это включает в себя веб-браузеры, SMS и передачу голоса по IP. Фактически, многие компании используют TLS для шифрования всего обмена данными между их веб-серверами и браузерами, даже если большая часть обмена данными не является конфиденциальным материалом.
Для получения дополнительной информации о том, как Twilio использует TLS, посетите страницу безопасности Twilio .
Почему StartTLS важен?
SMTP по умолчанию не защищен, а это означает, что если вы отправляете электронную почту по SMTP без StartTLS, электронная почта может быть перехвачена и легко интерпретирована. Это особенно беспокоит при отправке конфиденциальной личной информации, такой как имена пользователей, пароли или банковская информация.
Без StartTLS ваша личная информация может быть украдена.
Когда почтовый клиент использует StartTLS, он сообщает серверу, что содержимое должно быть зашифровано. Таким образом, если почта будет перехвачена, содержимое будет зашифровано, и его будет очень сложно расшифровать. Почтовый сервер и почтовый клиент — единственные, у кого есть ключ для декодирования сообщения.
Недостатки
Есть определенные недостатки в использовании StartTLS. Почтовые клиенты подвержены атакам «человек посередине», потому что при первоначальном соединении между почтовым клиентом и сервером IP-адреса не шифруются.
Использование StartTLS также может увеличить задержку SMTP-соединения. Этой задержки недостаточно для отправки незашифрованной электронной почты, но об этом следует помнить.
Как протестировать StartTLS?
Важно заранее протестировать, чтобы убедиться, что сервер способен обрабатывать StartTLS. Если он не способен обрабатывать StartTLS, вы можете случайно отправить изрядное количество сообщений электронной почты, которые не зашифрованы и, следовательно, уязвимы для векторов атак.
Вот пример того, как можно протестировать StartTLS с SMTP-сервера SendGrid.
Как Twilio SendGrid использует StartTLS?
Twilio SendGrid поддерживает TLS версии 1.1 и выше. Незашифрованные и TLS-соединения принимаются через порты 25, 587 и 2525. Или вы можете подключиться через SSL к порту 465.
Мы следуем Opportunistic TLS и отправляем на самом высоком уровне шифрования, который принимает сервер-получатель. Мы также предлагаем принудительный TLS . Это ваш выбор, хотите ли вы, чтобы ваша электронная почта отправлялась по зашифрованному соединению. Если сервер-получатель не принимает зашифрованные сообщения, сообщение отбрасывается, и мы отправляем событие блокировки.
В основном вы будете взаимодействовать с StartTLS при инициировании SMTP-запроса к Twilio SendGrid с запросом на отправку почты. В противном случае Twilio SendGrid обрабатывает сопоставление сертификатов TLS, остальную часть процесса шифрования и любые проблемы, которые могут возникнуть на этом пути.
Для получения дополнительной информации о Twilio SendGrid и SMTP перейдите к нашей статье документации Как отправить электронное письмо SMTP .