SMTP(Simple Mail Transfer Protocol)
メールの転送
- TCP コネクションの確立
- 3 ウェイハンドシェイク
- 転送先の IP アドレスは受取人のメールアドレスをもとに DNS へ問い合わせ
- => MX レコードをもとに TCP コネクションを確立
- アプリケーションレベルのコネクション確立
EHLO
命令にて SMTP 開始
- 差出人のメールアドレスの送信
MAIL FROM: メールアドレス
- 受取人のメールアドレスの送信
RCPT TO: メールアドレス
- データを転送してよいかどうかの確認
DATA
命令
- メールデータの転送
- アプリケーションレベルのコネクション切断
QUIT
命令
応答コード
応答コード | 意味 |
---|---|
220 | 通信受付開始 |
迷惑メール
- スパムメール
- UBE
- UCE
脆弱性
- メールの投稿や中継などがすべて同じ仕組みで行われている
- メールの投稿にあたってユーザを認証する仕組みがない
- 第三者中継
- NDR(Non-Delivery Report : 配信不能通知) メール
- 送信先のメールアドレスが存在せず、正常に送信できなかった場合に、それを通知するために、送信できなかったメールを添付して送信元のアドレスに送られる
- この機能を悪用したスパムがありフィルタリングする方法があるが、本来の目的が達成できなくなってしまう
- メールの暗号化機能が標準装備されていないため、平文でネットワークを流れる
- SMTP にはメール暗号化機能がないため、クライアント側で暗号化を行わない限り平文でネットワークを流れる
- MTA の実装・設定によってユーザのメールアカウント情報が漏洩する可能性がある
- VRFY, EXPN というコマンドを使用することで、そのサーバにおけるメールアカウントの有無や (メールアカウント名がエイリアスの場合) メールの実際の配送先情報を確認することができる
- MTA の種類、バージョンによって BOF 攻撃を受ける脆弱性がある
セキュリティ対策
MTA の設定による発信元メールアドレスの制限
- MTA の設定によって、発信元メールアドレスとあて先メールアドレスのいずれにも自分のサイトのドメイン名が含まれていないメールを配送しないようにする
- 第三者中継の禁止
- MTA の設定によって、発信元メールアドレスとあて先メールアドレスのいずれにも自分のサイトのドメイン名が含まれていないメールを配送しないようにする
POP before SMTP によるユーザ認証
Outbound Port25 Blocking によるメール投稿制限
IP アドレス、ディジタル署名による送信ドメイン認証
- 送信者のアドレスが正規のものであることを証明するために用いられるもの
- IP アドレスによる方式
- ディジタル署名による方式
- それぞれのメリット、デメリット
- DMARC にてメールを受信した場合の対応を決めることができる
メールフィルタリング
- ベイジアンフィルタリング
- ベイズの定理を応用することにより、迷惑メールの特徴を自己学習し、統計的に解析して判定するフィルタリング手法
- http://www.ric.co.jp/book/contents/pdfs/959_chap5.pdf
- ベイジアンフィルタリング
SMTP over TLS によるメールの暗号化およびユーザ認証
- 注意
- 暗号化されるのはあくまでのクライアントから発信元のメールサーバまでの通信のみ
- インターネット上は平文で流れる
- 暗号化されるのはあくまでのクライアントから発信元のメールサーバまでの通信のみ
- 注意
S/MIME, PGP 等によるメールの暗号化
MTA の不要なコマンドの無効化