0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メール認証について 受信側と送信側

Posted at

もくじ

・導入
・受信の認証
・送信の認証

導入

クライアントアプリ、gmail、outlookなどにログインするとメールが見れるようになります。
その際はユーザーIDとPWでログイン認証すると思いますが、送信時にもログイン認証をしています。

→ログイン認証は受信メールを見るときと、メール送信するときで2パターンあります。

受信時の認証

対象:受信サーバー(POP3サーバーやIMAPサーバー)

目的:そのメールボックスの所有者であることを確認して、中身を見せてもらう

主なプロトコルとポート
POP3: 110 / 995(SSL/TLS)
IMAP: 143 / 993(SSL/TLS)

通信の流れ

[MUA] ← Thunderbird / Outlook ユーザーが「受信」ボタンを押す
      │
      │ IMAP接続(ポート993 / SSL または ポート143 / STARTTLS)→ 認証情報付き(IMAP LOGIN)
      ▼
[MDA] Dovecot on mail.arisaweb.net
      │
      │ ユーザー名・パスワードを Dovecot authプロセスに渡す
      ▼
[Dovecot auth] ユーザーDB(/etc/passwd, SQL, LDAPなど)で認証
      │
      │ 認証OKなら「Success」、失敗なら「Failure」を返す
      ▼
[MDA] Dovecot メールボックス(Maildir / mbox)へアクセス許可
      │
      │ 認証成功 → メール一覧・本文データをMUAに送信
      ▼
[MUA] ユーザーが受信メールを閲覧

送信時の認証(SMTP AUTH)

対象:送信サーバー(MSA: Mail Submission Agent)

目的:不正中継を防ぎ、「この人はこのサーバーでメールを送信する権利がある」ことを確認

主なポート
587(推奨:STARTTLSで暗号化)
465(SMTPS)

通信の流れ

Thunderbird、Outlookなどのクライアントアプリからメールサーバーに接続し、メール送信する際、クライアントアプリ側でステートレスな通信が行われている。

ユーザーは意識してないんだけど、メールサーバーに認証通してます。

[MTU] ←Thunderbird / Outlook ユーザーが送信
      │
      │ SMTP送信(ポート587 / STARTTLS)→ 認証情報付き(SMTP AUTH)
      ▼
[MSA]Postfix on mail.arisaweb.net
      │
      │ 認証を Dovecot に依頼(UNIXソケット /var/spool/postfix/private/auth)
      ▼
[MSA] →Dovecot authプロセス  認証OKならPostfixに返す
      │
      ▼
[MTA]Postfix(認証成功したのでメール送信)
      │
      │ 
      ▼
[受信先のMTA] 

SMTPの歴史

昔は認証なしSMTPがありました。
誰でもSMTPサーバーがつかえるので、スパムメールを送る悪い人たちがSMTPサーバーを悪用して、公開されているSMTPサーバーからスパムメールを送りまくりました。
自分のIPアドレスは既にBLに入っているので、SMTPサーバーを利用したのです。。。

これを"オープンリレー"と呼びます。

これを防ぐために出てきたのがSMTP AUTHです。SMTPサーバーを利用する人はそのSMTPサーバーにログインしないといけません。
送信時にクライアントアプリが裏でログインすると書きましたが、認証情報を持ってない悪い人はSMTPサーバーを利用できなくなりました。

SMTPリレーは今でも使われている。

認証なしのSMTPサーバーを使ったオープンリレーはほぼ絶滅しましたが、SMTPサーバーを認証付きでリレーすることは多々あります。

なぜSMTPリレーする必要があるのか?
→例えばリレー先をgmailに指定してGmailのMTAからメールを配送すると、Gmailの信頼度を借りてメールを送ることができる。
受信者目線からすると、Gmailからメールが送信されてきたように見える。

Thunderbird (MUA)
  ↓ SMTP AUTH + 587
Postfix (EC2, MSA)
  ↓ リレー (587)
Gmail (MSA → MTA)
  ↓ SMTP 25
受信者のMTA(例: Outlook)

プロトコル一覧

用途 プロトコル 推奨ポート 暗号化 状態 補足
受信 IMAPS (IMAP over SSL/TLS) 993 常時SSL/TLS 現行推奨 IMAPをSSL/TLSで暗号化したもの。サーバー上にメールを残しながら操作可能。
IMAP(STARTTLS) 143 STARTTLSで暗号化 旧来 接続後に暗号化へ切替。993のほうが推奨される傾向。
POP3S (POP3 over SSL/TLS) 995 常時SSL/TLS 一部利用 メールをローカルに取り込む。暗号化版POP3。
POP3(STARTTLS) 110 STARTTLSで暗号化 旧来 暗号化なしの利用は推奨されない。
送信 SMTP Submission (STARTTLS) 587 STARTTLSで暗号化 現行推奨 MSAへのメール送信専用。SMTP AUTHで認証必須。
SMTPS 465 常時SSL/TLS 復活推奨傾向 以前非推奨だったがRFCで再定義。クライアント接続で使われる。
SMTP(サーバー間) 25 任意(STARTTLS推奨) 継続利用 MTA同士のメール配送用。クライアント送信には使わない。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?