기술 · 출처 기반 답변
TLS는 어떤 포트를 사용하나요?
TLS에는 모든 곳에 공통으로 쓰이는 포트가 하나 있는 것이 아닙니다. TLS는 많은 애플리케이션 프로토콜을 보호하며, 보안이 적용된 각 서비스는 자신에게 할당된 포트를 사용하거나 STARTTLS 같은 명령으로 기존 연결을 업그레이드합니다. 대표적인 예로 443번 포트의 HTTPS, 465번 포트의 암시적 TLS SMTP 제출, 993번 포트의 TLS 기반 IMAP, 995번 포트의 TLS 기반 POP3가 있습니다.
TLS에는 공통 포트가 없습니다
TLS는 애플리케이션 프로토콜과 무관한 보안 계층이므로, 올바른 포트는 TLS 자체가 아니라 그 위에서 동작하는 서비스에 의해 정해집니다. HTTPS는 보통 TCP 443번 포트를 사용하고, 보안이 적용된 메일 접근은 다른 포트를 사용합니다. 따라서 서버가 TLS를 지원한다고만 말하는 것은 불완전한 구성 정보입니다. 클라이언트에는 호스트 이름, 애플리케이션 프로토콜, 포트, 예상되는 TLS 모드도 필요합니다.
암시적 TLS와 STARTTLS는 포트를 다르게 사용합니다
암시적 TLS에서는 TCP 연결이 열린 직후 TLS 핸드셰이크가 시작됩니다. 이메일의 예로는 465번 포트의 SMTP 제출, 993번 포트의 TLS 기반 IMAP, 995번 포트의 TLS 기반 POP3가 있습니다. STARTTLS에서는 클라이언트가 먼저 애플리케이션 프로토콜로 연결한 다음 TLS로 업그레이드해 달라고 요청합니다. 클라이언트와 서버는 같은 모드에 합의해야 합니다. 465번 포트를 선택하고 STARTTLS를 구성하면 핸드셰이크 오류나 타임아웃이 발생하는 경우가 많습니다.
SMTP 클라이언트는 어떤 TLS 포트를 사용해야 하나요
인증된 메시지 제출에는 이메일 제공업체가 문서화한 정확한 포트와 보안 모드를 사용하세요. 587번 포트는 보통 SMTP 제출 후 STARTTLS를 사용하고, 465번 포트는 첫 바이트부터 암시적 TLS를 사용합니다. 25번 포트는 주로 서버 간 SMTP 릴레이에 사용되며 기회적으로 STARTTLS를 사용할 수 있습니다. 2525번 포트는 제공업체별 대체 포트일 뿐, TLS나 SMTP의 공통 포트가 아닙니다.
TLS 포트 오류를 진단하는 방법
자격 증명이나 인증서를 바꾸기 전에 제공업체의 호스트 이름, 포트, 암호화 모드를 확인하세요. 기본적인 TCP 도달 가능 여부를 테스트한 다음, 서버가 즉시 TLS 핸드셰이크를 기대하는지 STARTTLS 이전에 애플리케이션 명령을 기대하는지 확인하세요. 타임아웃은 대개 라우팅, 방화벽, 포트 차단 문제를 가리키고, 즉각적인 프로토콜 오류는 암시적 TLS와 STARTTLS의 불일치를 나타내는 경우가 많습니다. 인증서 검증과 인증은 연결 모드가 올바르게 맞춰진 후에 이루어집니다.
팀에서 자주 묻는 질문
443번 포트가 TLS 포트인가요?
443번 포트는 TLS 위에서 HTTP를 전달하는 HTTPS의 표준 포트입니다. TLS로 보호되는 모든 프로토콜의 공통 포트는 아닙니다.
SMTP는 465번 포트와 587번 포트 중 어느 것을 사용해야 하나요?
제공업체가 문서화한 설정을 사용하세요. 465번 포트는 보통 암시적 TLS를 기대하고, 587번 포트는 보통 SMTP로 시작한 다음 STARTTLS로 업그레이드합니다.
STARTTLS에는 별도의 TLS 포트가 필요한가요?
아니요. STARTTLS는 서버가 지원을 알리고 클라이언트가 TLS를 요청한 후, 구성된 포트에서 기존 애플리케이션 프로토콜 연결을 업그레이드합니다.
올바른 포트인데도 TLS 연결이 실패하는 이유는 무엇인가요?
포트에는 접근할 수 있어도 TLS 모드가 잘못되었을 수 있습니다. 엔드포인트가 암시적 TLS를 기대하는지 STARTTLS를 기대하는지 확인한 다음, 호스트 이름과 인증서를 검증하세요.
1차 출처
- RFC 8446: 전송 계층 보안 프로토콜 버전 1.3 — RFC Editor
- RFC 8314: 평문은 더 이상 사용되지 않는 것으로 간주 — RFC Editor
- RFC 3207: TLS 기반 보안 SMTP를 위한 SMTP 서비스 확장 — RFC Editor