SMTP-AUTH

読み:えすえむてぃーぴーおーす / 英語表記:SMTP Authentication

SMTPでメールを送る前に、サーバが利用者を認証するための拡張である。クライアントがAUTHコマンドで認証方式を指定し、その利用者からの投稿を受け付けてよいか確認する。

イマシルちゃんの解説

インターネットにつながるメールサーバを誰でも自由に送信に使えると、迷惑メールの踏み台になってしまうんだ。
SMTP-AUTHは、メールを送ろうとしている利用者をサーバが確かめる仕組みなんだ。
メールソフトは利用できる認証方式を確認し、アカウントの情報などを使って認証を受けるよ。
サーバはその結果を基に、利用者へ送信を認めるか判断するの。
通信を暗号化するTLSと組み合わせることで、認証情報を保護しながら確認できるんだ。
受信したメールの送信ドメインを調べるSPFやDKIMとは、確かめる相手と場面が違うよ。

より深い解説

メールを投稿する利用者を確かめる

SMTP-AUTHはRFC 4954で定められたSMTPの認証拡張である。利用者のメールソフトからメール投稿サーバへ接続する際に使い、TCPの587番であるサブミッションポートなどと組み合わせる。

認証と配送先の指定は別の処理である。SMTPのMAIL FROMは配送用の差出人、RCPT TOは宛先を指定するコマンドであり、これらへアドレスを書くだけで利用者の本人確認が済むわけではない。

対応する方式で認証する

SMTPの拡張機能を問い合わせるEHLOに対し、サーバは利用できる認証方式を返す。クライアントはAUTHコマンドで方式を選び、その方式に従って認証情報を交換する。認証方式を組み合わせる枠組みにはSASLを使う。

認証成功を表す応答コードは235である。成功後にメールの投稿へ進めるが、認証済みでも送信数や宛先などの利用規則に従う必要がある。

認証情報をTLSで保護する

認証機能と通信の暗号化は役割が異なる。パスワードを含む方式では、TLSを確立してから認証情報を送る。例えば587番で接続した場合、STARTTLSでTLSへ切り替え、再度EHLOで利用可能な拡張を確認してから認証を行う。

仕組み担当すること
SMTP-AUTH投稿する利用者の認証
TLS通信路の暗号化と完全性の保護
SPF・DKIM受信側での送信ドメインの認証

PLAINなどで使われるBase64はデータの表し方を変える符号化であり、秘密にする暗号化ではない。ポート番号を変更しただけでも認証情報は保護されない。接続の最初からTLSを使う投稿方式ではTCPの465番を使う。

参考資料

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午後Ⅰ

この用語が出てくる記事

↑