qpopperのインストールとShadow password(PAM)
本サイトではPOPサーバにqpopperを使用しています.
ただし、POP Before SMTP (DRAC)
とPAM(Shadow password)に対応させるためにいくつかの追加修正をしました.
Shadow password
RedHat Linuxをインストールするとパスワードは全て/etc/passwd
に書きこまれます.もちろん、パスワードは見ても分からないように
一応エンコードされています.しかし、/etc/passwdは全てのユーザから
読めるようになっているため、それが外部に漏れた場合、パスワードを
解読されてしまう恐れがあります.シャドーパスワードを有効にすると
/etc/passwdのパスワード部分は('X'という文字に置き換えられ、元の
パスワード文字は)/etc/shadowに移されます./etc/shadowはroot以外は
読み書き禁止なので、より安全になります./etc/passwdから/etc/shadow
への移行はpwconvコマンド一発でOKです.以後POPサーバなどのログイン
機能が必要なアプリケーションは、PAMに対応していれば自動的に
/etc/shadowを用いて認証するようになります.
PAM - 交換可能な認証モジュール
PAMは(Pluggable Authentication Modules)の略です.
RedHatでは、統一された認証方法としてPAMが使われています.
詳細は以下のサイトをご覧ください.
http://www.jp.kernel.org/pub/linux/libs/pam/index.html
PAMを使用することで、
- パスワードにDES以外の暗号を用いる.
- サービス妨害(DoS)攻撃そなえるため、全てのユーザに対してリソース (プロセス数,メモリの大きさ等)の制限を加える.
- システムを動作させたまま、シャドウパスワードを利用可能にする.
- 特定のユーザについて、特定の回数・場所からログインを許可する.
等の機能が使用可能になります.
よいことずくめのPAMですが、PAMを利用するにはソフト側で対応している必要が
あります.
qpopperのPAM+DRAC対応
qpopperのオリジナルは
ftp//ftp.qualcomm.com/eudora/servers/unix/popper/
から入手できます.ただし、オリジナルはPAMやDRACともに対応して
いません.そこで、まずPAM対応のソースが
ftp://ftp.real-time.com/pub/real-time/SRPMS/qpopper-2.53-1_PAM.src.rpm
にありますので、それをダウンロードします.rpmを展開すると
qpopper2.53-linux-pam.patchというパッチファイルがありますのでパッチを当てます.
これで、PAM対応のqpopperになります.さらに、POP Before SMTP(DRAC)に対応させるためにqpop253.txt(DRACを展開したディレクトリにあります)
の指示通りに各種ファイルを修正します.DRACをビルドしたときのlibdrac.aが必要ですから適切な場所にコピーしたら、以下のようにビルド・インストールします.
make clean
make realclean
./configure --with-pam --enable-apop=/etc/pop.auth --with-apopuid=pop --enable-dracauth
make
install popper /usr/local/sbin
install -m 4755 -o pop popauth /usr/local/bin
最後に、qpopper.pamdというファイルを/etc/pam.d/qpopperにコピー
して終了です.
もちろん、/etc/inetd.confをqpopper用に修正します.
pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/popper -s