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
お疲れ様でした