メイル送信のお約束 OP25B関連まとめ 2020
仕事の都合で2年前にまとめたものだが、死蔵してるのもなんなので公開する。
OP25B
外部SMTPへの接続 OR 外部からのSMTP接続を制限または禁止する。 事実上、代替ポートを使う必要がある。
メール送信規制「OP25B」とは?その概要と回避策 | ベアメールブログ
Outbound Port 25 Blocking - Wikipedia
JEAG(Japan Email Anti-Abuse Group)では、OP25Bワーキンググループにて「Source IP Addressが動的IP、かつ、Destination Portが25であるTCPトラフィックを遮断すること」を推奨するRecommendationを取りまとめた。[1]
AWS EC2は、もろにこれに当てはまる。
SMTP上でローカルユーザー認証
RFC 2821 - Simple Mail Transfer Protocol に 認証を追加する仕様。
- 初回 RFC 2554 - SMTP Service Extension for Authentication
- 最新 RFC 4954 - SMTP Service Extension for Authentication
サブミッションポート :587 +SMTP-AUTH
ローカルユーザーが送信==submission に使う。という意味。だと思われる。
RFC 6409 - Message Submission for Mail
SMTP-AUTHを必須にすることにより、送信者の身元を担保する。 SMTP-AUTH自身(RFC4954)別仕様。
587の代替として、2525を使うことがあるらしいが、これは非標準 正しいSMTPポートの選び方(ポート番号25、587、465、2525)
経路暗号化
SMTPS | SMTP over SSL :465
単純に、SMTP over SSL
ただし、SMTP over SSLのポート番号は正式には決定されておらず、日本では歴史的に465番ポートが利用されています。
TLS | Transport Layer Security
ポート/プロトコルに依存しない、汎用暗号化方式。
- SMTPについては RFC 3207 - SMTP Service Extension for Secure SMTP over Transport Layer Security
- POP/IMAP/ACAP RFC 2595 - Using TLS with IMAP, POP3 and ACAP
- FTP,NNTP,LDAP用も存在する。
ドメイン認証
ゾーン情報に記述することだし、それぞれ正式名称が
- SPFは Authorizing Use of Domains in E-Mail
- DKIMは DomainKeys Identified Mail (DKIM) Signatures
なので的外れでもないカテゴライズだと思われる。
SPF | Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail
RFC 4408 - Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1
ドメインの名義者と、送信サーバのIPアドレスを結びつける仕掛け。 DNSのTEXTレコードを流用する。
次のような例がある
SPF(Sender Policy Framework) : 迷惑メール対策委員会
example.com. IN TXT “v=spf1 -all” example.net. IN TXT “v=spf1 ip4:192.0.2.1 -all” example.jp. IN SPF “v=spf1 ip4:192.0.2.1 -all”
「このIPアドレスから送信するつもりです」という表明をするわけだ。
受信側がこれを確認したら、承認した記録としてメイルに Received-SPF ヘッダが追加される。
DKIM | DomainKeys Identified Mail (DKIM) Signature
RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures
DNSのTEXTレコードにて署名の公開鍵を告知する。発信元でメイルに暗号鍵署名することで、発信元を保証する。
DKIM (Domainkeys Identified Mail) : 迷惑メール対策委員会
sls.dkim._domainkey.smtest.com. 300 IN TXT “v=DKIM1; k=rsa; t=y; p=****….."
署名情報として、メイルヘッダに DKIM-Signature が追加される。
メイルボックスプロトコル側
SMTPがこれだけセキュリティに気をつけてるのにPOP/IMAPが無防備なのはありえない。という会話があったかどうか知らないが、前述の設定と概ねセットで使われる。
RFC 2595 - Using TLS with IMAP, POP3 and ACAP
歴史的にSMTPの簡易認証には POP before SMTPとは - IT用語辞典 が使われたが、今は廃止されている。
- POP over SSL :995
- IMAPS | IMAP over SSL :993
AWS EC2事例
25番の開放自体も可能である。が、それもさまざまな準備が必要になる。
EC2からのメール送信には、解除申請とDNSの逆引きの登録申請が必要です。 | 田舎に住みたいエンジニアの日記
ソフトウエアの対応
MTA実装
地元から送信する場合でも、他社サーバのOP25Bに対応する可能性がある。
postfix
自ドメインのDNSとPostfixをSPF/DKIM対応させてみた - Qiita
exim
postfixに比べたら非常にマイナーだが、eximも簡単に対応できそうだ。以下マニュアルの該当箇所を見繕っただけ。
メイル送信専用の外部サービス
- https://www.sendinblue.com/ | All Your Digital Marketing Tools in One Place | Sendinblue
- https://www.smtp2go.com/tour/ | SMTP2GO - SMTP Service Tour & Features
- https://elasticemail.com/marketing-features | Email Marketing Features & Tools Loved by Marketers | Elastic Email
- https://aws.amazon.com/jp/ses/ | Amazon SES(高可用性で低価格なEメール送信サービス)| AWS
- https://www.mailgun.com/ | Transactional Email API Service For Developers | Mailgun
Discussion