認証強化のおまけ anchor.png

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

では、行ってみましょう

Page Top

認証モジュール導入 anchor.png

Page Top

パッケージ取得 anchor.png

2018年現在、OTPのモジュールは、Gentoo portageに取り込まれておりません。なので。GitHubからダウンロードしてきます。Gitで同期もよし、ZIPをダウンロードしてくるもよし。

Page Top

展開&コンパイル anchor.png

# unzip mod-authn-otp-master.zip

で解凍

# ./autogen.sh
# make
# make install

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

Page Top

Apacheに設定 anchor.png

Page Top

httpd.conf anchor.png

httpd.confに以下の行を追記します。

LoadModule authn_otp_module modules/mod_authn_otp.so
Page Top

vhostの設定ファイル anchor.png

<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に、パスワード認証したセッションの有効期限を書きます。この時間がすぎると、再度パスワードを問われますので、適当な値を。
Page Top

パスワードの設定 anchor.png

これはなかなか難儀なのですが、こちらのWebサイトのシェルを流用させて頂きました。

注意点は以下

  • 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アプリで読み込ませると、ワンタイムパスワードが生成されます。

Page Top

Apacheを再起動 anchor.png

設定を有効にするために、Apacheを再起動します。

# /etc/init.d/apache2 restart
Page Top

動作 anchor.png

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

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

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


Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 3200, today: 1, yesterday: 0
Princeps date: 2018-01-23 (Tue) 06:56:30
Last-modified: 2018-01-23 (Tue) 06:56:30 (JST) (2451d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード