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