qmail + vpopmail環境でport587認証smtpdを追加する

参考にさせてもらったページ

http://www.ninnin.net/blog/archives/001064.html
qmail + vpopmail + qmailadmin


目的・構成

  1. 送信認証はsmtp-authを使用する
  2. smtp認証はvpopmailのアカウントで行う
  3. 勿論OSはFreeBSDが前提

当方のメールサーバは常設+固定IP付与のBフレッツベーシックプランで接続した ネットワーク内に有り,そのネットワーク内からはOutbound Port 25 Blocking (OP25B) 処置の影響を全く受けていないが,一部OP25Bの影響を受ける拠点とモバイルユーザ(softbank の通信カード使用)の為にqmailベースでsmtpd-authに対応したsmtpdを追加で立ち上げ, Port587を使用させて稼働する

OP25B対策が講じられる中で固定IPを付与されたISPアクセスポイントからのport25を使用したsendmailを持っている場合はこの内容を使用できるが,これもISPの規約に従っているモノであって将来にわたって使用が約束されているモノではない

用意するモノ

qmail-1.03.tar.gz (mirror)
qmail-smtpd-auth-0.31.tar.gz (mirror)
qmail-smtpd-relay-reject (mirror)
qmail-1.03.errno.patch (mirror)


qmail-smtpd-submission追加の手順

まずは作業用のディレクトリに上記のモノを片っ端からfetchする
(/usr/local/srcの人もいればアタシのように/home/tmpなどとする人もいるのでご自由にw)
次にソースのtarを展開

tar xvfz qmail-1.03.tar.gz
tar xvfz qmail-smtpd-auth-0.31.tar.gz

次に混乱を避けるためauth等のパッチをあてるソースディレクトリは名前を変更する
(すでにソースのディレクトリがある人はtar展開せずにcpからどうぞ)

cp qmail-1.03 qmail-1.03-submission 

次にパッチ当て作業

cd qmail-smtpd-auth-0.31
cp * ../qmail-1.03-submission/
cd ../qmail-1.03-submission
patch < auth.patch
patch -p1 < ../qmail-smtpd-relay-reject
patch -p1 < ../qmail-1.03.errno.patch

できあがったソースをmakeし,出来上がったqmail-smtpdをリネームして/var/qmail/binへコピー

make
cp ./qmail-smtpd /var/qmail/bin/qmail-smtpd-submission

qmailの起動環境の修正

packet-workzさんのqmail + vpopmail + qmailadmin設定に基づいて作成された,起動用スクリプトを編集する

vi /var/qmail/rc

にて下記追加

[余談1]/var/qmail/rc全体のサンプルとしては下記

勿論/var/qmail/rcには+xしましょう

[余談2]/usr/local/etc/rc.dにOS起動時用/var/qmail/rcを読ませるスクリプトが必要です

vi /usr/local/etc/rc.d/qmail.sh

として

#!/bin/sh
csh -cf '/var/qmail/rc &'

とし,chmod +xします


vchkpwとフィルタリングの調整

まずはvchkpwの調整

cd /home/vpopmail/bin
chmod 4755 vchkpw
chown root:vchkpw vchkpw

で行けます.次にパケットフィルタを使用しているならば,25番tcpポートの記述 そばにでも以下の3行を追加して,587番tcpポート用の穴を追加して開けましょう

add allow tcp from any to any 587 setup 
add allow tcp from any to any 587 
add allow tcp from any 587 to any 

以上


RAJ商会 Apr.2008