コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
全カテゴリ
カテゴリ未導入のページ
利用者の投稿記録
最近の更新
特別ページ一覧
ヘルプ
新規作成
新しい記事
検索
検索
表示
ログイン
個人用ツール
ログイン
sendmailの設定のソースを表示
ページ
ノート
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
特別ページ
ページ情報
表示
サイドバーに移動
非表示
←
sendmailの設定
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。sendmailでspamの踏み台とならないためにいくつかの設定を行う必要があります。 ここでは、sendmailの基本的な設定の他に行わなければならないspamの踏み台とならないための設定を行います。 spamの対策には、大きく分けて2種類あります。1つは踏み台とならないために中継の禁止をおこなうもの、もう1つは自サイトに対してspamを送られないようにするためのものです。 sendmailの設定を行う際、自サイトのメール設定だけでなく、中継を行わないように設定する必要があります。 == (1) 中継の禁止 == 中継を許可したばかりにspamの踏み台となってしまっては、自サイトの影響だけでなく、多くのサイトに迷惑をかけ無駄な資源を使用してしまうことになります。 そこで、他サイトから自サイトに対するメール以外を排除します。 ここの説明はsendmail.8.11.3を前提としています。 sendmailにおいて中継の禁止はsendmail.cfにおいて設定します。sendmailの起動時に、その動作を定義するものです。 ここでは、sendmail.cfをm4形式のマクロを使用し生成します。今回は、ducca.mcというファイル名で作成しますが、任意の判りやすい名前で構いません。 このマクロの雛型は、sendmailのソースに含まれており、sendmail-8.11.3/cf/cfのパスにOSごとに置かれています。 Linuxの場合はgeneric-linux.mc、FreeBSDの場合はgeneric-bsd4.4.mcをducca.mcというファイルにコピーします。 このときのducca.mcの内容は次の通りです。 divert(0)dnl VERSIONID(`$Id: generic-bsd4.4.mc,v 8.10 1999/02/07 07:26:02 gshapiro Exp $') OSTYPE(`bsd4.4')dnl DOMAIN(`generic')dnl MAILER(`local')dnl MAILER(smtp)dnl FreeBSDにおいてのみ注意しなければならない点があります。 それは4.2-RELEASEからmail.localのインストール方法が変わったことです。 これによって、mail.localをメール配送に使用している場合は、 sendmail.cfのMlocalにおいてF=Sフラグを設定する必要があります。 ducca.mcファイルには次の行を追加します。 MODIFY_MAILER_FLAGS(`LOCAL', `+S')dnl ここまでは通常のメール設定です。 ここからは、/etc/mail/aliasesをはじめとするsendmailの動作に必要な設定が終わっているとして解説を行います。 中継を禁止するには、さらに次の一行を加えます。 これは、メールの転送や中継の制限や、受け取りたくないメールアドレスやドメインを記述します。 FEATURE(`access_db', `hash -o /etc/mail/access')dnl /etc/mail/accessには、中継を許可するサイトの設定を記述し、 次のようにデータベースを作成します。 # makemap hash /etc/mail/access < /etc/mail/access この他、メールサーバの本来の動作を行う設定を記述し、 次のようにsendmail.cfを生成します。 % m4 -D_CF_DIR_=./sendmail-8.11.3/cf/cf/ ./sendmail-8.11.3/cf/m4/cf.m4 ducca.mc > sendmail.cf 最後に、sendmailを再起動するか、システムを再起動することによって、 最新のsendmail.cfが読み込まれます。 中継しないことを確認する 設定したサーバが中継するかどうかを確認することが必要です。 これには、abuser.netが提供しているテストによって確認することができます。 Mail relay testing == (2) データベースを参照し禁止する == 中継を許可しているサイトを集めたデータベースが存在します。 一種のブラックリストとして考えて良いでしょう。 このデータベースに掲載されているサイトからはメールを拒否する設定も可能です。 このためには、ducca.mcに次の行を追加します。 FEATURE(dnsbl,`inputs.orbs.org')dnl FEATURE(dnsbl,`outputs.orbs.org')dnl FEATURE(dnsbl,`dul.maps.vix.com')dnl FEATURE(dnsbl,`relays.mail-abuse.org')dnl FEATURE(dnsbl,`rbl.maps.vix.com')dnl == (3) 特定のメールを拒否する == sendmailの設定では、中継を拒否するだけでなく特定のドメインから自サイトに届くメールを拒否することも可能です。 これには、/etc/mail/accessファイルを修正します。 たとえば、以下のように記述します。 user@sample-spam.com REJECT relay-dom.com REJECT 拒否する方法はいくつかあります。 * ドメインを拒否 * IPアドレスを拒否 * メールアドレスを拒否 * ユーザ名を拒否 === ドメインを拒否 === もし、spamを送るドメイン全体を拒否したい場合は次のように指定します。 これは、sample-spam.comドメインがspamの発信源である、または中継に利用されやすいサーバであり、このドメインから自サイトに対するメールは一切拒否するという場合に使用します。 なお、このドメインは架空のものであるため、実際に拒否するメールアドレスを使用してください。 relay-dom.com REJECT === IPアドレスを拒否 === もし、特定のIPアドレス(192.168.128.1)から自サイトに対するメールは一切拒否するという場合に使用します。 なお、このIPアドレスは架空のものであるため、実際に拒否するIPアドレスを使用してください。 192.168.128.1 REJECT === メールアドレスを拒否 === 特定のユーザがspamを送信している場合、このユーザから自サイトに対するメールは一切拒否するという場合に使用します。 なお、このメールアドレスは架空のものであるため、実際に拒否するメールアドレスを使用してください。 user@sample-spam.com REJECT === ユーザ名を拒否 === spam@といった明らかにspam送信を目的としたユーザ名を全て拒否する場合は次のように指定します。 ただし、この場合はspamを目的としたユーザ以外も拒否するため、 使用には十分注意する必要があります。 また、spam777@といったユーザ名には有効にならない点にも注意しておく必要があります。 spam@ REJECT == (4) 拒否したメール == これらの設定を行うごとにmakemapコマンドによってaccessファイルのデータベースを作成する必要があります。 データベースを作成し、実際に拒否されたメールは、次のようにログに記述されます。ログはFreeBSDの場合/var/log/maillogとなります。 ここには、次のように記述されます。 日時 mail sendmail[2210]: f44FSEe02210: ruleset=check_mail, arg1=, relay=mail.duccaa.com, reject=550 5.7.1 ... Message from user@sample-spam.com rejected もし、拒否せず受信できるようにするためには、/etc/mail/accessから該当行を削除します。 なお、既に拒否したメールは送信者に返されているため、再送信してもらわなければ受信者に配送することはできません。 == (5) ユーザ情報列挙の拒否 == SMTPのコマンドにはEXPNとVRFYがあります。 つまり、これらを使用すると、そのユーザが存在するかということが分かります。 たとえば、下の赤色部が、 telnetコマンドでSMTPのポートに接続し、EXPNコマンドを入力したところです。 % telnet mail.ducca.org smtp Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.ducca.org ESMTP Sendmail 8.11.3+3.4W/8.11.3; Mon, 3 Mar 2010 21:06:18 +0900 (JST) HELO www.ducca.org 250 mail.ducca.org Hello localhost [192.168.0.1], pleased to meet you EXPN yamada 250 2.1.5 YAMADA Taro >yamada@ducca.org< これらを禁止するには、ducca.mcにて、noexpnとnovrfyを定義することが必要です。 このためには、ducca.mcに次の一行を追加します。 define(`confPRIVACY_FLAGS', ``authwarnings,noexpn,novrfy'')dnl [[Category:Linux]][[Category:sendmail]] [[Category:Eメール]]
sendmailの設定
に戻る。