pam_delay モジュールの導入
2001-08-29 作成 福島
TOP > tips > pam
・sshd がディレイを入れてくれない

通常のログインプロセスを利用するのなら、/etc/login.defs に
FAIL_DELAY 秒数
を書き加えれば Brute Force 対策になりますが、
OpenSSH のデフォルトではそれが有効になりません。

sshd_config で UseLogin yes を指定すれば普通の Login 処理にすることも出来ます。
ただし、PasswordAuthentication で有効になったパスワード認証をオーバライドするわけではありません。

sshd_config で
PasswordAuthentication yes    パスワード認証を有効にする
を指定しなければこんな心配をしなくても良いのですが。
※ちなみに、デフォルトは yes です。

幸い、RedHat では PAM (Pluggable Authentication Modules) を採用しているので、
これを使って回避できます。


・pam_delay.so のインストール なぜか RedHat (Vine も) には pam_delay が入っていません。 http://www-uxsup.csx.cam.ac.uk/~pjb1008/project/pam_delay/ $ tar zxf pam_delay.tar.gz $ cd pam_delay $ make # cp pam_delay.so /lib/security/.
・書き方 例: /etc/pam.d/sshd の場合 (パスワードを間違えたら 10 秒待たせる)
#%PAM-1.0
auth       required     /lib/security/pam_pwdb.so shadow
auth       required     /lib/security/pam_nologin.so
auth       required     /lib/security/pam_delay.so 10s
account    required     /lib/security/pam_pwdb.so
password   required     /lib/security/pam_cracklib.so
password   required     /lib/security/pam_pwdb.so shadow nullok use_authtok
session    required     /lib/security/pam_pwdb.so
session    required     /lib/security/pam_limits.so

・ヘッダファイルが無い OS をインストールするときソースを入れないとコンパイル時に pam_modules.h が無いと言われてコンパイルできません。 Makefile をちょこっといじって (CFLAGS += -m486 を追加) コンパイルしておきました。 (-m486 の有無に関わらず同じオブジェクトになってしまった) pam_delay.sopam_delay.o です。 ※ Vine 2.1.5 で使えました。