セキュリティ:
メールサーバ編


記述が正確で有用であり続けるよう努力していますが、この文 書を利用したことで不利益が生じたとしても、それは利用者が 負うものとします。また、従えばコンピュータの安全性が保証 されるものでもないことにご注意下さい。

メールの配送を司る Mail Transfer Agent (MTA) としておそ らく最も広く使われている sendmail のインストール、 設定時の留意点を述べます。 また、メールサーバと対で使われるであろう POP サーバについても述べます。

バージョン

特に理由がない限り最新版を利用すべきです。

古い版の sendmail には、セキュリティホールを持つものもあります。 世の中には、最新版は充分テストされていないソフトウェアが あることも事実ですが、sendmail はその重要性から広範囲で βテストが行われ、最新版でも安心して使えるようになっています。

Sendmail Home Page (http://www.sendmail.org/)
フリーウェア版 sendmail のページ。

設定

sendmail の挙動を決める設定ファイル sendmail.cf の作成は、CF を使うと直接記述するよりかなり容易になります。 CF の機能設定ファイル (*.def) の記述法については、 CF のアーカイブ中のドキュメント doc/MANUAL.jpn を参照して下さい。
ftp://ftp.kyoto.wide.ad.jp/pub/mail/CF/
CF の一次配布元。

sendmail.cf の作成時にセキュリティについて 気を配らなければならないのは次の点です。

外部から外部への転送の制限

広告、宣伝といった商業目的で、数千から数万といった多量のメール (SPAM) を配送しようとする 人や組織が増えてきています。 こういった読み手の都合を考えない行為は謹むべきとされています。

もし一万通のメールを自らのネットワークから直接配送しよう とすると、メール一万通分のデータが自らのネットワークを埋 めてしまいます。これを嫌って、他者のメールサーバに多量の メールの配送を押しつける例が世界中で多く発生しています。 この配送押しつけ行為の標的となると、ネットワーク の帯域を大きく食われたり、歓迎されないメールの送信元として メールアドレスを使われて多量の抗議メールを受け取ったり、 迷惑行為の片棒を担ぐはめになります。被害は自組織だけにと どまらず、大学の対外接続線も圧迫されて多くの人に迷惑 がかかります。

この中継に利用されないためには、自ネットワークの外部 から外部へのメールの中継を制限しておく必要があります。

どこまでを内部とみなすかは、どの程度の近隣までを信用する かに依ります。メールの転送制限に関しては、多くの場合、学 科や大学全体を信用できるものとみなしても問題は起きません。 しかし、特別な理由がない限り、信用できると設定するの は自組織のみと設定することをおすすめします。

CF の機能定義ファイル (*.def) の記述

まず、sendmail 8.8.8 か 8.9.X を利用していることを確認します。

CF の機能定義ファイル (*.def) の雛型は CFのディレク トリ/Standards/ ディレクトリにあります。sendmail 8.9.X を使っている場合は smtpcheck-v8.def、 8.8.X を使っている場合は smtpcheck-v7.def を使うとよいでしょう。 より細かな、標準的でない設定をしたい場合、より詳細な雛型である sendmail-v8.defsendmail-v7.def を使うとよいでしょう。

例えば、早稲田大学の外部から外部宛メールの中継を禁止した い場合、CF の機能定義ファイル (*.def) の [smtpcheck] か ら下を次のように記述します。

# [smtpcheck]
MAIL_RELAY_RESTRICTION=yes
CHECK_HOST_DENY=/etc/sendmail.deny
LOCAL_HOST_IPADDR=/etc/sendmail.localip
LOCAL_HOST_DOMAIN=/etc/sendmail.localdomain
ALLOW_RELAY_TO=/etc/sendmail.relay.to
RELAY_MAP=hash:/etc/sendmail.relay.map
*.def で指定した各ファイルには次の内容を記述しておきます。
/etc/sendmail.localip
中継を無条件で受け付ける、送信元 IP アドレス。
133.9.XXX と書くと 133.9.XXX.YYY からの中継要求を受け付けます。
133.9 と書くと早稲田大学全体から受け付けます。
/etc/sendmail.localdomain
中継を無条件で受け付ける、送信元のドメイン名。
自組織のドメイン名 XXX.YYY.waseda.ac.jp
早稲田大学全体 waseda.ac.jp などを記述します。
また、他組織の backup MX となっている場合は次も記述しておきます。
/etc/sendmail.relay.to
その組織の IP アドレス、またはドメイン名を列挙

EXPN, VRFY コマンドの使用制限

SMTP (RFC821 参照) の EXPN, VRFY コマンドの使用を無制限 に許していると、そのメールサーバ上にある名前のユーザが存 在するかどうか確認されたり、場合によってはメイリングリス トのメンバ一覧を取得されてしまうことがあります。

これらプライバシーに関わり得る情報は取得を制限することが 考えられます。セキュリティ的に必須の設定ではありません。 これらの SMTP コマンドが便利に使える場合もあるので、利便 性の低下とプライバシー保護のトレードオフを考え、そのサイ トのポリシーで決めて下さい。

両方とも禁止したい場合、機能定義ファイル (*.def) に次を記述します。

PRIVACY_FLAGS='needmailhelo,noexpn,novrfy,authwarnings'

POP サーバ (popd)

POP サーバとして一般的な QPopper について述べますが、 ほとんどの内容は POP サーバ一般に通じます。

QPopper の古い版にはセキュリティ的な問題があります。 新い版を利用しましょう。

UNIX 系統 OS から POP でメールを取得する場合、RPOP を使 うと楽なのですが、RPOP の認証はよりどころが IP アドレス なので危険です。RPOP を有効にしておくべきではありません。 QPopper では Makefile-DRPOP を付け ない限り、RPOP 認証は有効になりません。

POP の通常の認証方法では、パスワードがそのままネットワー クを流れてしまいます。あまりよいことではありません。 POP には利用者の認証方法が何通りかあり、生のパスワードが流れない APOP という認証方法もあります。

Free Servers from Eudora (http://www.eudora.com/free/servers.html)
QPopper のページ。
ftp://ftp.qualcomm.com/eudora/servers/unix/popper/
QPopper の一次配布元。