Solaris 道をゆく(15) - qmailを使ったメールサーバー
qmailの特徴にセキュリティの高さがありますが、先日始めてとも言えるセキュ リティ上の問題点が作者自身によって報告されました。これは、ある攻撃が行 なわれるとqmail-smtpdがOSのリソースを使いきってしまうというものです(注 11)。この問題に対処するためにちょっとした仕掛けをしておきましょう。実 行例12のようにして、図10のようなスクリプト経由で本当のqmail-smtpdが起 動するようにします。
# cd /var/qmail/bin # mv qmail-smtpd qmail-smtpd2 # vi qmail-smtpd ← 図10のスクリプトを作成 # chown root qmail-smtpd # chgrp qmail qmail-smtpd # chmod 755 qmail-smtpd |
実行例12:
図10: qmail-smtpdスクリプト #/bin/sh ulimit -d 1024 exec /var/qmail/bin/qmail-smtpd2 ${1+"$@"} |
注11: 詳細は http://www.securityfocus.com/bid/2237/ を参照してください。 これにより、qmail-smtpdがOSの資源を使いきってしまうことを防止できます。 |
設定を進めるまえに、Solarisの起動時や終了時に自動で起動、 停止を行なう方法を説明しておきましょう。 図11のような/etc/init.d/qmailスクリプトを作成した上で(注12)、 図12の様にスクリプトのインストールを行なってください(注13)。
図11: qmail起動スクリプト tcpserver を利用する場合は、## から始まっている行のコメントを外した上で、適切な設定を行なってください。###から始まっている行に付いては、後述する解説を参照してください。
|
図12: qmail起動スクリプトのインストール
|
注12: 前号で紹介したdaemontoolsから起動することが推奨されていますが、ここは扱いません。 注13: この辺りのディレクトリの役割などに付いては2001年5月号のSolaris速習コース等を参照してください。 |
一通り動作確認が完了したところで、本格的にqmailクライアントとしての設
定を行なっていきましょう。
設定自体はそれほど難しくはありませんが、sendmailとはかなり違います。今
まで当り前のように利用していたsendmailの機能も置き換えが必要になります
ので、注意してください。
qmailではホームディレクトリの所有者がrootのアカウントや、ホームディレクトリの所有権がないアカウントはシステムアカウントとみなされてメールボックスが作成されません。一般的にrootをはじめ、sysやbinなどがこれに該当します。このため、これらのアカウントでメールを受け取るためには、次項で述べるようにqmailのエイリアス機能を利用して、明示的にメールを受信、転送できるように設定を行なう必要があります(注14)。
注14: 実行例xx6で行なった設定はrootを始めとする最低限必要なシステムアカウント宛のメールを受け取る設定になります。 詳細は次項で説明しますが、以下のようにして
|
.qmail-defaultファイルを作成することで、システムアカウント宛のメールで明示的に設定が行なわれていないもの全てを受け取ります。まずはこの設定を行なっておくとよいでしょう。
なお、受け取ったシステムアカウント宛のメールはaliasアカウントのメールボックスに蓄積されますので、注意してください。qmailを利用する限り、rootユーザなどがメールボックスを持つことはありません。
エイリアスを実現する/etc/aliasesファイルはsendmail用のファイルです(注 15)ので、qmailからは利用することができません。qmailでは~ alias(/var/qmail/alias)以下に.qmail-<エイリアス名>というファイル を各エイリアス毎に作成し、ファイル中で転送先アドレスの設定などを行なう ことで同等の機能を果たします。
注15: UNIXの機能だと思っていた方も多いと思いますが、実はsendmailの
機能です。
注15.5: ここでは従来と同様にメールを受け取る設定にしてあります。 ただし、前項でも述べましたが、エイリアス機能はaliasユーザで実行される ため、メールはaliasユーザ宛のメールとして蓄積されます。 |
また、.qmail-defaultというファイルを作成することで、 どのエイリアスにも該当しなかったメールに対するデフォルトの動作を定義す ることが可能です。
例えば、root宛のメールを monyo@home.local に転送する場合、/var/qmail/alias/.qmail-rootというファイル中に
&monyo@home.local
と記述します。「&」は転送を示すキーワードになります。その他、このファイル中では以下のような設定が可能になっています。
|<プログラム名> <引数>
メッセージをプログラムに引き渡します。.forward と違って、全体を「"」で囲む必要はありません。
/var/mail/monyo
mbox形式のメールボックスの位置を指定します。なお相対パスの場合はホームディレクトリからのパスを表します。
./Maildir/
Maildir形式のメールボックスの位置を指定します。mbox形式とは末尾に「/」が付いているかどうかで区別します。
なお、ファイルには複数行記述することも可能です。
<- 前へ | 2/3 | 次へ -> |
---|