ここでは不特定多数に提供するメールサービスは対象としていません。不特定多数に提供するサービスを目的とする場合は、公のCAから証明書を取得するようにして下さい。
Sendmail-8.12 と Qpopper4 を使用し、送受信に暗号化認証可能なメールサーバーを構築します。SMTP認証には、STARTTLS/DIGEST MD5 、受信サーバーにはAPOP POP Over SSL/TLS を実装し、MUAを選ばないオールラウンドなセキュアメールサーバーを段階的に構築する手順を説明しています。
補足
APOP はセキュリティ上の脆弱性が指摘されており、既に利用価値はありません。よってQpopper を導入する意味は現在なくなっています。
過去に取り上げた 内容を FedoraCore2~4 / CentOS 4 で検証し再編しています。Sendmail-8.12 であれば、パスを置換えれば参考になるかと思います。
ここでは FedoraCore2 にインストールされているSendmailでメールサーバーを構築します。一般的にサーバープログラムは設定ファイル(conf)編集を行 いますが、Sendmailの場合、設定ファイルにあたる書類は、sedmail.cf であり、殆どがC言語でかかれています。
その他の起動時に参照される外部設定ファイルも全てコンパイルされています。通常は、テキストで書かれている sendmail.mcファイルの編集を行い、8.10以降ではM4プリプロセッサによるコンパイルで設定ファイル(conf) にあたるsendmail.cfファイルを生成する手順を踏みます。
その他のsendmailが起動時に参照するフィアル(*.db)の多くも、cfと同 じように直接変更することはありませんが、起動時に意識する事無くdbファイルに反映されるようになっています。
本来のメールの送受信が行えればよい、メーリングリストで多くのメールを捌きたい、利用者が多いという場合は、Sendmailは動作が重く向きません。 qmailやpostfixの利用をお奨めします。 Sendmailは限られたユーザーで、CGIなどのその他のプログラムと連係した 使い方を想定されている開発環境向きのメールサーバーといって良いと思います。高機能ゆえの複雑さ、動作が重い、セキュリティホールの宝庫といわれてきま したが、Sendmail-8.12以降、大きな仕様変更があり、かなりセキュアな仕様になっています。
メールサーバーを構築するための基本的な設定を行います。SMTP AUTHについては、この章では行いません。とりあえず、localクライアントのみが利用できるベーシックな設定を行います。
Sendmail のコメント
Sendmail のコメントは、dnl です。行末にも dnl がありますが、無くても問題ないようです。行末はスペースが入らないように注意して下さい。
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl コメント
↓
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
デフォルトでは、サーバー自身のみがメールサーバーを利用するように設定されています。メールサーバーとして利用する場合はコメントします。コメントしなければ、port25でサービスとして応答しません。
dnl MASQUERADE_AS(`mydomain.com')dnl コメントアウト
↓
MASQUERADE_AS(`cuz.homeip.net')dnl
メールサーバーのドメインを指定します。
dnl FEATURE(masquerade_envelope)dnl コメントアウト
↓
FEATURE(masquerade_envelope)dnl
メールヘッダに含まれるReturn-Pathを、以下のMASQUERADE_DOMAINで指定したドメインに書き換えます。これを行わないと、送信先のメールサーバーよっては弾かれる事があります。(niftyのMLでは弾かれました。)
MASQUERADE_DOMAIN(cuz.homeip.net)dnl
書き換える @ 以降のドメインを指定します。追記します。
sendmail..mcの修正が終わったら、これを元にsedmail.cf を生成します。
m4プリプロセッサで修正したsendmail.mcを元にsendmal.cfにコンパイルします。 ディストリビューションによってパスは異なると思います。RHL系では以下になります。
mcのサンプル、m4のディレクトリは以下になります。
ディレクトリを移動します
念のため現在使用中のsendmail.cfをバックアップします。
修正したsendmail.mcを元にcfを生成します。
これで、現在のsendmail.cfが上書きされます。 この手順は、Sendmailの設定を変更するたびに必要となるので覚えておいて下さい。
このままでは、127.0.0.1しか利用できないようになっています。 次はSendmailの利用を認める設定を行います。