電子メール・メールサーバ
電子メールの概要メールサーバの構成とメール送信フロープロトコル機能メール文の構成メールの暗号化手法PGP(Pretty Good Privacy)S/MIME(Secure/Multipurpose Internet Mail Extensions)SMTP over TLSプロトコルの脆弱性対策SMTPの脆弱性への対策SMTP-AUTHPOP before SMTPOP25B (Outbound Port25 Blocking)送信ドメイン認証POP3の脆弱性への対策
電子メールの概要
電子メール(e-mail)とは、パソコン・スマートフォンなどの機器同士が、インターネットなどのネットワークを使ってテキストや画像をやり取りする機能のこと。
電子メールを送受信するための機能を提供するサーバをメールサーバという。
メールサーバの構成とメール送信フロー
プロトコル
プロトコル名 | 役割 |
SMTP (Simple Mail Transfer Protocol) | メールを送信する。 |
POP (Post Office Protocol) | メールを受信する。 サーバ上のメールをダウンロードして閲覧する。 |
IMAP (Internet Message Access Protocol) | メールを受信する。 サーバ上のメールをダウンロードせずに閲覧する。 |
機能
機能名 | 役割 |
---|---|
MUA (Mail User Agent) | ユーザがメールを作成したり、受信したメールを読んだりするためのインターフェース。 |
MSA (Mail Submission Agent) | メール送信を受けつけ、ユーザ認証・エラーチェックを実施する。 |
MTA (Mail Transfer Agent) | メールを配送する。 メール送り先のIPアドレスをDNSサーバから参照する。 |
MDA (Mail Delivery Agent) | 受信したメールをメールボックスに格納する。 |
MRA (Mail Retrieval Agent) | ユーザを認証し、メールボックスからメールを取り出す。 |
メール文の構成
メールは以下の3つの領域で構成されている。
- エンベロープ(Envelope):メールの宛先・送信先情報
- ヘッダ(Header):
- ボディ(Body):実際のメッセージ
メール文一例 | 説明 | |||
エンベロープ (Envelope) |
mail from: [email protected] | 送信者のアドレス(メール送信に失敗した場合のエラーメール送信先) | ||
rcpt to: [email protected] | 受信者のアドレス | |||
【空行】 | ||||
ヘッダ (Headers) |
Return-Path: <[email protected]> | エラー発生時のメールの送り先 | ||
Received: from msA.aaa.com ([12.34.56.78]) | 送信者のドメインとIPアドレス | |||
by msB.bbb.com with esmtp id xxx-yyy-zzz | 受信サーバのドメイン | |||
for [email protected]; | 最終的な受信者のアドレス | |||
From: [email protected] | 送信者のアドレス | |||
To: [email protected] | 受信者のアドレス | |||
Subject: Hello Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit |
||||
【空行】 | ||||
ボディ (Body) |
はじめまして!こんにちは! |
メールの暗号化手法
PGP(Pretty Good Privacy)
公開鍵暗号方式を利用してファイルやメールの暗号化・認証・改ざん検知を行う。
RFC 4880として標準化。
信用の輪(Web of Trust)という考えに基づく。
公開鍵を用意する単位:メールアドレスごと
S/MIME(Secure/Multipurpose Internet Mail Extensions)
公開鍵暗号方式を利用して添付ファイルやメール文の暗号化・認証・改ざん検知を行う。
送受信者のメールソフトが規格に対応している必要有。
第三者機関のディジタル証明書(S/MIME証明書)を事前に共有する必要有。
PKCS(Public Key Cryptography Standard)に従って暗号化・署名を行う
CMS(Cryptgraphic Message Syntax):暗号化・署名に使用するフォーマット
公開鍵を用意する単位:メールアドレスごと
SMTP over TLS
「メールソフト~送信元メールサーバ」・「送信元メールサーバ~送信先メールサーバ」のそれぞれでセッションを確立。
公開鍵を用意する単位:メールサーバごと
プロトコルの脆弱性対策
SMTPの脆弱性への対策
SMTP-AUTH
ユーザ認証機能が追加されたもの。
POP before SMTP
メール送信前にPOP3によるユーザ認証を行う。
OP25B (Outbound Port25 Blocking)
ISP管理下のネットワークからISP管理外のネットワークに向けて送信されるスパムメールを制限する。
サブミッションポート:OP25Bの例外を通すためのポート
送信ドメイン認証
送信元SMTPサーバを認証。