情報システム管理 情報システム管理
第11回 メールサーバ
水野嘉明
2
1 . 電子メールの仕組
メールの仕組や、プロトコルに ついて
2 . メールサーバの設定
SMTP サーバと、 POP3/IMAP4 サーバの設定について
3 . spam について
spam と、その対策について
本日の内容
本日の内容
1 1 . . 電子メールの仕組み 電子メールの仕組み
1 . 1 メール配送の仕組み
1 . 2 各エージェントの解説 1 . 3 プロトコル
1 . 4 メールアドレス
1 . 5 電子メールの構成
4
1 1 . . 電子メールの仕組み 電子メールの仕組み
電子メール(
e-mail)
とは
ネットワークを通じて文字メッ セージを交換するシステム
文字以外のファイルも送受信可能インターネット以外でも利用され ているが、ここではインターネッ トのメールを説明する
1 1 . . 1 メール配送の仕組み 1 メール配送の仕組み
メールサーバ
インターネ ット
メールサーバ
1 1 . . 1 メール配送の仕組み 1 メール配送の仕組み
数種類の、エージェント ( Agent )と呼ば れるソフトウェアが、メールを転送していく
代表的エージェントは、 MUA 、 MTA 、 MDA など
(注) agent : 代理人
6
DNS
1 1 . . 1 メール配送の仕組み 1 メール配送の仕組み
MSA
MTA
MDA
MailBox SMTP(25)
SMTP(25/587)
MRA
(メー
MUA
ルソフト)
メールサーバ
8
1 1 . . 1 メール配送の仕組み 1 メール配送の仕組み
MSA
MTA
MDA
MailBox SMTP(25)
MRA
メールサーバ
POP
(110)
(メー
MUA
ルソフト)
1 1 . . 2 各エージェントの解説 2 各エージェントの解説
MUA
(Mail User Agent
あるいはMessage User Agent
)
ユーザが使うメールソフト
ユーザの端末(クライアント)上で 動作する AL-Mail, OutlookExpress, Becky!, Th
underbird, Evolution, Mew, Sylpheed
10
1 1 . . 2 各エージェントの解説 2 各エージェントの解説
MTA (Mail Transfer Agent)
メール配送ソフト
バケツリレー式にメールを転送し、相手先サーバに届ける
MDA
とMTA
はセットや一体になっ ている場合も多く、メールサーバ全 体のことをMTA
という場合もある
MDA (Mail Delivery Agent)
届いたメールをメールボックス に保存する MTA
と一体のソフトとなってい ることも多い 1
台のサーバにユーザが多数い る場合に使われることが多い1 1 . . 2 各エージェントの解説 2 各エージェントの解説
12
MRA (Mail Retrieval Agent)
メールボックス内のメールを、MUA
に引き渡す1 1 . . 2 各エージェントの解説 2 各エージェントの解説
MSA (Mail Submission Agent)
MUA
からのメール送信(投稿)を受付ける
587
番ポートを使い、認証も行う spam
対策のため、メール送信に もユーザ認証が必要になり追加1 1 . . 2 各エージェントの解説 2 各エージェントの解説
14
1 1 . . 3 プロトコル 3 プロトコル
インターネット上で電子メールを送 信・中継・受信するためのプロトコ ル
SMTP
メールサーバのメールボックスに書 き込まれたメールを読み出すための プロトコル
POP
(POP3)
IMAP
(IMAP4)
SMTP
Simple Mail Transfer Protocol
メール送受信のためのプロトコルメールクライアント
(MUA)
から メールサーバ(MTA)
へ 投稿メールサーバ間の転送
25番ポート を使用1 1 . . 3 プロトコル 3 プロトコル
16
POP (POP3)
Post Office Protocol (Ver.3)
メールボックス操作のためのプロ トコル
メールサーバのメールボックスを 開き、新着メールをチェックする
新着メールがあれば、読み出す
認証機能を持つ
ポート番号 1101 1 . . 3 プロトコル 3 プロトコル
IMAP (IMAP4)
Internet Message Access Protocol
POP と同様、メールボックスからメールを取り出すためのプロトコル
POP と異なり、受信メールをメール サーバ上で管理する
ポート番号 1431 1 . . 3 プロトコル 3 プロトコル
18
<
POP
の場合>
メールボックス
(未読メール)
メールクライアント フォルダ ( 既読メー
ル )
メールクライアント フォルダ ( 既読メー
ル )
メールボックス
(新着メール)
<
IMAP
の場合>メールサーバ ← → クライアント
(
PC)
1 1 . . 3 プロトコル 3 プロトコル
メールの暗号化
POP3/IMAP4
では、ネットワー ク上を平文のパスワードが流れる ⇒ 盗聴される危険性
パスワードを暗号化 ⇒APOP
全てを暗号化1 1 . . 3 プロトコル 3 プロトコル
ローカル部(ユーザ名)は、その ドメイン(ホスト ) でユニーク
ホストが UNIX マシンの場合は、普通 UNIX のユーザ名と一致
1 1 . . 4 メールアドレス 4 メールアドレス
22
DNS とメール
ドメインに複数のホストがある
各ホストでメールを受信するのでは なく、メールサーバでまとめて受信 したいDNS の MX (Mail Exchange) レコード にて、メールの配送先を指定する
1 1 . . 4 メールアドレス 4 メールアドレス
/etc/named.conf の設定
a.hoge.com. MX 10 mail.hoge.com.
b.hoge.com. MX 10 mail.hoge.com.
このドメインのホスト ⇒、
a
、b
hoo @ a.hoge.com
やbar @ b.hog e.com
へのメールは、mail.hoge.
com
というメールサーバに送ら1 1 . . 4 メールアドレス 4 メールアドレス
24
1 1 . . 5 電子メールの構成 5 電子メールの構成
電子メールは、次の三つで構成
エンベロープ
メールヘッダ
メール本文 メールは、
ASCII
が前提 ASCII
以外の文字や、文字以外 の情報は、MIME
エンコーディ ングされる1 1 . . 5 電子メールの構成 5 電子メールの構成
【参考】
MIME
Multipurpose Internet Mail Extension
ASCII
以外の文字(漢字等)やバイ ナリデータ(画像、音声等)を符号 化
本文を分割 = マルチパートContent-Type: text/html; charset="iso-2022-jp"
26
メールの構成
あて先: [email protected] 差出人: [email protected]
エンベロープ
(封筒)
封筒の中身
メールヘッ ダ
メール本文
1 1 . . 5 電子メールの構成 5 電子メールの構成
エンベロープとメールヘッダ
メールのあて先は、 SMTP コマンド により、エンベロープに書かれる (ヘッダは参照されない)
通常のメーラは、メールヘッダから エンベロープのあて先を作成する 最終目的地のメールサーバに配送さ
れたあとは、エンベロープは消えて1 1 . . 5 電子メールの構成 5 電子メールの構成
28
主なヘッダ情報
Return-Path
Received
From
Reply-to
Subject
Date
To 、Cc 、 Bcc
1 1 . . 5 電子メールの構成 5 電子メールの構成
(メールヘッダの例)
Return-Path: <11-19287-0-0-0-436151-1-b01_itscom_net@cm Delivered-To: [email protected]
Received: (qmail 17988 invoked from network); 14 Apr 2008 0 Received: from unknown (HELO scanichi17.ns.itscom.net) (21 by localhost with SMTP; 14 Apr 2008 06:28:14 +0900
:
Message-ID: <C_M_M_I_D.11_0_19287_0_0.436151.120812 From: 日経ビジネス オンライン <[email protected]>
To: <[email protected]>
Subject: 【 NBonline No.486 】「チャンビー」に見る“成功の法則”
Date: Mon, 14 Apr 2008 06:28:10 +0900 MIME-Version: 1.0
1 1 . . 5 電子メールの構成 5 電子メールの構成
2 2 . . メールサーバの設定 メールサーバの設定
2 . 1 SMTP
サーバの種類2 . 2 Postfix
の設定
2 . 3 POP3 / IMAP4
サーバ2 . 4 サーバの起動
2 . 5 メールアドレスの作成
30
2 2 . . メールサーバの設定 メールサーバの設定
メールを配送するための、
SMTP
サーバ(MTA)
Postfix
メール読み出しのための、
POP3 / IMAP4
サーバ(MRA)
dovecot
32
2 2 . . 1 1 SMTP SMTP サーバの種類 サーバの種類
SMTP
サーバの種類 sendmail
広く使われている
古い、設定が複雑
セキュリティホールが頻発
qmail
もう更新されていない
P ostfix
新しい、設定が容易
2 2 . . 2 2 Postfix Postfix の設定 の設定
Postfix の設定ファイル
/etc/postfix/main.cf
設定の形式項目名 = 値
★ 「設定が簡単」と言われている が、 設定可能な項目は数百ある
34
多くの設定ファイルと同様、コメント による説明がたくさんある
# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
#
queue_directory = /var/spool/postfix
# The command_directory parameter specifies the location of all
# postXXX commands.
#
command_directory = /usr/sbin
# The daemon_directory parameter specifies the location of all Postfix
例:
2 2 . . 2 2 Postfix Postfix の設定 の設定
自身の設定
ホスト名を設定する
ドメイン名を設定するmyhostname = hoo.bar.co.jp mydomain = bar.co.jp
inet_interfaces = all
2 2 . . 2 2 Postfix Postfix の設定 の設定
36
外行きのメールに使うドメイン名
送信したメールがどのドメインか ら来るように見えるかを指定する"user@$mydomain" となる
(注) "$mydomain" は、 "mydomai n" に設定した値を表す
myorigin = $mydomain
2 2 . . 2 2 Postfix Postfix の設定 の設定
受け取るべきメールのドメイン
このマシンが他のマシンに転送 せずにローカルに配送するドメ インを指定するmydestination = $myhostname
localhost.$mydomain localhost $mydomain
2 2 . . 2 2 Postfix Postfix の設定 の設定
38
メールの中継元となるクライアント
指定したドメインからのメールは、
他のドメイン( MTA) に転送する
この指定以外のドメインからのメー ルは、 relay_domains指定による
mynetworks = 133.79.60.0/24
127.0.0.0/8
2 2 . . 2 2 Postfix Postfix の設定 の設定
メールを中継して渡す配送先
よそ者( mynetworks 指定外)
からのメールは、転送しない
relay_domains =
2 2 . . 2 2 Postfix Postfix の設定 の設定
40
注意
mynetworks や relay_domains の 設定を間違えると、 spam をばら撒 くための踏み台にされる事がある転 送
2 2 . . 2 2 Postfix Postfix の設定 の設定
2 2 . . 3 3 POP3/IMAP4 POP3/IMAP4 サーバ サーバ
POP3
、IMAP4
のサーバにも、いろいろなソフトがある
Qpopper
Courier-POP/Courier-IMAP
UW IMAP Server
Cyrus
42
dovecot の設定
設定ファイルは/etc/dovecot.conf
使用するプロトコルを指定する# Protocols we want to be serving:
# imap imaps pop3 pop3s protocols = pop3
2 2 . . 3 3 POP3/IMAP4 POP3/IMAP4 サーバ サーバ
2 2 . . 4 サーバの起動 4 サーバの起動
SMTP
サーバ、POP3/IMAP4
サー バの起動invoke-rc.d / update-rc.d
コマンドservice / chkconfig
コマンド44
ファイアウォールの設定
ファイアウォールで、メールの 送受信を許可する$ iptables -I INPUT -p tcp
-m tcp --dport smtp -j ACCEPT
$ iptables -I INPUT -p tcp
-m tcp --dport pop3 -j ACCEPT
$ invoke-rc.d iptables save filename
2 2 . . 4 サーバの起動 4 サーバの起動
2 2 . . 5 メールアドレスの作成 5 メールアドレスの作成
メールアドレスは、メールサーバに ユーザを作成すれば良い
メールのみのユーザがログイン できるのは、望ましくない⇒ シェルを無効にしたユーザを追加
46
ユーザを作成"suzuki" というユーザ名を作 成
[email protected] でメール受信 は出来るが、シェルが false なのでログインは出来ない
$ useradd -s /bin/false suzuki
2 2 . . 5 メールアドレスの作成 5 メールアドレスの作成
パスワードを設定$ passwd suzuki
Changing password for user suzuki.
新しい UNIX パスワード :
新しい UNIX パスワードを再入力してくださ
い :
passwd: all authentication tokens updated suc cessfully.
( で ユーザ のパスワードを
2 2 . . 5 メールアドレスの作成 5 メールアドレスの作成
48
ユーザがパスワードを変更できるよう にするには、ログインシェルを /bin/
false の変わりに /usr/bin/passwd とするという方法もある
⇒ ログインすると、 passwd が走る
ツールを使用して、 OS のユーザとは 別にアカウントを作成することも可能
2 2 . . 5 メールアドレスの作成 5 メールアドレスの作成
3 3 . spam . spam について について
3 . 1 spam
とは3 . 2 spam
対策
3 . 2 フィルタリング
50
3 3 . . 1 1 spam spam とは とは
spam
メールとは
無差別、大量に配布される迷惑 メール
内容は、出会い系サイトやアダルトサイト
、マルチ商法、怪しげな商品の宣 伝
ワンクリック詐欺サイト、フィッ シングサイトへの誘導
3 3 . . 1 1 spam spam とは とは
spam
の語源
元々は、米国のランチョンミート の缶詰の名前
モンティ・パイソン(英)の"S PAM"
を連呼するコントから、迷 惑メールを指すようになった
最近は、缶詰は 「SPAM
」、迷52
3 3 . . 2 2 spam spam 対策 対策
MSA
の利用、SMTP
認証 spam
メールの発信を拒否(認証がないと 誰でも発信できる)
MTA
の転送を制限
「他所からのメールを他のMTA
に中 継する機能」 の悪用を防止(最近は、ボットによる送信が主 流)
3 3 . . 2 2 spam spam 対策 対策
一般的なセキュリティの強化
ボットにされないようにする フィルタリング
spam
メールを判別し、取り除 く54
spam
メールのフィルタリング MUA
(メールソフト)で、spa m
メールはフィルタリングしてい る
メールボックスがパンクしてし まうので、MTA
(メールサー バ)でのフィルタリングも必要3 3 .3 .3 フィルタリング フィルタリング
フィルタリングのアルゴリズム
単純なもの
送信者やサーバのアドレスで チェック
Subject
や本文中の特定の単語を チェック(「広告」「SEX 」「交際」な
ど)3 3 .3 .3 フィルタリング フィルタリング
56
ベイジアンフィルタ
統計的文書分類技法
教師(利用者)の指示により
、学習する
協調フィルタリング
複数の利用者の共同作業によ
り、学習していく3 3 .3 .3 フィルタリング フィルタリング
spam
フィルターの例 SpamAssassin
ユーザが多い
ベイジアンフィルタ、協調 フィルタリングなど
Bogofilter
ベイジアンフィルタ
POPFile
3 3 .3 .3 フィルタリング フィルタリング
【付録】
【付録】 spam spam への対応 への対応
むやみにメルアドを、ばら撒かない
メイン用のアドレスと、公開用ア ドレスを分ける⇒
公開用アドレスは、すぐに変更 できるもの Web
サイト等に、メイン用アドレ スを載せない58
【付録】
【付録】 spam spam への対応 への対応
spam
メールを受信した時
メール内のURL
にアクセスしない
返事(配信停止依頼)を出さない「 spam
を読んでいる」と判断さ れると大量のspam
が来るように【付録】
【付録】 spam spam への対応 への対応
spam
で宣伝されている物品や サービスを購入しない商売になっている限り、 spam
は なくならない60