ユーザ認証でタイムアウトを設定する「mod_auth_tineout」

htaccess等を使用したBasic認証では、クライアント側でブラウザを閉じるなどの
操作をしない限り、一度認証に成功したパスワードをブラウザで保持している。

しかし、オンラインバンキングなどの高いセキュリティが求められるWebサイトでは
ユーザが一定時間操作を行わなかった場合に、強制的にログアウトされるような仕
組みが作られている。

Basic認証でも同じように一定時間操作を行わなかった時に、ログアウトされるよう「mod_auth_timeout」モジュールを組み込む。

※mod_auth_timeoutインストールの前に

mod_auth_timeoutのインストールには「apxs(またはapxs2)コマンドが必要
である 。

Centos5.4でyum(rpm)でインストールすると、apxsはインストールされない

httpd-develのインストール

httpd-develをインストールすることで、apxsコマンドがインストールされる

# yum install httpd-devel

mod_auth_timeoutのインストール

まずソースアーカイブをダウンロードする
http://secure.linuxbox.com/tiki/tiki-index.php?page=mod_auth_timeout

wgetコマンドで直接ダウンロードしてもよい
# wget http://secure.linuxbox.com/tiki/files/mod_auth_timeout-1.0.4.1.tar.gz

# tar zxvf mod_auth_timeout-1.0.4.1.tar.gz
# cd mod_auth_timeout-1.0.4.1
# ./configure.sh
# make
# make install

「make install」実行で、mod_auth_timeout.soファイルが/usr/lib/httpd/modules/」
にインストールされる

httpd.confの設定変更

mod_auth_timeoutモジュールを有効にするため、/etc/httpd/conf/httpd.conf
内に以下の行を追加する
(LoadModule~~~が書かれてある最下行に追加する)

LoadModule auth_timeout_module modules/mod_auth_timeout.so

ログイン時間を管理するファイルを作成

ログイン時間を管理するファイル「/var/spool/auth_timeout」を作成する
# mkdir  /var/spool/auth_timeout/
# chown apache.apache  /var/spool/auth_timeout/


Apacheの再起動

# /etc/init.d/httpd restart

htaccessの設定

認証設定をしたいホームページのディレクトリに「.htaccess」ファイルを作成する

例: http://サーバアドレス/~user/secure/index.htmlに認証をかけたい場合

$ cd /home/user/public_html/secure
$ vi .htaccess

AuthType Basic
AuthTimeOut 120
←タイムアウト値の指定(秒)
AuthTimeOutDBMFile /var/spool/auth_timeout/db ←管理ファイルを指定
AuthName "Secure Zone"
AuthUserFile /home/user/.htpasswd
Require valid-user

$ htpasswd –c /home/user/.htpasswd user
New password: パスワード入力
Re-type new password:
パスワード再入力

上記の場合だと認証後、120秒(2分間)後にホームページの再読み込みをすると再度
認証が求められる

広告
カテゴリー: Linux パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中