next up previous contents
Next: G.3 テスト方法 Up: G.2 メイル環境の設計 Previous: G.2.2 ハブホストに集中、内側は直接配送の設定

G.2.3 Other Setting

中継の許可

sendmail はデフォルトでは中継を一切しないようになっています。これは、 SPAM mail の踏台にされないための措置ですが、このためにデフォルトでは 内部に対しても一切中継をしません。そこで、内部に関してのみ中継を許可 するように設定する必要があります。このためのファイルが /etc/mail/relay-domains です。このファイルに中継を許可する IPアドレスやドメイン名を記述します。

202.11.96.17
202.11.96.18
202.11.96.19
202.11.96.20
202.11.96.21
10.16.128.101

sendmail は relay-domains を起動時に読み込みますが、既に動いている場合には kill -HUP を用いて SIGHUP を送らなければなりません。

上の例では、IP を列挙しましたが、もしクラスC ならば 202.11.96 を 書くだけでも良いでしょう。しかし、サブネットマスクやマスク長による設定 は出来ませんので注意してください。また、ドメイン名での設定も出来ます。

summer00.wakhok.ac.jp

勿論、他にも中継を許可したいドメインがあれば、行を改めて追加するだけです。

なお、sendmail には relay-domains 以外の中継許可不許可をするための仕組みと して、access データベースによる方法があります。こちらの場合には、SIGHUP は必要ではありません。この方法では、テキストデータからhash データベースを 作成して sendmail は直接そのデータベースを参照する事になりますが、ここでは 詳しくは取り上げません。更に、動的な方法として、RBL や ORBS のような ブラックリストに掲載された所を最初から拒否するような方法もあります。

define(`confDONT\_BLAME\_SENDMAIL',`safe')

sendmail.8.9 以降、ファイルのパーミッションや、ディレクトリのパーミッション に対して非常に厳しくなっている。例えば、/var が group 書き込みが ON ならば、 そこに map file などを作成したり、そこにおいたデータベースファイルの読み込み そのものを拒否する(しかも、注意すべきは、file not found などというメッセージ や、cannot write というようなメッセージを出すので勘違いしやすい)。 しかし、システムによっては /var などを色々なプログラムで使用するので、 必ずしも sendmail のこの厳格な基準を適用することが難しい場合がある。 これを緩和するための ものが、DONT_BLAME_SENDMAIL で、この値の標準は safe になっているが、 これを緩和したい場合にはカンマで区切って値を書く。 オプションは 多岐にわたるので、ここでは詳しくは解説しないが、
http://www.sendmail.org/tips/DontBlameSendmail.html
による解説があるのでそちらを参照されたい。

FreeBSDではこの項目は設定しなくても問題なく動くようになっている。

ちなみに、主に問題となるのは、ユーザの ~/.forward と、メイリング リストなどの運用で使われる include ファイルのパーミッションであろう。 その場合には、ForwardFileInGroupWritableDirPath を指定する。また、 include ファイルについても同じならば、IncludeFileInGroupWritableDirPath を指定する。
define(`confDONT_BLAME_SENDMAIL',`ForwardFileGroupWritableDirPath,
                                IncludeFileInGroupWritableDirPath')dnl
(紙面の都合上、改行されているが実際には改行しないこと)

サーバの別名

メイルサーバに別名がある場合に、その別名宛のメイルを受け取る事が出来るように するためには sendmail.cf にその別名を全て登録する必要があります。
LOCAL_DOMAIN(`mail1.summer00.wakhok.ac.jp dns.summer00.wakhok.ac.jp')dnl
その他にも、/etc/mail/sendmail.cw ファイルを用いた方法もありますが、 ここでは取り上げません、README を見てください。

メイルの大きさ

配送・転送するメイルの大きさについて、デフォルトでは制限を加えていません。 これらに制限を設けたい場合に利用します。 ファイルの添付をした場合、非常に大きなファイルになる場合が多くなります。 従来は、 そうした場合、split などのコマンドで陽にメイルを分割していました。 しかし、パソコンの 普及と共にそうした配慮のないユーザーも増えているので、制限をなくす方が 一般的になりつつあります。
define(`confMAX_MESSAGE_SIZE', `1000000')
受け取るメッセージの最大値をbyte単位で指定します。上の例では、1Mbyteに 制限しています。デフォルトは無制限。



Noriyo Kanayama