فنی · پاسخ مستند
TLS از چه پورتی استفاده میکند؟
TLS از یک پورت جهانی واحد استفاده نمیکند. TLS از پروتکلهای کاربردی زیادی محافظت میکند و هر سرویس امن از پورت اختصاصی خود استفاده میکند یا اتصال موجود را با دستوری مانند STARTTLS ارتقا میدهد. نمونههای رایج عبارتاند از HTTPS روی 443، ارسال SMTP با TLS ضمنی روی 465، IMAP روی TLS در 993 و POP3 روی TLS در 995.
TLS پورت جهانی ندارد
TLS یک لایه امنیتی مستقل از پروتکل کاربردی است، بنابراین پورت درست از سرویسی تعیین میشود که روی آن اجرا میشود، نه از خود TLS. HTTPS معمولاً از پورت TCP 443 استفاده میکند، در حالی که دسترسی امن به ایمیل از پورتهای دیگری استفاده میکند. بنابراین گفتن اینکه یک سرور از TLS پشتیبانی میکند، اطلاعات پیکربندی ناقصی است. کلاینت همچنین به hostname، پروتکل کاربردی، پورت و حالت TLS مورد انتظار نیاز دارد.
TLS ضمنی و STARTTLS از پورتها به شکل متفاوتی استفاده میکنند
در TLS ضمنی، TLS handshake بلافاصله پس از باز شدن اتصال TCP آغاز میشود. نمونههای ایمیلی شامل ارسال SMTP روی پورت 465، IMAP روی TLS در 993 و POP3 روی TLS در 995 هستند. در STARTTLS، کلاینت ابتدا با پروتکل کاربردی وصل میشود و سپس ارتقا به TLS را درخواست میکند. کلاینت و سرور باید بر سر یک حالت توافق داشته باشند؛ انتخاب پورت 465 همراه با پیکربندی STARTTLS اغلب باعث خطای handshake یا timeout میشود.
کلاینتهای SMTP از کدام پورت TLS استفاده کنند
برای ارسال پیام با احراز هویت، دقیقاً از پورت و حالت امنیتیای استفاده کنید که ارائهدهنده ایمیل مستند کرده است. پورت 587 معمولاً از ارسال SMTP و پس از آن STARTTLS استفاده میکند، در حالی که پورت 465 از همان نخستین بایت از TLS ضمنی استفاده میکند. پورت 25 عمدتاً برای relay SMTP سرور به سرور استفاده میشود و ممکن است بهصورت فرصتطلبانه از STARTTLS استفاده کند. پورت 2525 جایگزینی مختص برخی ارائهدهندگان است، نه پورت جهانی TLS یا SMTP.
چگونه خطای پورت TLS را عیبیابی کنیم
پیش از تغییر اعتبارنامهها یا گواهیها، hostname، پورت و حالت رمزگذاری ارائهدهنده را تأیید کنید. دسترسپذیری پایه TCP را آزمایش کنید، سپس بررسی کنید که آیا سرور انتظار TLS handshake فوری دارد یا یک دستور پروتکل کاربردی پیش از STARTTLS. timeout معمولاً به مشکل مسیریابی، فایروال یا مسدود بودن پورت اشاره دارد؛ خطای فوری پروتکل اغلب نشاندهنده ناهماهنگی بین TLS ضمنی و STARTTLS است. اعتبارسنجی گواهی و احراز هویت پس از درست شدن حالت اتصال انجام میشوند.
پرسشهایی که تیمها میپرسند
آیا پورت 443 همان پورت TLS است؟
پورت 443 پورت استاندارد HTTPS است که HTTP را روی TLS منتقل میکند. این پورت برای همه پروتکلهایی که با TLS محافظت میشوند پورت جهانی نیست.
SMTP باید از پورت 465 استفاده کند یا 587؟
از تنظیمی که ارائهدهنده مستند کرده استفاده کنید: پورت 465 معمولاً TLS ضمنی را انتظار دارد، در حالی که پورت 587 معمولاً SMTP را شروع میکند و سپس با STARTTLS ارتقا مییابد.
آیا STARTTLS به پورت TLS جداگانهای نیاز دارد؟
خیر. STARTTLS پس از آنکه سرور پشتیبانی خود را اعلام کرد و کلاینت TLS را درخواست کرد، یک اتصال موجود پروتکل کاربردی را روی همان پورت پیکربندیشده ارتقا میدهد.
چرا اتصال TLS روی پورت درست شکست میخورد؟
ممکن است پورت در دسترس باشد اما حالت TLS اشتباه باشد. بررسی کنید endpoint انتظار TLS ضمنی دارد یا STARTTLS، سپس hostname و گواهی را بررسی کنید.
منابع اصلی
- RFC 8446: پروتکل امنیت لایه انتقال (TLS) نسخه 1.3 — RFC Editor
- RFC 8314: منسوخشدن متن آشکار (cleartext) — RFC Editor
- RFC 3207: افزونه سرویس SMTP برای SMTP امن روی TLS — RFC Editor