この用語をシェア
STARTTLSとは
STARTTLSは、平文(暗号化されていない)接続をTLS暗号化接続にアップグレードするコマンドです。RFC 3207(SMTP用)およびRFC 2595(IMAP/POP3用)で標準化されており、既存のポート番号(25、587、143など)で暗号化通信を実現します。
STARTTLSの動作
通信フロー
1. クライアント: 平文で接続
→ EHLO client.example.com
2. サーバー: STARTTLS対応を通知
← 250-mail.example.com
← 250-STARTTLS
← 250 8BITMIME
3. クライアント: 暗号化を要求
→ STARTTLS
4. サーバー: TLS開始を承認
← 220 Ready to start TLS
5. TLSハンドシェイク実施
[暗号化通信開始]
6. 以降の通信はすべて暗号化
Implicit TLSとの違い
| 項目 | STARTTLS | Implicit TLS |
|---|---|---|
| 接続開始 | 平文 | 最初から暗号化 |
| ポート(SMTP) | 25, 587 | 465 |
| ポート(IMAP) | 143 | 993 |
| 推奨度 | ✅ 推奨(現代標準) | ⚠️ 一部で使用 |
自社メールサーバー運用への応用
Postfixでの設定例
# main.cf - STARTTLS設定
smtpd_tls_security_level = may # STARTTLSを提供(強制はしない)
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
# Submission(ポート587)ではSTARTTLS強制
# master.cf
submission inet n - y - - smtpd
-o smtpd_tls_security_level=encrypt
Dovecot(IMAP/POP3)での設定
# /etc/dovecot/conf.d/10-ssl.conf
ssl = yes
ssl_cert =
セキュリティベストプラクティス
- Submission(ポート587)ではSTARTTLS必須にする
- TLS 1.2以上のみを許可(TLS 1.0/1.1は脆弱性あり)
- 有効な証明書を使用(Let's Encryptなど)
- 強固な暗号スイートを設定
関連ブログ記事
まとめ
STARTTLSは、既存ポートで暗号化通信を実現する標準的な方法です。自社メールサーバーでは、Submission(ポート587)でSTARTTLSを必須化し、ポート25ではオプション提供することで、セキュアなメール送信環境を構築できます。TLS 1.2以上の使用と有効な証明書の導入が重要です。
2025-2026年の最新動向
MTA-STS(SMTP MTA Strict Transport Security)の採用が拡大しています。STARTTLSのダウングレード攻撃を防止するため、受信サーバーがTLS暗号化を必須とするポリシーをDNSで公開する仕組みです。Gmail、Microsoft 365、Yahoo!が対応済みです。
暗黙的TLS(ポート465)への回帰が進んでいます。RFC 8314の推奨に基づき、メールクライアントからサーバーへの送信にはSubmissions(ポート465、暗黙的TLS)の使用が推奨されるようになっています。
TLS 1.3の標準化により、STARTTLSのハンドシェイク速度が向上し、セキュリティも強化されています。TLS 1.0/1.1の無効化が業界標準となっています。
外部リンク
関連用語
- TLS - トランスポート層セキュリティ
- Submission - メール送信ポート587
- DANE - DNS認証によるTLS検証
- Postfix - メール転送エージェント
- 対称暗号 - TLSで使用される暗号化方式
よくある質問(FAQ)
Q. STARTTLSとは?
平文通信をTLS暗号化にアップグレードするプロトコル拡張です。SMTP、IMAP、POP3で使用されます。
Q. 暗黙的TLSとの違いは?
STARTTLSは平文接続後にアップグレード、暗黙的TLSは最初からTLSで通信します。RFC 8314では暗黙的TLSが推奨されています。
Q. セキュリティリスクは?
ダウングレード攻撃のリスクがあります。MTA-STSやDANEの導入で対策できます。
