![]() |
ってなところでしょうか。sendmail のセキュリティ・ホールの多さにヘコんでいる
方には最適だと思います:-)
んで、オフィシャル・サイトは、コチラ
です。ソースのげっちゅーもできます。最新版は、 qmail-1.03.tar.gz だと思います。
make 後のインストールの際に、インストーラがチェックするそうです。 makeする前に正しく DNS を設定しているかどうかチェックしましょう。 とーぜん、DNS が動作しているだけでわ、ダメで、nslookup できないと ダメよん。
でおっけー。
具体的には、
とかしてください。直接 /etc/passwd と /etc/group を 書き換えても良いんだけどねー。
げっちゅーしてきたソースは、いままでのお決まり通りに、
して、デコードしておいてくらはい。無事にデコードできたら、
して、カレントにしておいてね。次は、conf ファイルの書き換えだよ。 カレ ントのファイルを見てみると、conf-cc ってのと、conf-ld ってファイルがあり ます。 gcc でコンパイルする場合、この 2 つのファイルを書き換えてからでな いと、コンパイルできません。あと、インストール先のレポジトリをデフォルト の /var/qmail から変えたい場合は、 conf-qmail を書き換えましょう。
ファイル | 変更前 | 変更後 |
conf-cc | cc -02 | gcc -02 |
conf-ld | cc -s | gcc -s |
conf-qmail | /var/qmail | /usr/local/qmail とか・・・ |
お待たせー。ここで make だよん。設定がちゃんと終わってれば、 su で root になって、
して、暫く、ほったらかしにしておいて下さい。んで、コンパイルが 終わったら、もーちょっとだけ、おまじないです。
そーすると、/var/qmail/control に、ファイルが 5 つ作られてると思います。
の、5 つね。
qmail の稼働中、なにか異常があったり、 SPAM っぽいメールが配信 されてきた場合、postmaster 宛てに、異常を知らせるメールが qmail daemon から送信されてきたりするので、postmaster の alias をキッ チリちゅーにんぐしておきましょう。
ってな感じね。ファイルの中身は、今のトコロはカラッポだけど、 必要に応じて書き換えてもいーんだよ。
README とか、 にも書いてあるけど、qmail daemon の起動用スクリプト をコピーしないとダメみたいッポイので、素直にコピーしておきましょう。
です。この rc ファイルが普段、起動するのに使う起動用スクリプト になります。
qmail は、各ユーザのメールスプールを、 ユーザのホームディレクトリ
に作ることを推奨してそーな雰囲気です。なので、各ユーザのメール
スプールは各ユーザのホームディレクトリに作っておきましょう。
最初に、メールスプールを作るユーザで login しておいてもらって・・
メールスプールのディレクトリ名は、任意の名前をつけることができます。 メールスプールができたら、 .cshrc とか、 .profile なんかにも、MAIL の環境変数を定義しておきましょう。
.cshrc の場合 | .profile の場合 |
setenv MAIL $HOME/Mail | MAIL=$HOME/MH; export MAIL |
とかして Mail の環境変数を設定しておくと、さらに、はっぴーになれる ことでしょう:-)
~/.qmail は各ユーザ専用の qmail コンフィギュレーションファイルです。 メイルボックスのレポジトリとかを書いておきます。最低限、メイルボックス のレポジトリだけは書いておきましょう。記述の具体例は・・・
Mailbox 形式 | ~/Mail/Mailbox が実体の場合 | ./Mail/Mailbox |
Maildir 形式 | ~/Mail が Directory の場合 | ./Mail/ |
とかです。~/.qmail の書き方は、他にも書けるものがありますが、 今は、これだけ設定しておいてくらさい。この後、カンタンな動作 確認をしますが、Maildir 形式の メイルボックスを設定すると、 Maildir に対応した pop や imap なんかもインストールしないと MTA の動作確認ができなくなるッポイので、まずは、ラクチンな Mailbox 形式で基本的なメール配送の動作確認をしてみてから、 必要に応じて Maildir に移行した方が宜しいのではないかと思います。
pop や IMAP でメールを取りたいぞっ!って人のためにも、 /etc/inetd.conf に smtp と pop と IMAP のエントリを書き加えておきましょう。
pop3 stream tcp nowait root /usr/local/bin/ipop3d ipop3d imap stream tcp nowait root /usr/local/bin/imapd imapd smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd |
ってな感じで 3 行、追加しておいてくらはい。んで、 コメントアウトするエントリ
も一つあります。comsat のエントリなんですけれども、これは、メールが到着した
ことを知らせるプログラムです。
qmail では、 comsat と同様の機能を持っているので、デフォルトの comsat は
必要ありません。コメントアウトしてしまいましょう。
と、こんな感じでコメントアウトしてね。これで、/etc/inetd.conf の編集はおしまい。
次に inetd を初期化して編集内容を inetd に Read しなおさせます。 ps -ef | grep inetd
とかやって、inetd の pid を 調べて、
して、inetd を HUP して初期化してくらはい。これで、 /etc/inetd.conf の変更が inetd に反映されます。Solaris 8 とかの場合、pkill -HUP inetd でもよいね。
でも、気をつけておくことがあります。この設定方法はカンタンでラクチンなのは
良いのですけれども、セキュリティ性がまったく確保されていないので、悪意ある
第 3 者から、SPAM の踏み台にされてしまう可能性がありますので、このまま本格
運用するのはオススメできません。
基本的な動作確認のみにだけ、この設定をして後述する tcpserver を使ってアクセス
制限をしてから本格的に運用した方が良いです。
手始めに、手作業で起動してみましょう。
です。 ps -ax | grep qmail とかして、qmail の daemon を調べてみると・・・
qmails xxx x 0 HH:MM:SS ? 0:00 qmail-send qmaill xxx x 0 HH:MM:SS ? 0:00 splogger qmail root xxx x 0 HH:MM:SS ? 0:00 qmail-lspawn ./Maildir qmailr xxx x 0 HH:MM:SS ? 0:00 qmail-rspawn qmailq xxx x 0 HH:MM:SS ? 0:00 qmail-clean |
とかってゆー daemon が動いてればおっけーです。起動だけはね・・・ ちゃんと配信されるかどーかわ、別の問題(笑)この起動例は、 Maildir での起動例です。
まずは、以下のコマンドで、メールをローカルユーザ宛てにメールを 送ってみて下さい。
すぐに、カラッポのメールが hogehoge ユーザのメールボックスに届いたと思います。
届かなかった場合、 /var/qmail/control の中のファイルの内容を書き間違えてな
いか、FQDN は正しいか、 $HOME/.qmail は正しいか・・・・とかをチェックして下
さい。
処理結果は、 syslog にも出力されています。
今度は、 OS を ReBoot した時とかに、自動的に qmail daemon を起動するよ
うのスクリプトを書きましょう。ワザワザ、手作業で起動しておくなんてめん
どいもんね。
自動起動のスクリプトは、S99qmailの一例
をご覧あれ。
はぢめにゆっておきますけれど、このスクリプトが正しく動作する保証は
アリマセン:-)ので、ダウンロードして御利用にな
るのは良いんですけれども、御使用の前に、よく動作確認をしてから、御使用し
て下さい。
スクリプトのコピー先は、
で、良いのでわないかなっ??99で都合がワルかった(笑)場合は、 最適な順番になるようにちゅーにんぐしてくらはい。
配信テストがうまくいったからって喜んでいると、このままの設定 では SPAM の踏み台にされてしまう可能性があるので、ちゃんと アクセス制限をしておきましょう。アクセス制限をするには、 tcpserver ってゆーのを使います。
ダウン先はコッチね。
2002/02/20 日現在、 ucspi-tcp-0.88.tar.gz が最新のようです。 ダウンしてデコードしておいてくらさい。
だけっす。
とかやってメッセージが表示されれば正常終了しているもようです。
最初に、 /etc/tcp.smtp ってファイルを作っておきます。
このファイルに、
192.168.126.:allow,RELAYCLIENT="" 127.:allow,RELAYCLIENT="" |
って書いてくらさい。 ip アドレスの 192.168.126 は、ローカル の ip アドレスね。ネットマスクしているところなんかは、
192.168.126.128-255:allow,RELAYCLIENT="" 127.:allow,RELAYCLIENT="" |
みたいに書くと良いようです。
誰かレポートしてください(^_^;)そして、この tcp.smtp ってファイルを cdb フォーマットに コンバートしないとダメみたいです。
です。 /etc/tcp.smtp.cdb ってファイルができてませんか?
/etc/rc2.d/S99qmail で tcpserver も起動するようにしましょう。
#!/bin/sh /usr/local/bin/tcpserver -v -u qmaild-uid -g qmail-gid -x \ /etc/tcp.smtp.cdb 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & echo 'Kick the qmail-smtpd form tcpserver' |
こんなとこかな。そのほかにも pop とか apop とかあるけど、 またこんどねっ!