認証強化のおまけ 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
アプリで表示したワンタイムパスワード

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


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 3019, today: 4, yesterday: 1
初版日時: 2018-01-23 (火) 06:56:30
最終更新: 2018-01-23 (火) 06:56:30 (JST) (2278d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

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

我思う ゆえに我あり



携帯用QRコード