6. FreeBSD - メンテナンス・トラブルシュート - メールサーバ - 中継確認

 
6.1 概要
6.2 中継確認
6.3 中継拒否確認
6.4 受信拒否確認

6.1 概要

 メールサーバに接続するクライアントを中継させる・させないのチェックを行います。  チェックに使用するのは telnet コマンドですので、tcpserver 経由の設定を行っていれば、メールサーバのプログラムによらずこの方法は使用できます。  接続および中継許可をローカルネットワークとして 192.168.0.0/255.255.255.0  拒否ネットワークを 1.2.3.0/255.255.255.0  として、以下の定義をしているものとします。

127.:allow,RELAYCLIENT=""
192.168.0.:allow,RELAYCLIENT="",QMAILQUEUE="/var/qmail/bin/simscan"
:allow,QMAILQUEUE="/var/qmail/bin/simscan"
1.2.3.:deny

6.2 中継確認

 tcpserver には、メールの送信元アドレスが TCPREMOTEIP として設定されます。  中継できるアドレスを設定して確認してみます。

> setenv TCPREMOTEIP 192.168.0.1
> tcprulescheck /etc/tcp/tcp.smtp.cdb
rule 192.168.0.:
set environment variable RELAYCLIENT=
set environment variable QMAILQUEUE=/var/qmail/bin/simscan
allow connection
 2行目の中継設定ファイルのディレクトリ・ファイル名は環境に合わせてください。

6.3 中継拒否確認

 中継を拒否するアドレスを設定して確認してみます。

> setenv TCPREMOTEIP 4.5.6.7
> tcprulescheck /etc/tcp/tcp.smtp.cdb
rule :
set environment variable QMAILQUEUE=/var/qmail/bin/simscan
allow connection
 3行目はルールの記述がないということです。  5行目 allow connectionと出力されるので、一瞬びっくりするかも知れません。  tcp.smtp.cdb のルールに 4.5.6.7 は、入っていないので、デフォルトとして allow connection、つまり接続を許可して受信するという意味です。  RELAYCLIENT 環境変数を設定していないので、受信したサーバの外へは送信しません。  qmail-smtpd は、メールを受け取ってもあて先が自分以外のホストである場合は /var/qmail/control/rcpthosts にあるホストからのメールしか転送しません。  ただし、環境変数として RELAYCLIENT が設定されているアドレスからのメールは転送する仕組みになっています。

6.4 受信拒否確認


> setenv TCPREMOTEIP 1.2.3.4
> tcprulescheck /etc/tcp/tcp.smtp.cdb
rule 1.2.3.:
deny connection
 受け取りを拒否しています。