この用語をシェア
TLSとは
TLS(Transport Layer Security)は、インターネット通信を暗号化するプロトコルです。SSL(Secure Sockets Layer)の後継として開発され、現在はTLS 1.2(RFC 5246)およびTLS 1.3(RFC 8446)が広く使用されています。メールサーバーでは、メール送受信の暗号化に使用され、盗聴や改ざんを防止します。
TLSの特徴
暗号化の仕組み
TLSは、以下の要素で通信を保護します:
- 暗号化: データの盗聴を防止
- 認証: 通信相手の正当性を検証(証明書)
- 完全性: データの改ざんを検知
メールサーバーでの使用方法
メールシステムでは、以下の2つの方法でTLSが使用されます:
| 方式 | ポート | 説明 |
|---|---|---|
| STARTTLS | 25, 587, 143 | 平文接続後にTLSへ切り替え |
| Implicit TLS | 465, 993, 995 | 接続時から暗号化 |
TLSバージョン比較
| バージョン | リリース年 | 推奨度 |
|---|---|---|
| SSL 2.0/3.0 | 1995/1996 | ❌ 非推奨(脆弱性あり) |
| TLS 1.0/1.1 | 1999/2006 | ❌ 非推奨(2020年廃止) |
| TLS 1.2 | 2008 | ✅ 推奨 |
| TLS 1.3 | 2018 | ✅ 最推奨 |
自社メールサーバー運用への応用
Postfixでの設定例
# main.cf
# TLS設定
smtpd_tls_security_level = may
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_ciphers = high
smtpd_tls_mandatory_ciphers = high
smtpd_tls_loglevel = 1
# クライアント側TLS(送信時)
smtp_tls_security_level = may
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_ciphers = high
Let's Encrypt証明書の利用
自社メールサーバーでは、無料のLet's Encrypt証明書を利用できます:
# Certbotで証明書取得
certbot certonly --standalone -d mail.example.com
# 自動更新設定
0 3 * * * certbot renew --quiet --deploy-hook "postfix reload"
関連ブログ記事
まとめ
TLSは、メール通信の暗号化に不可欠なプロトコルです。自社メールサーバーを構築する際は、TLS 1.2以上の使用、有効な証明書の導入、STARTTLSの有効化が必須です。これにより、メール通信の盗聴や改ざんを防止し、安全なメール環境を実現できます。
