●PostfixでのSMTP Authenticationの導入

 今回は,SMTPサーバとしてPostfixを利用している場合のSMTP Auth導入について紹介する。なお本執筆ではディストリビューションはRedhat Linux7.2,Postfixのバージョンはpostfix Version 1.1.7を利用している。

・Cyrus SASLのインストール
 PostfixでのSMTP Auth導入には,SASL(Simple Authentication and Security Laye-RFC2222)として「Cyrus SASL」ライブラリを利用する。なお,Redhat Linux7.2ではすでにCyrus SASLが組み込まれている。そのため新たにソースファイルからインストールを行うと正常に動作しなくなるので注意しよう。

 まずはCyrus SASLがインストールされているかを確認する。

$ rpm -q cyrus-sasl
cyrus-sasl-1.5.24-20

このように表示されていれば,Cyrus SASLはインストール済みだ。ただ執筆時点で,RedhatのアップデートサイトにCyrus SASLのアップデータが掲載されているので,「update.redhat.com」などからダウンロードして,事前にアップデートしておこう(リスト1)。

リスト1■アップデータ一覧

cyrus-sasl-1.5.24-23.i386.rpm
cyrus-sasl-devel-1.5.24-23.i386.rpm
cyrus-sasl-gssapi-1.5.24-23.i386.rpm
cyrus-sasl-md5-1.5.24-23.i386.rpm
cyrus-sasl-plain-1.5.24-23.i386.rpm

・Cyrus SASLをソースファイルからインストールする場合
 Cyrus SASLがインストールされていない場合は,ソースファイルからインストールを行う。Cyrus SASLのインストールは,下記のように行えばよい。

$ wget ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-1.5.27.tar.gz
$ tar xzvf cyrus-sasl-1.5.27.tar.gz
$ cd cyrus-sasl-1.5.27
$ ./configure --enable-login ※注釈1
$ make
$ su
password:
# make install

インストールしたら,「/etc/ld.so.conf」に,「/usr/local/lib」を追加する。

# ln -s /usr/local/lib/sasl /usr/lib/sasl
# vi /etc/ld.so.conf

/usr/X11R6/lib
/usr/lib/gconv
/usr/lib/qt/lib
/usr/i386-linuxaout/lib
/usr/lib/libc5-compat
/usr/lib/sane
/usr/local/lib ←これを追加する

追加したら,以下のコマンドを実行する。

# /sbin/ldconfig


 Outlook Expressのログイン認証を利用する場合には「--enable-login」を,SMTP認証にUNIXパスワードファイルを利用して認証を行いたい場合は「--with-pwcheck」をつける。ただし,SMTP認証にUNIXパスワードファイルを利用するのはセキュリティ上あまり好ましくないだろう。そこで,ここではSASLのパスワードファイル(sasldb)を作成し利用する認証方法を紹介する。

●Postfixの再コンパイル・インストール

 PostfixでのSMTP Auth導入にはPostfixを再コンパイルして再インストールする必要がある。Postfixの基本的なインストールについては,Linux Tips「メールサーバを動かしたい〜Postfix編〜」を参照してほしい。

$ wget ftp://ftp.ayamura.org/pub/postfix/official/postfix-1.1.7.tar.gz
$ tar xzvf postfix-1.1.7.tar.gz
$ cd postfix-1.1.7.tar.gz
($ make tidy) ←※注1
$ make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/include" AUXLIBS="-L/usr/lib -lsasl" ←※注2
$ make
$ su
password:
# make install
(以下,環境を設定)

※1 以前にインストールを行ったソースディレクトリで作業を行う場合は,make makefilesの前にmake tidyを行ってからmake makefilesを実行する

※2 上記はRedhat Linux7.2ですでにCyrus-SASLがインストールされている場合だ。Cyrus-SASLをソースファイルからインストールしたときには,make makefiles以下のパス設定を下記のように変更する。Cyrus-SASLのconfigure時に特にパスを指定していなければ/usr/local/includeと/usr/local/libとすればよい。

$ wget ftp://ftp.ayamura.org/pub/postfix/official/postfix-1.1.7.tar.gz
$ tar xzvf postfix-1.1.7.tar.gz
$ cd postfix-1.1.7.tar.gz
($ make tidy)
$ make makefiles CCARGS="-DUSE_SASL_AUTH -I/usr/local/include" AUXLIBS="-L/usr/local/lib -lsasl"
$ make
$ su
password:
# make install

PREV 2/5 NEXT