古い版の sendmail には、セキュリティホールを持つものもあります。 世の中には、最新版は充分テストされていないソフトウェアが あることも事実ですが、sendmail はその重要性から広範囲で βテストが行われ、最新版でも安心して使えるようになっています。
sendmail.cf の作成時にセキュリティについて 気を配らなければならないのは次の点です。
もし一万通のメールを自らのネットワークから直接配送しよう とすると、メール一万通分のデータが自らのネットワークを埋 めてしまいます。これを嫌って、他者のメールサーバに多量の メールの配送を押しつける例が世界中で多く発生しています。 この配送押しつけ行為の標的となると、ネットワーク の帯域を大きく食われたり、歓迎されないメールの送信元として メールアドレスを使われて多量の抗議メールを受け取ったり、 迷惑行為の片棒を担ぐはめになります。被害は自組織だけにと どまらず、大学の対外接続線も圧迫されて多くの人に迷惑 がかかります。
この中継に利用されないためには、自ネットワークの外部 から外部へのメールの中継を制限しておく必要があります。
どこまでを内部とみなすかは、どの程度の近隣までを信用する かに依ります。メールの転送制限に関しては、多くの場合、学 科や大学全体を信用できるものとみなしても問題は起きません。 しかし、特別な理由がない限り、信用できると設定するの は自組織のみと設定することをおすすめします。
CF の機能定義ファイル (*.def) の雛型は CFのディレク トリ/Standards/ ディレクトリにあります。sendmail 8.9.X を使っている場合は smtpcheck-v8.def、 8.8.X を使っている場合は smtpcheck-v7.def を使うとよいでしょう。 より細かな、標準的でない設定をしたい場合、より詳細な雛型である sendmail-v8.def、sendmail-v7.def を使うとよいでしょう。
例えば、早稲田大学の外部から外部宛メールの中継を禁止した い場合、CF の機能定義ファイル (*.def) の [smtpcheck] か ら下を次のように記述します。
*.def で指定した各ファイルには次の内容を記述しておきます。# [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
これらプライバシーに関わり得る情報は取得を制限することが 考えられます。セキュリティ的に必須の設定ではありません。 これらの SMTP コマンドが便利に使える場合もあるので、利便 性の低下とプライバシー保護のトレードオフを考え、そのサイ トのポリシーで決めて下さい。
両方とも禁止したい場合、機能定義ファイル (*.def) に次を記述します。
PRIVACY_FLAGS='needmailhelo,noexpn,novrfy,authwarnings'
QPopper の古い版にはセキュリティ的な問題があります。 新い版を利用しましょう。
UNIX 系統 OS から POP でメールを取得する場合、RPOP を使 うと楽なのですが、RPOP の認証はよりどころが IP アドレス なので危険です。RPOP を有効にしておくべきではありません。 QPopper では Makefile に -DRPOP を付け ない限り、RPOP 認証は有効になりません。
POP の通常の認証方法では、パスワードがそのままネットワー クを流れてしまいます。あまりよいことではありません。 POP には利用者の認証方法が何通りかあり、生のパスワードが流れない APOP という認証方法もあります。