เชิงเทคนิค · คำตอบพร้อมแหล่งอ้างอิง

TLS ใช้พอร์ตอะไร

TLS ไม่ได้ใช้พอร์ตเดียวสำหรับทุกกรณี TLS ปกป้องโปรโตคอลแอปพลิเคชันจำนวนมาก และแต่ละบริการที่ปกป้องด้วย TLS ใช้พอร์ตที่กำหนดของตนเอง หรืออัปเกรดการเชื่อมต่อที่มีอยู่ด้วยคำสั่งอย่าง STARTTLS ตัวอย่างทั่วไปคือ HTTPS บน 443, SMTP submission ด้วย implicit TLS บน 465, IMAP over TLS บน 993 และ POP3 over TLS บน 995

TLS ไม่มีพอร์ตสากล

TLS เป็นชั้นความปลอดภัยที่ไม่ขึ้นกับโปรโตคอลแอปพลิเคชัน ดังนั้นพอร์ตที่ถูกต้องมาจากบริการที่ทำงานอยู่ด้านบน ไม่ใช่จากตัว TLS เอง HTTPS มักใช้พอร์ต TCP 443 ขณะที่การเข้าถึงอีเมลแบบปลอดภัยใช้พอร์ตอื่น การบอกว่าเซิร์ฟเวอร์รองรับ TLS จึงเป็นข้อมูลการตั้งค่าที่ไม่ครบ ไคลเอนต์ยังต้องรู้ชื่อโฮสต์ โปรโตคอลแอปพลิเคชัน พอร์ต และโหมด TLS ที่คาดหวัง

Implicit TLS และ STARTTLS ใช้พอร์ตต่างกัน

กับ implicit TLS TLS handshake เริ่มทันทีหลังเปิดการเชื่อมต่อ TCP ตัวอย่างในอีเมลได้แก่ SMTP submission บนพอร์ต 465, IMAP over TLS บน 993 และ POP3 over TLS บน 995 กับ STARTTLS ไคลเอนต์เชื่อมต่อด้วยโปรโตคอลแอปพลิเคชันก่อน แล้วจึงขออัปเกรดเป็น TLS ไคลเอนต์และเซิร์ฟเวอร์ต้องตกลงโหมดเดียวกัน การเลือกพอร์ต 465 ขณะตั้งค่า STARTTLS มักทำให้เกิดข้อผิดพลาด handshake หรือ timeout

ไคลเอนต์ SMTP ควรใช้พอร์ต TLS ใด

สำหรับการส่งข้อความที่ยืนยันตัวตน ให้ใช้พอร์ตและโหมดความปลอดภัยตามที่ผู้ให้บริการอีเมลระบุไว้ในเอกสารอย่างตรงตัว พอร์ต 587 มักใช้ SMTP submission ตามด้วย STARTTLS ขณะที่พอร์ต 465 ใช้ implicit TLS ตั้งแต่ไบต์แรก พอร์ต 25 ใช้เป็นหลักสำหรับการ relay SMTP ระหว่างเซิร์ฟเวอร์ และอาจใช้ STARTTLS แบบ opportunistic พอร์ต 2525 เป็นทางเลือกเฉพาะของผู้ให้บริการ ไม่ใช่พอร์ต TLS หรือ SMTP สากล

วินิจฉัยความล้มเหลวของพอร์ต TLS อย่างไร

ยืนยันชื่อโฮสต์ พอร์ต และโหมดการเข้ารหัสของผู้ให้บริการก่อนเปลี่ยนข้อมูลรับรองหรือใบรับรอง ทดสอบการเข้าถึง TCP พื้นฐาน แล้วตรวจสอบว่าเซิร์ฟเวอร์คาดหวัง TLS handshake ทันทีหรือคำสั่งของแอปพลิเคชันก่อน STARTTLS Timeout มักชี้ไปที่การกำหนดเส้นทาง ไฟร์วอลล์ หรือการบล็อกพอร์ต ส่วนข้อผิดพลาดโปรโตคอลทันทีมักบ่งชี้ว่า implicit TLS กับ STARTTLS ไม่ตรงกัน การตรวจสอบใบรับรองและการยืนยันตัวตนเกิดขึ้นหลังจากโหมดการเชื่อมต่อถูกต้องแล้ว

คำถามที่ทีมมักถาม

พอร์ต 443 คือพอร์ต TLS หรือไม่

พอร์ต 443 เป็นพอร์ตมาตรฐานของ HTTPS ซึ่งขน HTTP ผ่าน TLS ไม่ใช่พอร์ตสากลสำหรับทุกโปรโตคอลที่ปกป้องด้วย TLS

SMTP ควรใช้พอร์ต 465 หรือ 587

ใช้ตามการตั้งค่าที่ผู้ให้บริการระบุไว้ในเอกสาร โดยพอร์ต 465 ปกติคาดหวัง implicit TLS ส่วนพอร์ต 587 ปกติเริ่ม SMTP แล้วอัปเกรดด้วย STARTTLS

STARTTLS ต้องใช้พอร์ต TLS แยกต่างหากหรือไม่

ไม่ STARTTLS อัปเกรดการเชื่อมต่อของโปรโตคอลแอปพลิเคชันที่มีอยู่บนพอร์ตที่ตั้งค่าไว้ หลังจากเซิร์ฟเวอร์ประกาศว่ารองรับและไคลเอนต์ขอ TLS

ทำไมการเชื่อมต่อ TLS ล้มเหลวบนพอร์ตที่ถูกต้อง

พอร์ตอาจเข้าถึงได้ แต่โหมด TLS ผิด ตรวจสอบว่า endpoint คาดหวัง implicit TLS หรือ STARTTLS แล้วตรวจสอบชื่อโฮสต์และใบรับรอง

แหล่งข้อมูลหลัก