Transcript ppt

情報システム管理
第11回 メールサーバ
水野嘉明
本日の内容
1. 電子メールの仕組
メールの仕組や、プロトコルに
ついて
2. メールサーバの設定
SMTPサーバと、POP3/IMAP4
サーバの設定について
3. spam について
spamと、その対策について
2
1. 電子メールの仕組み
1.1 メール配送の仕組み
1.2 各エージェントの解説
1.3 プロトコル
1.4 メールアドレス
1.5 電子メールの構成
3
1. 電子メールの仕組み
 電子メール(e-mail)
とは
ネットワークを通じて文字メッセー
ジを交換するシステム
文字以外のファイルも送受信可能
インターネット以外でも利用されてい
るが、ここではインターネットのメー
ルを説明する
4
1.1 メール配送の仕組み
メール
サーバ
メール
サーバ
インターネット
ユーザ
ユーザ
5
1.1 メール配送の仕組み
 数種類の、エージェント
(Agent)と呼ば
れるソフトウェアが、メールを転送して
いく
代表的エージェントは、MUA、MTA、
MDA など
(注) agent : 代理人
6
1.1 メール配送の仕組み
SMTP(25)
DNS
MTA
MUA
SMTP
(25/587)
(メール
ソフト)
MSA
MailBox
MDA
MRA
メールサーバ
7
1.1 メール配送の仕組み
SMTP(25)
MTA
MailBox
POP
(110)
MSA
MDA
MRA
MUA
(メール
ソフト)
メールサーバ
8
1.2 各エージェントの解説
(Mail User Agent あるいは
Message User Agent)
ユーザが使うメールソフト
ユーザの端末(クライアント)上で
動作する
AL-Mail, OutlookExpress,
Becky!, Thunderbird, Evolution,
Mew, Sylpheed など、多数ある
 MUA
9
1.2 各エージェントの解説
 MTA
(Mail Transfer Agent)
メール配送ソフト
バケツリレー式にメールを転送し、
相手先サーバに届ける
MDAとMTAはセットや一体になっ
ている場合も多く、メールサーバ全
体のことをMTAという場合もある
10
1.2 各エージェントの解説
 MDA
(Mail Delivery Agent)
届いたメールをメールボックスに
保存する
MTAと一体のソフトとなっているこ
とも多い
1台のサーバにユーザが多数いる
場合に使われることが多い
11
1.2 各エージェントの解説
 MRA
(Mail Retrieval Agent)
メールボックス内のメールを、
MUAに引き渡す
12
1.2 各エージェントの解説
 MSA
(Mail Submission Agent)
MUAからのメール送信(投稿)を
受付ける
587番ポートを使い、認証も行う
spam対策のため、メール送信に
もユーザ認証が必要になり追加
13
1.3 プロトコル
 インターネット上で電子メールを送
信・中継・受信するためのプロトコル
SMTP
 メールサーバのメールボックスに書
き込まれたメールを読み出すための
プロトコル
POP (POP3)
IMAP (IMAP4)
14
1.3 プロトコル
 SMTP
Simple Mail Transfer Protocol
メール送受信のためのプロトコル
メールクライアント(MUA)から
メールサーバ(MTA)へ 投稿
メールサーバ間の転送
25番ポート を使用
15
1.3 プロトコル
 POP
(POP3)
Post Office Protocol (Ver.3)
メールボックス操作のためのプロト
コル
メールサーバのメールボックスを
開き、新着メールをチェックする
新着メールがあれば、読み出す
認証機能を持つ
ポート番号 110
16
1.3 プロトコル
 IMAP
(IMAP4)
Internet Message Access Protocol
POPと同様、メールボックスから
メールを取り出すためのプロトコル
POPと異なり、受信メールをメール
サーバ上で管理する
ポート番号 143
17
1.3 プロトコル
<POPの場合>
メールボックス
(新着メール)
メールクライアント
フォルダ(既読メール)
<IMAPの場合>
メールボックス
(未読メール)
メールクライアント
フォルダ(既読メール)
メールサーバ ← → クライアント(PC)
18
1.3 プロトコル
 メールの暗号化
POP3/IMAP4では、ネットワーク
上を平文のパスワードが流れる
⇒ 盗聴される危険性
パスワードを暗号化
⇒ APOP
全てを暗号化
⇒ POP3S、 IMAP4S
19
1.4 メールアドレス
 メールアドレスの形式
ローカル部@ドメイン
いわゆる
ユーザ名
ホスト名
(例)
[email protected]
20
1.4 メールアドレス
 ローカル部(ユーザ名)は、そのドメイ
ン(ホスト)でユニーク
ホストがUNIXマシンの場合は、普
通 UNIXのユーザ名と一致
21
1.4 メールアドレス
 DNSとメール
ドメインに複数のホストがある
各ホストでメールを受信するので
はなく、メールサーバでまとめて受
信したい
DNSのMX (Mail Exchange) レコード
にて、メールの配送先を指定する
22
1.4 メールアドレス
/etc/named.conf の設定
a.hoge.com.
MX 10
mail.hoge.com.
b.hoge.com.
MX 10
mail.hoge.com.
このドメインのホスト ⇒ mail、a、b
[email protected][email protected] へのメールは、
mail.hoge.com というメールサーバ
に送られる
23
1.5 電子メールの構成
 電子メールは、次の三つで構成
エンベロープ
メールヘッダ
メール本文
 メールは、ASCIIが前提
ASCII以外の文字や、文字以外の
情報は、MIME エンコーディングさ
れる
24
1.5 電子メールの構成
 【参考】
MIME
Multipurpose Internet Mail Extension
ASCII以外の文字(漢字等)やバイ
ナリデータ(画像、音声等)を符号化
Content-Type: text/html; charset="iso-2022-jp"
本文を分割 = マルチパート
Content-Type: multipart/mixed; boundary="..."
25
1.5 電子メールの構成
 メールの構成
エンベロープ
(封筒)
封筒の中身
あて先: [email protected]
差出人: [email protected]
メールヘッダ
メール本文
26
1.5 電子メールの構成
 エンベロープとメールヘッダ
メールのあて先は、SMTPコマンド
により、エンベロープに書かれる
(ヘッダは参照されない)
通常のメーラは、メールヘッダから
エンベロープのあて先を作成する
最終目的地のメールサーバに配
送されたあとは、エンベロープは消
えてしまう
27
1.5 電子メールの構成
 主なヘッダ情報
Return-Path
Received
From
Reply-to
Subject
Date
To 、Cc 、 Bcc
28
1.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
Reply-To: <[email protected]>
Content-Type: text/plain;charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit
29
2. メールサーバの設定
2.1 SMTPサーバの種類
2.2 Postfix の設定
2.3 POP3/IMAP4サーバ
2.4 サーバの起動
2.5 メールアドレスの作成
30
2. メールサーバの設定
 メールを配送するための、SMTP
サーバ (MTA)
Postfix
 メール読み出しのための、POP3 /
IMAP4 サーバ (MRA)
dovecot
31
2.1 SMTPサーバの種類
 SMTPサーバの種類
sendmail
広く使われている
古い、設定が複雑
セキュリティホールが頻発
qmail
もう更新されていない
Postfix
新しい、設定が容易
32
2.2 Postfixの設定
 Postfixの設定ファイル
/etc/postfix/main.cf
設定の形式
項目名 = 値
★「設定が簡単」と言われているが、
設定可能な項目は数百ある
33
2.2 Postfixの設定
 多くの設定ファイルと同様、コメントに
よる説明がたくさんある
例: # 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
34
# The daemon_directory parameter specifies the location of all Postfix
2.2 Postfixの設定
 自身の設定
myhostname = hoo.bar.co.jp
ホスト名を設定する
mydomain = bar.co.jp
ドメイン名を設定する
inet_interfaces = all
通信を許可するインターフェース
35
2.2 Postfixの設定
 外行きのメールに使うドメイン名
myorigin = $mydomain
送信したメールがどのドメインから
来るように見えるかを指定する
"user@$mydomain"となる
(注)"$mydomain"は、"mydomain"
に設定した値を表す
36
2.2 Postfixの設定

受け取るべきメールのドメイン
mydestination = $myhostname
localhost.$mydomain localhost
$mydomain
このマシンが他のマシンに転送せ
ずにローカルに配送するドメインを
指定する
37
2.2 Postfixの設定

メールの中継元となるクライアント
mynetworks = 133.79.60.0/24
127.0.0.0/8
指定したドメインからのメールは、
他のドメイン(MTA)に転送する
この指定以外のドメインからのメー
ルは、relay_domains指定による
38
2.2 Postfixの設定

メールを中継して渡す配送先
relay_domains =
よそ者(mynetworks指定外)から
のメールは、転送しない
39
2.2 Postfixの設定
 注意
mynetworks や relay_domains の
設定を間違えると、spamをばら撒く
ための踏み台にされる事がある
転
送
40
2.3 POP3/IMAP4サーバ

POP3、IMAP4のサーバにも、いろ
いろなソフトがある
Qpopper
Courier-POP/Courier-IMAP
UW IMAP Server
Cyrus
dovecot
41
2.3 POP3/IMAP4サーバ
 dovecotの設定
設定ファイルは
/etc/dovecot.conf
使用するプロトコルを指定する
# Protocols we want to be serving:
# imap imaps pop3 pop3s
protocols = pop3
42
2.4 サーバの起動
 SMTPサーバ、POP3/IMAP4サーバ
の起動
invoke-rc.d / update-rc.d コマンド
service / chkconfig コマンド
43
2.4 サーバの起動
 ファイアウォールの設定
ファイアウォールで、メールの送受
信を許可する
$ 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
44
2.5 メールアドレスの作成
 メールアドレスは、メールサーバに
ユーザを作成すれば良い
メールのみのユーザがログイン
できるのは、望ましくない
⇒ シェルを無効にしたユーザを追加
45
2.5 メールアドレスの作成
ユーザを作成
$ useradd -s /bin/false suzuki
"suzuki"というユーザ名を作成
[email protected]
でメール受信は出
来るが、シェルが false なのでロ
グインは出来ない
46
2.5 メールアドレスの作成
パスワードを設定
$ passwd suzuki
Changing password for user suzuki.
新しいUNIX パスワード:
新しいUNIX パスワードを再入力してください:
passwd: all authentication tokens updated
successfully.
(rootで ユーザsuzukiのパスワードを設定)
47
2.5 メールアドレスの作成
 ユーザがパスワードを変更できるよ
うにするには、ログインシェルを
/bin/false の変わりに
/usr/bin/passwd とする
という方法もある
⇒ ログインすると、passwd が走る
 ツールを使用して、OSのユーザとは
別にアカウントを作成することも可能
48
3. spamについて
3.1 spamとは
3.2 spam対策
3.2 フィルタリング
49
3.1 spamとは
 spamメールとは
無差別、大量に配布される迷惑メー
ル
内容は、
出会い系サイトやアダルトサイト、
マルチ商法、怪しげな商品の宣伝
ワンクリック詐欺サイト、フィッシン
グサイトへの誘導
50
3.1 spamとは
の語源
元々は、米国のランチョンミートの
缶詰の名前
モンティ・パイソン(英)の "SPAM"
を連呼するコントから、迷惑メール
を指すようになった
最近は、缶詰は 「SPAM」、迷惑
メールは「spam」と 表記する
 spam
51
3.2 spam対策
 MSAの利用、SMTP認証
spamメールの発信を拒否
(認証がないと 誰でも発信できる)
 MTAの転送を制限
「他所からのメールを他のMTAに
中継する機能」 の悪用を防止
(最近は、ボットによる送信が主流)
52
3.2 spam対策
 一般的なセキュリティの強化
ボットにされないようにする
 フィルタリング
spamメールを判別し、取り除く
53
3.3 フィルタリング
 spamメールのフィルタリング
MUA(メールソフト)で、spamメー
ルはフィルタリングしている
メールボックスがパンクしてしまう
ので、MTA(メールサーバ)での
フィルタリングも必要
54
3.3 フィルタリング
 フィルタリングのアルゴリズム
単純なもの
送信者やサーバのアドレスで
チェック
Subjectや本文中の特定の単語
をチェック
(「広告」「SEX」「交際」など)
55
3.3 フィルタリング
ベイジアンフィルタ
統計的文書分類技法
教師(利用者)の指示により、学
習する
協調フィルタリング
複数の利用者の共同作業により、
学習していく
56
3.3 フィルタリング
 spamフィルターの例
SpamAssassin
ユーザが多い
ベイジアンフィルタ、協調フィルタ
リングなど
Bogofilter
ベイジアンフィルタ
POPFile
ベイジアンフィルタ
57
【付録】 spamへの対応
 むやみにメルアドを、ばら撒かない
メイン用のアドレスと、公開用アド
レスを分ける
⇒ 公開用アドレスは、すぐに変更
できるもの
Webサイト等に、メイン用アドレス
を載せない
58
【付録】 spamへの対応
 spamメールを受信した時
メール内のURLにアクセスしない
返事(配信停止依頼)を出さない
「spamを読んでいる」と判断されると
大量のspamが来るようになる
59
【付録】 spamへの対応
spamで宣伝されている物品や
サービスを購入しない
商売になっている限り、spamはなく
ならない
60
お疲れ様でした