Apa itu StartTLS?
Diterbitkan: 2020-03-21Pernah bertanya-tanya bagaimana email dikirim dengan aman dari satu server ke server lain? Saat menggunakan Simple Mail Transfer Protocol (SMTP) untuk mengirim email, kami mengandalkan kombinasi StartTLS dan Transport Layer Security (TLS) atau Secure Sockets Layer (SSL) untuk mengenkripsi email kami dan membantunya mendarat dengan aman di kotak masuk.
Tapi apa itu StartTLS?
StartTLS adalah perintah protokol yang digunakan untuk menginformasikan server email bahwa klien email ingin meningkatkan dari koneksi tidak aman ke koneksi aman menggunakan TLS atau SSL. StartTLS digunakan dengan SMTP dan IMAP, sedangkan POP3 menggunakan perintah yang sedikit berbeda untuk enkripsi, STLS.
Kami akan menggali perbedaan antara TLS dan SSL, proses StartTLS, dan cara menguji StartTLS untuk program Anda.
Bagaimana cara kerja StartTLS?
TLS vs. SSL
Meskipun "TLS" adalah namanya, StartTLS bekerja dengan kedua protokol enkripsi, TLS dan SSL.
Sementara StartTLS bekerja dengan kedua protokol, kami menyarankan untuk menggunakan TLS melalui SSL. SSL adalah protokol yang lebih tua dan tidak seaman penerusnya, TLS. SSLv2 dan SSLv3 keduanya tidak digunakan lagi.
Untuk referensi, berikut adalah daftar protokol SSL dan TLS dari yang terlama hingga yang terbaru:
SSLv2, SSLv3, TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3
Baik klien email dan server email harus menyetujui koneksi apa yang akan digunakan. Klien email mungkin mendukung TLSv1.3, tetapi server email mungkin hanya mendukung hingga TLSv1.2. Ini berarti bahwa kedua belah pihak harus menggunakan TLSv1.2 untuk melanjutkan enkripsi.
Untuk informasi lebih lanjut tentang TLS vs. SSL, lihat halaman dokumen kami .
Proses StartTLS
SMTP selalu dimulai tidak terenkripsi. Perintah StartTLS memulai negosiasi antara server dan klien. Berikut adalah garis besar komunikasi yang terjadi antara klien email dan server email.
- Prosesnya dimulai dengan jabat tangan Transmission Control Protocol (TCP) untuk membantu klien email dan server mengidentifikasi satu sama lain.
- Server mengidentifikasi dengan 220 Ready bahwa klien email dapat melanjutkan komunikasi.
- Klien mengirimkan server "EHLO" untuk memberi tahu server bahwa klien ingin menggunakan Extended SMTP (versi SMTP yang lebih canggih yang memungkinkan Anda menyertakan gambar, lampiran, dll.).
- Klien mengirimkan “250-STARTTLS” ke server email untuk menanyakan apakah StartTLS diterima atau tidak.
- Jika server mengirim kembali "go head", koneksi StartTLS dapat dibuat.
- Klien memulai ulang koneksi dan pesan email telah dienkripsi.
Berikut adalah representasi visual dari proses StartTLS.
Port mana yang harus Anda gunakan?
Port yang paling sering menggunakan StartTLS adalah port 587. Port ini sering kali mengharuskan klien email menggunakan StartTLS untuk mengirim email. Port lain yang digunakan untuk mengirim email terenkripsi adalah 25, 465, dan 2525. Karena port 25 dirancang untuk transfer email, bukan pengiriman, ISP Anda dapat memblokir email yang dikirim melalui port ini. Port 465 adalah port kedua yang paling umum digunakan untuk StartTLS.
Oportunistik vs. TLS yang Dipaksa
Ada beberapa cara berbeda untuk menyiapkan program enkripsi email Anda dengan menggunakan TLS Oportunistik atau TLS yang Diberdayakan:
TLS oportunistik (atau TLS Eksplisit) memungkinkan klien email mengirimkan pada tingkat enkripsi tertinggi yang diterima server penerima. Jika server penerima tidak menerima TLS, klien email akan bernegosiasi dengan server dan setuju untuk menurunkan versi ke koneksi yang tidak terenkripsi. Pesan kemudian akan dikirim dalam bentuk teks biasa yang tidak terenkripsi. Metode ini berguna karena Anda dapat menggunakan port yang sama untuk email terenkripsi dan teks biasa.
TLS yang Diberlakukan (atau TLS Implisit) mengharuskan email dikirim melalui koneksi yang aman. Jika koneksi tidak dienkripsi, pengiriman email akan diblokir. Metode ini jauh lebih aman daripada TLS Oportunistik, tetapi menyebabkan lebih banyak email yang dihapus.
Kedua pendekatan ini banyak digunakan di dunia email, jadi pertimbangkan apa yang paling masuk akal untuk program Anda. Jika Anda mengirim email yang berisi informasi pribadi yang sensitif, sebaiknya gunakan TLS yang Diberdayakan. Di sisi lain, jika Anda mengirim materi yang tidak sensitif, seperti pemasaran atau promosi, Anda mungkin lebih cenderung menggunakan TLS Oportunistik.
Kasus penggunaan TLS lainnya
TLS sering digunakan untuk mengenkripsi berbagai metode komunikasi di luar email. Karena TLS adalah protokol multi-langkah yang relatif sederhana, ini memudahkan penyesuaian untuk berbagai jenis komunikasi. Ini termasuk browser web, SMS, dan Voice over IP. Faktanya, banyak perusahaan menggunakan TLS untuk mengenkripsi semua komunikasi antara server web dan browser mereka, meskipun sebagian besar komunikasi bukanlah materi sensitif.
Untuk informasi lebih lanjut tentang bagaimana Twilio menggunakan TLS, lihat halaman Keamanan Twilio .
Mengapa StartTLS penting?
SMTP tidak diamankan secara default, yang berarti bahwa jika Anda mengirim email melalui SMTP tanpa StartTLS, email tersebut dapat disadap dan dengan mudah ditafsirkan. Ini sangat mengkhawatirkan saat mengirim informasi pribadi yang sensitif seperti nama pengguna, sandi, atau informasi bank.
Tanpa StartTLS, informasi pribadi Anda berisiko dicuri.
Ketika klien email menggunakan StartTLS, itu memberi tahu server bahwa konten harus dienkripsi. Dengan cara ini, jika surat disadap, isinya telah diacak dan sangat sulit untuk diuraikan. Server email dan klien email adalah satu-satunya yang memegang kunci untuk memecahkan kode pesan.
Kekurangan
Ada beberapa kelemahan dalam menggunakan StartTLS. Klien email rentan terhadap serangan man-in-the-middle karena, pada koneksi awal antara klien email dan server, alamat IP tidak dienkripsi.
Menggunakan StartTLS juga dapat menambahkan beberapa latensi ke koneksi SMTP. Ini tidak akan cukup untuk menunda pengiriman email yang tidak terenkripsi, tetapi ada baiknya untuk diingat.
Bagaimana cara menguji StartTLS?
Penting untuk menguji terlebih dahulu untuk memastikan server mampu memproses StartTLS. Jika tidak dapat memproses StartTLS, Anda dapat secara tidak sengaja mengirim cukup banyak email yang tidak dienkripsi dan, oleh karena itu, rentan terhadap vektor serangan.
Berikut adalah contoh bagaimana Anda akan menguji StartTLS dari server SMTP SendGrid.
Bagaimana Twilio SendGrid menggunakan StartTLS?
Twilio SendGrid mendukung TLS v1.1 dan lebih tinggi. Sambungan tidak terenkripsi dan TLS diterima pada porta 25, 587, dan 2525. Atau, Anda dapat terhubung melalui SSL pada porta 465.
Kami mengikuti TLS Oportunistik dan mengirim pada tingkat enkripsi tertinggi yang diterima server penerima. Kami juga menawarkan TLS yang Diberlakukan . Itu adalah pilihan Anda apakah Anda memerlukan email Anda untuk dikirim melalui koneksi terenkripsi. Jika server penerima tidak menerima pesan terenkripsi, pesan akan dihapus dan kami mengirim acara blokir.
Anda terutama akan berinteraksi dengan StartTLS saat memulai permintaan SMTP ke Twilio SendGrid, meminta untuk mengirim email. Jika tidak, Twilio SendGrid menangani pencocokan sertifikat TLS, sisa proses enkripsi, dan masalah apa pun yang mungkin muncul selama proses tersebut.
Untuk informasi lebih lanjut tentang Twilio SendGrid dan SMTP, kunjungi artikel dokumen kami, Cara Mengirim Email SMTP .