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アドレスが追記される。