sendmailのセキュリティ設定
設定しない状態でもsendmailは十分動作します。しかしそのままでは、悪意を持ったユーザーが
設定の穴をついてあなたの情報をとりだすかもしれません。自分のプライバシーを守るためにも
以下の設定を行います。
※青字部分はお客様が入力する部分です。
1.設定ファイルについて
sendmailの設定を変更するときは,通常その設定ファイルである「sendmail.cf」を書きかえるのですが、非常に大変な作業となります。しかし、その元となる「sendmail.mc」ファイルを変更するこ
とで簡単にコントロールすることができます。まず、「sendmail.cfの作成」で作成した、「sendmail.mc」の中を見ると以下のようになっているはずです。
sendmail.mcの内容
divert(-1)
## Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
#
# コメント省略
#
divert(0)dnl
VERSIONID(`@(#)generic-bsd4.4.mc 8.7 (Berkeley) 5/19/1998')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
|
2.SMTPコマンドとプライバシーフラグ
smtpコマンドの中には好ましくないものがいくつかあります。
メールのやり取りを行う上で必要ないコマンド、セキュリティ上好ましくないコマンドを禁止するために「プライバシーフラグ」の設定を行うことができます。
以下に代表的なプライバシーフラグの効果を挙げます。
2-1.プライバシーフラグ一覧
●needmailhelo
「MAIL」コマンド実行する前にHELO(呼び出しホスト名の確認)を要求します。
|
●noexpn
「EXPN」コマンドを禁止する。
「EXPN」コマンドを実行すると、配信先が転送の場合に、その転送先をすべて表示します。
例えばwebmaster@aiueo.comというアドレスがあった場合、本来の受取人の名前が表示されてしまいます。
|
●needexpnhelo
「EXPN」コマンドを実行する前にHELOを要求します。
|
●novrfy
「VRFY」コマンドを禁止する
「VRFY」コマンドを実行すると、そのアドレスが配信可能かどうかを調べます。つまり、その受信者(ユーザー)が存在するか否かの情報が表示されます。
# vrfy aiueo
250 aiueo ai ueo aiueo@email.com ← ユーザー情報
|
このように、vrfyのあとにユーザーログイン名を与えると、そのユーザーの詳細が表示されてしまいます。
|
●needvrfyhelo
VRFYコマンドを実行する前にHELOを要求します。
|
●restrictmailq
一般ユーザーのmailqコマンドの使用を禁止します。
「mailq」コマンドとは、「キュー(送信待ちリスト)」にたまったメールを除くコマンドです。
サーバーは何らかの原因(相手側ホストがダウンしていたなど)で、送信に失敗したメールをまた次回に再送信するために「キュー」という場所へ保管しています。
この設定していないと、他ユーザーに再送信待ちのメールを除かれてしまう恐れがあります。
|
●restrictqrun
一般ユーザーの「sendmail」コマンド「-q」オプションの使用を禁止します。
「sendmail」にオプション「-q」をつけ実行すると、「キュー」に一時的に保管されているメールを送信します。
この設定していないと、他ユーザーに勝手に保管メールを送信されてしまう恐れがあります。
|
●noreceipts
ヘッダーにReturn-receipt To:の記載がされなくなります。
(Return-receiptとはメールを送信し、相手がそのメールを受信すると、自動的に「読みました」とのメッセージが返送されることです)
|
●authwarnings
メールの発信した先が、偽造したアドレスで送信している旨をヘッダーで警告します。
|
●public
とくに制限を設けません。
|
●goaway
「needmailhelo」, 「needexpnhelo」, 「needvrfyhelo」, 「noexpn」, 「novrfy」, 「authwarnings」,
「noreceipts」の機能のすべてを含んだ設定がなされます。
|
2-2.プライバシーフラグの設定例
2-1.で解説したコマンドの設定をするためには、sendmail.mcに次のような行を追加しましょう。
プライバシーフラグの部分をコンマ ( , ) で区切って複数指定することもできます。
define(`confPRIVACY_FLAGS', `プライバシーフラグ')
※ユーザー名などの情報が漏れるということは、そこからアカウントやパスワードを
割り出すヒントを相手に与える元となりますすべてのセキュリティを万全にするために、通常では 「goaway」
での設定をお勧めしています。
★以下は例としてgoawayに設定したsendmail.mcの内容です★
divert(-1)
#
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#
#
# This is a generic configuration file for 4.4 BSD-based systems,
# including 4.4-Lite, BSDi, NetBSD, and FreeBSD.
# It has support for local and SMTP mail only. If you want to
# customize it, copy it to a name appropriate for your environment
# and do the modifications there.
#
divert(0)dnl
VERSIONID(`@(#)generic-bsd4.4.mc 8.7 (Berkeley) 5/19/1998')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
define(`confPRIVACY_FLAGS', `goaway')
|
|