目 次
目 次/関連項目

3.5 NIS (ユーザ情報)と MTA

 メールの配送だけであれば MTA の設定は極めてシンプルである。しかし、様々な情報や要求に答えていくと次第に複雑なものとなってくる。その最も重要なものの一つがユーザの情報である。ユーザの情報は主に次のようにして獲得する必要がある。

  1. スプールを行う MTA サーバが動作しているホストの OS から獲得する

  2. ユーザ管理を行っているサーバから獲得する

UNIX における最も手っ取り早い方法として、メールを取り扱う全ての MTA サーバにて、必要なユーザ情報を全て個別に登録することである。もちろん、通常はこれでも問題はない。しかし、ユーザの情報が必要となるのは MTA だけではない。様々なサーバやクライアント(login するときなど)において、必ずユーザ認証という局面は発生する。もちろん、これらでも個別にユーザ登録を行えば良いが、ユーザ情報の追加・削除・変更が発生するたびに大きな負担を強いられる上に、セキュリティホールになる可能性もある。

例えば、新規ユーザの初期パスワードの変更忘れ、単純なパスワードによる管理(台数とは直接関係ないが、ホスト毎に変えていると破りやすいパスワードを利用してしまうこともある)、居なくなったユーザの削除忘れ(第三者のパスワードが有効になっていると考えられる)、など台数が多いと問題がでてくる。

 そこで、foocrane では NIS (Network Information System) によるユーザ管理を行う。NIS では様々な情報を取り扱えるが、その中で MTA サーバはユーザ情報(アカウント名、ユーザ ID やパスワード)とユーザグループ情報を利用する。その様子を示したのが図 3.5.1. である。

図 3.5.1. MTA と NIS(電子メールの到達とメールの獲得)
図 3.5.1. MTA と NIS(電子メールの到達とメールの獲得)


図 3.5.1. を見ると分かるが、「メールを読む」という処理をユーザが行うには、次の3つの段階でユーザ認証が必要になってくる。

  • 他の MTA サーバからメールを受信しスプールするとき

  • POP サーバにクライアントから接続しメールを獲得するとき

  • クライアントホストに login するとき

上でも述べたように、これらの情報を個別にそれぞれのホストにて登録しても構わないが、NIS のような情報共有システムを利用すると管理が楽になる(ただし NIS には NIS のセキュリティ上の問題があるのでその点は忘れてはならない)。

 図 3.5.2. はクライアントがメールを出すときの様子を示している。ここでも次に示すように 2 つの段階でユーザ認証が必要になってくる。

  • MTA サーバにメールの配送要求を出すとき

  • クライアントホストに login するとき

ただし、この場合に限れば、MTA サーバは必ずしもユーザの情報を必要とするわけではない。

図 3.5.2. MTA と NIS(クライアントからの配送要求と NIS)
図 3.5.2. MTA と NIS(クライアントからの配送要求と NIS)


 厳密に言えば、MTA サーバや POP サーバが NIS から情報を直接獲得するわけではなく、ホスト OS が NIS からユーザ情報やユーザグループ情報を獲得し、その情報を MTA サーバや POP サーバが利用するのである。