ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/Apacheのワンタイムパスワードで悩む のソース :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/Apacheのワンタイムパスワードで悩むのソース

  
*認証強化のおまけ [#afd98a4a]
ここ最近(2018年)セキュリティ関連のニュースが多いので、NextCloudに二段階認証を導入したついでに、ApacheのBASIC認証にも、OTP認証を導入してみようと思った次第です。

では、行ってみましょう

*認証モジュール導入 [#e4c33f49]
**パッケージ取得 [#u6a9ad1c]
2018年現在、OTPのモジュールは、Gentoo portageに取り込まれておりません。なので。[[GitHub>https://github.com/archiecobbs/mod-authn-otp]]からダウンロードしてきます。Gitで同期もよし、ZIPをダウンロードしてくるもよし。

**展開&コンパイル [#h2be4733]
 # unzip mod-authn-otp-master.zip

で解凍

 # ./autogen.sh
 # make
 # make install

で問題なくインストールが済みます

**Apacheに設定 [#e08fa619]
***httpd.conf [#paa4a02f]
httpd.confに以下の行を追記します。
 LoadModule authn_otp_module modules/mod_authn_otp.so

***vhostの設定ファイル [#d4f692ba]
 <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>

- OTP認証したいディレクトリのパスをDirectoryディレクティブに記載します。
- OTPAuthUsersFileディレクティブに、ユーザ/パスワードを記載したファイルへのパスを記載します
- OTPAuthMaxLingerに、パスワード認証したセッションの有効期限を書きます。この時間がすぎると、再度パスワードを問われますので、適当な値を。

***パスワードの設定 [#d90a319e]
これはなかなか難儀なのですが、[[こちらのWebサイトのシェル>https://qiita.com/kz-takahashi/items/af8ea7d9894f26a65068]]を流用させて頂きました。

注意点は以下
- 3行目 issuerは適当に自分のサイト名称に書き換えます
- python -cの部分を、python2 -cに書き換えます。Gentooではpython3がデフォルトなのでエラーが出ます。明示的にpython2を指定します。
- file=は、パスワードを置いてあるファイルへのパスです。変えたい場合は適当に書き換えましょう

で、これをapache_otp_user_add.shとかと適当な名前にして実行してみます。

 # apache_otp_user_add.sh <ユーザ名>

と指定すると、<ユーザ名> と秘密鍵のセットのデータを登録してくれると同時に、QRコードを表示してくれるURLを表示してくれます。

URLをコピって、ブラウザで表示し、Google認証アプリや、IIJ SmartKeyアプリで読み込ませると、ワンタイムパスワードが生成されます。

***Apacheを再起動 [#t492a0f6]
設定を有効にするために、Apacheを再起動します。
 # /etc/init.d/apache2 restart

*動作 [#ra1ce707]
認証させたいページにアクセスすると、おなじみApacheのBASIC認証画面が出てきます。

:Username|先程apache_otp_user_add.shに指定した<ユーザ名>
:Password|アプリで表示したワンタイムパスワード

を入力すると、めでたくワンタイムパスワード認証が出来ます。いやぁ、めでたし、めでたし。

  

  • Gentoo Linuxな生活/Apacheのワンタイムパスワードで悩む のバックアップソース(No. All)
    • 現: 2018-01-23 (火) 06:56:30 maruo[3]