|
2003/03/09
外部へ公開するサーバーで、しかも外部からメールの送受信を行いたいのであれば、「POP before SMTP」や「APOP before SMTP」での運用が便利かと思います。
Vine3.2の場合、Vine3.2でPOP Before SMTPのほうがいいと思います。
このページでは、dracを使ったPOP before SMTPの設定を行います。Redhat7.3ではこの方法で設定できるようです。
portmapの起動
dracはportmapサービスを利用しますので、これが起動されるようにしておきましょう。
-
rootになります。$ su -
-
portmapサービスを起動します。
# /etc/init.d/portmap start
-
サーバー起動時にportmapが起動されるように設定します。
# ntsysv --level 345 として、portmapにチェックを入れます。
dracのインストール
- http://mail.cc.umanitoba.ca/drac/ の「Obtaining the Source/compressed tar file」から"drac.tar.Z"をダウンロードします。
-
解凍します。
$ mkdir drac
$ mv drac.tar.Z drac
$ cd drac
$ tar zxvf drac.tar.Z
-
Makefileを編集します(以下は変更が必要な行だけ書いてあります) 。
INSTALL = install
EBIN = /usr/sbin
MAN = /usr/share/man/man
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -DREQ_HASH
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
TSTLIBS = -L. -ldrac
RPCGENFLAGS = -C -I
MANADM = 8 |
-
rpc.dracd.c を編集(パスを変更) 。
#define DBFILE "/etc/postfix/dracd.db"
#define ALFILE "/etc/postfix/dracd.allow" |
-
dracd-setup.linux を編集(POP認証の有効期限を5分にする) 。
「start)」の「daemon rpc.dracd&」の行を
daemon rpc.dracd -e 5&
に変更。 |
-
コンパイルとインストール
$ make
$ su
# make install
# make install-man
# cp dracd-setup.linux /etc/rc.d/init.d/dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc3.d/S78dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc5.d/S78dracd
# ln -s /etc/rc.d/init.d/dracd /etc/rc.d/rc6.d/K22dracd
|
-
dracdにアクセスできるクライアントを指定
# cp dracd.allow-sample /etc/postfix/dracd.allow |
/etc/postfix/dracd.allowを編集します。
#255.255.255.255 192.168.16.8 ← ここをコメントにする
255.255.255.255 127.0.0.1
|
-
qpopperのインストール時に必要なライブラリをインストールします。
-
dracの動作テストをしてみます。
# /etc/rc.d/init.d/dracd start
# cd drac ←dracを解凍したフォルダ
# ./testing localhost 12.34.56.78 ←任意のIPアドレスでOK
# db_dump -p /etc/postfix/dracd.db |
以下のように表示されればOKです
VERSION=3
format=print
type=btree
HEADER=END
12.34.56.78 ←testingで使用したIPアドレスと同じかを確認
1021687559
DATA=END |
qpopperのインストール
qpopperはソースからインストールする必要があります。
-
VineやRedhatは最初からqpopperがインストール済みなので、アン・インストールしておきます。
$ su -
# rpm -e qpopper
-
-
ダウンロードした「qpopperX.X.X.tar.gz」を解凍します。
$ tar zxvf qpopperX.X.X.tar.gz
-
コンパイル&インストールします。
$ ./configure \
--prefix=/usr \
--enable-bulletins=/var/spool/mail/bulletins \
--enable-specialauth \
--with-pam=qpopper \
--with-popuid=pop \
--enable-apop=/etc/pop.auth \
--enable-drac
$ make
$ su
# /usr/sbin/useradd -c "Pop Account" -u 110 \
-s /bin/false -r -d /var/spool/mail pop
# cp popper/popper /usr/sbin/
# cp popper/popauth /usr/sbin/
# mkdir /var/spool/mail/bulletins
|
Postfixの設定
Postfixは最初からインストールされているrpmパッケージを使います。
Postfixの設定は/etc/postfix/main.cf を編集して行います。他の部分はお使いのサーバにあわせて適切に設定してください。以下は最低限、必要だと思われる設定をVine初期値からの変更分で書いています。
mydomain = domain.com
myhostname = host.domain.com
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetworks = 127.0.0.0/8 check_client_access hash:/etc/postfix/dracd
relay_domains = $mydestination
|
inetdの設定(Vine Linux等)
-
rootになります。$ su -
-
/etc/inetd.confを編集して、以下の行を追加します。
pop3 stream tcp nowait root /usr/sbin/tcpd popper
|
-
/etc/hosts.allowを編集して、以下の行を追加します。
-
inetデーモンを再起動します。
# /etc/init.d/inet restart
xinetdの設定(Redhat等の場合)
-
rootになります。$ su -
-
エディタで/etc/xinetd.d/pop3を新規作成してください。
service pop3
{
disable = no
socket_type = stream
flags = REUSE
protocol = tcp
wait = no
user = root
server = /usr/sbin/popper
server_args = -s -R
}
|
-
xinetdを再起動します。
# /etc/rc.d/init.d/xinetd restart
pam設定
/etc/pam.d/qpopperをエディタで新規作成してください。
#%PAM-1.0
auth required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_stack.so service=system-auth
|
ルータ設定
ルータは25番と110番ポートをサーバーにマッピングする必要があります。
不正中継のテスト
Googleで「不正中継のテスト」などで検索するとテストするサイトが調べられます。外部へ公開するサーバーでは本格運用の前に、必ず不正中継のテストを行うようにしましょう。
APOPの設定
おまけですが、APOPの使い方を書いておきます。POP3と違ってAPOPではパスワードが暗号化されるので、APOPが使えるメール・クライアントを利用するのならAPOPでの運用が良いと思います。
以下のようにしてAPOPアカウントを作成したユーザーは、POPでのメール受信が出来なくなります。POPでメール受信するユーザーはAPOPアカウントの作成をしないようします。これでPOPとAPOPの併用が出来ます。
また、POP before SMTPの設定をしていれば、APOP before SMTPという運用が出来ます。
-
最初にqpopperのAPOP用DBを初期化します。
$ su
# /usr/sbin/popauth -init
「Really initialize POP authentication DB?」と表示されるので「y」を入力します。
-
ユーザごとにAPOPアカウントを作成します。
# /usr/sbin/popauth -user USER_NAME
パスワードを2回聞かれるので、入力します。
参考にしたサイト
|