がらくたネット


mod_authn_otp

mod_authn_otp

Apacheのモジュール群の1つであるmod_authn_otp
One Time Passwordの略。
ここ

インストール

ファイルをダウンロードしてコンパイルしてインストールっていう普通の流れ
httpd-develとopenssl-develが必須

wget https://mod-authn-otp.googlecode.com/files/mod_authn_otp-1.1.6.tar.gz
tar zxf mod_authn_otp-1.1.6.tar.gz
cd mod_authn_otp-1.6.6
./configure
make
make install

vi /etc/httpd/conf/httpd.conf
  LoadModule authn_otp_module modules/mod_authn_otp.so 追加

service httpd reload

設定

Basic認証モードで設定してみる apacheのconfファイルに追記

 <Directory "/var/www/html/protected/">
  AuthType            basic
  AuthName            "Protected Area"
  AuthBasicProvider   OTP
  Require             valid-user
  OTPAuthUsersFile    "/var/www/otp/users.txt"
  </Directory>
</bash>

で。OTPAuthUsersFileを作成して編集\\
このファイルはapacheが読み書きできる必要あり\\

<sxh bash>
vi users.txt
#TokenType  Username  PIN    TokenKey
HOTP/T30    garakuta  1234   c5f03h85fe42h8f8g834

このTokenKeyを生成するのが??だったんだけどここで生成できる
生成した後に表示されるQRコードをGoogleAuthenticatorに読み込ませればOK!

生成するコードも提供してくれている。コピーを置いておく。ga.txt

アクセスする

そして、confで設定したディレクトリにアクセスすると Basic認証が有効になっている。
ここで入力するパスワードは、PINを設定しているのであれば
PIN+GoogleAuthenticatorで表示されている6ケタの数字となる。

ログインに成功すれば、users.txtに時間やIPアドレスが追記される。