ここ最近(2018年)セキュリティ関連のニュースが多いので、NextCloudに二段階認証を導入したついでに、ApacheのBASIC認証にも、OTP認証を導入してみようと思った次第です。
では、行ってみましょう
2018年現在、OTPのモジュールは、Gentoo portageに取り込まれておりません。なので。GitHub[4]からダウンロードしてきます。Gitで同期もよし、ZIPをダウンロードしてくるもよし。
# unzip mod-authn-otp-master.zip
で解凍
# ./autogen.sh # make # make install
で問題なくインストールが済みます
<Directory "<認証したいHTTPファイルのあるディレクトリ"> Options FollowSymLinks AllowOverride All AuthType Basic AuthName "OTP Authentication (Enter OTP as password)" AuthBasicProvider OTP Require valid-user OTPAuthUsersFile <パスワードファイルのあるパス> OTPAuthMaxLinger 1800 OTPAuthLogoutOnIPChange On </Directory>
これはなかなか難儀なのですが、こちらのWebサイトのシェル[10]を流用させて頂きました。
注意点は以下
で、これをapache_otp_user_add.shとかと適当な名前にして実行してみます。
# apache_otp_user_add.sh <ユーザ名>
と指定すると、<ユーザ名> と秘密鍵のセットのデータを登録してくれると同時に、QRコードを表示してくれるURLを表示してくれます。
URLをコピって、ブラウザで表示し、Google認証アプリや、IIJ SmartKeyアプリで読み込ませると、ワンタイムパスワードが生成されます。
認証させたいページにアクセスすると、おなじみApacheのBASIC認証画面が出てきます。
を入力すると、めでたくワンタイムパスワード認証が出来ます。いやぁ、めでたし、めでたし。
(This host) = https://femt.ddo.jp