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 เริ่มการเจรจาระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ นี่คือโครงร่างของการสื่อสารที่เกิดขึ้นระหว่างโปรแกรมรับส่งเมลและเซิร์ฟเวอร์อีเมล
- กระบวนการเริ่มต้นด้วยการจับมือ Transmission Control Protocol (TCP) เพื่อช่วยให้ทั้งไคลเอนต์อีเมลและเซิร์ฟเวอร์สามารถระบุกันได้
- เซิร์ฟเวอร์ระบุด้วย 220 Ready ที่ไคลเอนต์อีเมลสามารถดำเนินการสื่อสารต่อไปได้
- ไคลเอนต์ส่งเซิร์ฟเวอร์ “EHLO” เพื่อแจ้งเซิร์ฟเวอร์ว่าไคลเอนต์ต้องการใช้ Extended SMTP (SMTP เวอร์ชันขั้นสูงที่ให้คุณใส่รูปภาพ ไฟล์แนบ ฯลฯ)
- ไคลเอนต์ส่ง “250-STARTTLS” ไปยังเซิร์ฟเวอร์เมลเพื่อถามว่ายอมรับ StartTLS หรือไม่
- หากเซิร์ฟเวอร์ส่งกลับ "ไปต่อ" สามารถสร้างการเชื่อมต่อ StartTLS ได้
- ไคลเอ็นต์เริ่มการเชื่อมต่อใหม่ และข้อความอีเมลได้รับการเข้ารหัสแล้ว
นี่คือการแสดงภาพของกระบวนการ StartTLS
คุณควรใช้พอร์ตใด
พอร์ตที่ใช้ StartTLS บ่อยที่สุดคือพอร์ต 587 ซึ่งมักจะต้องใช้โปรแกรมรับส่งเมลเพื่อใช้ StartTLS เพื่อส่งจดหมาย พอร์ตอื่นๆ ที่ใช้ในการส่งจดหมายที่เข้ารหัส ได้แก่ 25, 465 และ 2525 เนื่องจากพอร์ต 25 ได้รับการออกแบบสำหรับการถ่ายโอนจดหมาย ไม่ใช่การส่ง ISP ของคุณอาจบล็อกอีเมลที่ส่งผ่านพอร์ตนี้ พอร์ต 465 เป็นพอร์ตที่ใช้กันมากที่สุดเป็นอันดับสองสำหรับ StartTLS
ฉวยโอกาสกับ TLS ที่บังคับใช้
มีสองวิธีในการตั้งค่าโปรแกรมเข้ารหัสอีเมลของคุณโดยใช้ Opportunistic TLS หรือ Enforced TLS:
TLS ฉวยโอกาส (หรือ TLS ที่ชัดเจน) ช่วยให้ไคลเอนต์อีเมลส่งในระดับการเข้ารหัสสูงสุดที่เซิร์ฟเวอร์ผู้รับยอมรับ หากเซิร์ฟเวอร์ผู้รับไม่ยอมรับ TLS โปรแกรมรับส่งอีเมลจะเจรจากับเซิร์ฟเวอร์และตกลงที่จะดาวน์เกรดเป็นการเชื่อมต่อที่ไม่ได้เข้ารหัส จากนั้นข้อความจะถูกส่งไปในรูปแบบข้อความธรรมดาที่ไม่ได้เข้ารหัส วิธีนี้มีประโยชน์เนื่องจากคุณสามารถใช้พอร์ตเดียวกันสำหรับทั้งเมลแบบเข้ารหัสและแบบข้อความธรรมดา
TLS ที่บังคับใช้ (หรือ TLS โดยนัย) กำหนดให้ส่งอีเมลผ่านการเชื่อมต่อที่ปลอดภัย หากการเชื่อมต่อไม่ได้รับการเข้ารหัส เมลจะถูกบล็อกไม่ให้ส่ง วิธีนี้มีความปลอดภัยมากกว่า TLS ที่ฉวยโอกาสมาก แต่จะทำให้มีการทิ้งจดหมายมากขึ้น
ทั้งสองวิธีนี้ใช้กันอย่างแพร่หลายในโลกของอีเมล ดังนั้นให้พิจารณาถึงวิธีที่เหมาะสมที่สุดสำหรับโปรแกรมของคุณ หากคุณกำลังส่งอีเมลที่มีข้อมูลส่วนบุคคลที่มีความละเอียดอ่อน วิธีที่ดีที่สุดคือใช้ TLS ที่บังคับใช้ ในทางกลับกัน หากคุณกำลังส่งข้อมูลที่ไม่ละเอียดอ่อน เช่น การตลาดหรือโปรโมชัน คุณอาจมีแนวโน้มที่จะใช้ TLS ฉวยโอกาสมากกว่า
กรณีการใช้งาน TLS อื่นๆ
TLS มักใช้ในการเข้ารหัสวิธีการสื่อสารที่หลากหลายนอกอีเมล เนื่องจาก TLS เป็นโปรโตคอลแบบหลายขั้นตอนที่ค่อนข้างง่าย จึงทำให้ง่ายต่อการปรับเปลี่ยนสำหรับประเภทการสื่อสารที่หลากหลาย ซึ่งรวมถึงเว็บเบราว์เซอร์ SMS และ Voice over 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 v1.1 ขึ้นไป การเชื่อมต่อที่ไม่ได้เข้ารหัสและ TLS ได้รับการยอมรับในพอร์ต 25, 587 และ 2525 หรือคุณสามารถเชื่อมต่อผ่าน SSL บนพอร์ต 465
เราปฏิบัติตาม Opportunistic TLS และส่งในระดับการเข้ารหัสสูงสุดที่เซิร์ฟเวอร์ผู้รับยอมรับ เรายังเสนอ TLS ที่ บังคับใช้ คุณเลือกได้ว่าต้องการให้ส่งอีเมลผ่านการเชื่อมต่อที่เข้ารหัสหรือไม่ หากเซิร์ฟเวอร์ผู้รับไม่ยอมรับข้อความที่เข้ารหัส ข้อความนั้นจะหายไปและเราจะส่งเหตุการณ์การบล็อก
คุณจะต้องโต้ตอบกับ StartTLS เป็นหลักเมื่อเริ่มต้นคำขอ SMTP ไปยัง Twilio SendGrid เพื่อขอให้ส่งจดหมาย มิฉะนั้น Twilio SendGrid จะจัดการการจับคู่ใบรับรอง TLS กระบวนการเข้ารหัสที่เหลือ และปัญหาใดๆ ที่อาจเกิดขึ้นระหว่างทาง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Twilio SendGrid และ SMTP ตรงไปที่บทความเอกสารของเรา วิธี ส่งอีเมล SMTP