WiKID Strong Authentication 4.0 を Quick-setup で設定する方法
WiKID Strong Authentication 4.0 の Quick-setup を使えば、最大5ユーザーまで無料で動作する二要素認証サーバをテキスト設定ファイルから自動構成できます。この記事はサンプル設定ファイルの各項目説明、実行手順、セキュリティ上の注意点、検証チェックリスト、よくあるトラブルと対処法をまとめたハンズオンガイドです。
重要: 評価用証明書は30日以内に5ユーザー無料ライセンスへ更新する必要があります。パスフレーズは設定後に削除することを推奨します。
目的と前提
目的: Quick-setup を使って WiKID サーバを迅速に構築する方法を示します。
前提:
- root または sudo 権限を持つこと
- PostgreSQL(Pg)が動作していること(quick-setup は DB を初期化します)
- ウェブブラウザで WiKIDAdmin にアクセスできること(後述の URL)
用語定義(1行):
- Quick-setup: テキスト設定ファイルを読み込んで自動的に証明書、DB、RADIUS クライアント等を構成する機能。
準備: サンプルファイルをコピー
まずはサンプル設定ファイルを作業ディレクトリにコピーします。root または sudo で実行してください。
# cp /opt/WiKID/conf/sample-quick-setup.properties wikid.conf
任意のエディタで編集します。
# vim wikid.conf
以下は設定ファイル内の各項目の説明です。セミコロン (;) で始まる行はコメントです。
設定ファイルの項目と意味
; passphrase for protecting certs --------------------------------------
passphrase=protectme
; *NOTE*: YOU SHOULD REMOVE THIS SETTING AFTER CONFIGURATION FOR SECURITY
- passphrase: サーバの評価用証明書や生成される p12 を保護するためのパスフレーズです。絶対に失わないでください。サーバ起動や本番証明書インストール時に必要になります。設定が完了したらセキュリティのためにこの行を削除するか、/etc/WiKID/security に移してください。
; name to give the domain ----------------------------------------------
domainname=mydomain
- domainname: WiKID ドメイン名です。トークン上や管理画面で表示されます。最初は VPN 保護、後に SSH や Google Apps へ拡張する可能性があるため、汎用的な名前を推奨します。
; IP of the server -----------------------------------------------------
domainip=127.0.0.1
- domainip: サーバの外部 IP アドレス。トークンがこのサーバと通信します。
; 0-Padded IP without dots ---------------------------------------------
domaincode=127000000001
- domaincode: ユーザーがトークン設定時に入力するゼロ埋めされたコード(ピリオドなし)。一度入力すれば済みます。秘密にする必要はありません。
; full hostname of the server; can be same as cn value ----------------------
hostname=localhost.localdomain
- hostname: サーバの完全修飾ドメイン名(FQDN)。証明書の CN と一致しても問題ありません。
; information for setting up a RADIUS host
radiushostip=10.1.2.3
radiushostsecret=mysharedsecret
; *NOTE*: YOU SHOULD REMOVE THIS SETTING AFTER CONFIGURATION FOR SECURITY
- radiushostip / radiushostsecret: WiKID に登録する RADIUS クライアント(例: VPN、NPS、FreeRADIUS)の IP と共有シークレットです。設定後はセキュリティのためにこの行を削除することを推奨します。
; optionally create an extra host cert for wauth; leave blank if not needed
wauthhostip=
- wauthhostip: wAuth(API クライアント)のための追加クライアント証明書を作る場合にそのクライアントの IP を指定します。不要なら空白のままにします。生成されるクライアントの p12 は上記の passphrase で保護されます。
; cert properties ------------------------------------------------------
; administrative email for this server
[email protected]
; hostname of server
cn=localhost.localdomain
; organization/company name
o=myorganization
; department or other OU
ou=mydepartment
; city
l=mylocation
; full name of state
st=mystate
; 2-letter country code
c=us
- 証明書に使う情報です。固有の値にする必要があります。正しい情報を入れると評価用証明書から本番証明書への移行が容易になります。間違っていると署名要求 (CSR) を再生成する必要が出ます。
重要: プライバシー保護のため、これらの情報は一般に公開されます。商用利用の場合は組織ポリシーに従ってください。
Quick-setup を実行する
設定ファイルを保存したら quick-setup コマンドを実行します。
# wikidctl quick-setup configfile=wikid.conf
実行中に表示される標準的な出力例(抜粋):
----------------------------------------------
= Checking for valid args ...
= Make sure Pg is running ...
= Checking if DB exists ...NO!
== Setting up new DB ...
log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog).
log4j:WARN Please initialize the log4j system properly.
== Got Pg connection ...
= Setting up intermediate CA cert ...
= Submitting intermediate CA CSR ...
= Creating Tomcat cert ...
= Installing intermediate CA cert ...
== Intermediate cert installation completed!
= Setting up cert for localhost ...
== Setting up localhost settings ...
== RADIUS host does not exist!
== Setting up wAuth client ...
= Setting up cert for 10.100.0.112 ...
== Setting up non-localhost settings ...
== Domain exists! 1
== Adding keys ...
出力でエラーが出たら後述のトラブルシューティングを参照してください。
サーバを起動して確認
設定と証明書の生成が完了したらサーバを起動します。
# wikidctl start
ブラウザで WiKIDAdmin にアクセスしてドメインが作成され、RADIUS クライアントや証明書が正しく設定されているか確認します。
https://yourserver.com/WiKIDAdmin/
そこからトークンをインストールし、ユーザー登録を行ってください。
管理者チェックリスト(導入直後)
- passphrase を安全に保管し、不要なら設定ファイルから削除する
- 評価用証明書は30日以内に本番ライセンスへ移行する
- WiKIDAdmin にアクセスしてドメインと RADIUS 設定を確認する
- テストユーザーでトークン登録と認証(RADIUS 経由)を検証する
- 必要なポート(HTTPS、RADIUS 等)がファイアウォールで許可されているか確認する
テスト計画(ミニメソドロジー)
- テストユーザーを1つ作成し、トークンを発行する。
- VPN(またはテスト RADIUS クライアント)経由で認証を試行する。
- 正しいトークンと間違ったトークンで挙動を比較し、失敗時のログを確認する。
- wAuth クライアントがある場合は、API 呼び出しで証明書ベースの接続ができるか検証する。
受け入れ基準
- WiKIDAdmin にログインできること
- ドメインが作成され、RADIUS クライアントが一覧にあること
- 少なくとも1名のユーザーがトークン登録でき、RADIUS 経由で認証が成功すること
- 証明書(intermediate CA、Tomcat、localhost、必要に応じて wAuth クライアント)が生成・配置されていること
よくある問題と対処法
PostgreSQL に接続できない
- Pg が動作しているか、設定ファイルの接続情報が正しいかを確認してください。ログに接続エラーが出力されます。
証明書関連のエラー
- CN や組織情報が不適切だと CSR 再生成が必要です。設定値を見直し、再度 quick-setup を実行してください。
RADIUS 認証が失敗する
- radiushostip と radiushostsecret が一致しているか、RADIUS サーバのログで受信を確認してください。ファイアウォール設定もチェックしてください。
log4j の WARN
- ログ設定が未初期化である旨の警告です。必ずしも致命的ではありませんが、運用環境では log4j 設定を正しく行ってください。
セキュリティと運用上のベストプラクティス
- パスフレーズはインタラクティブに入力するか、/etc/WiKID/security のような限定アクセスの場所に保管する。設定ファイルに平文で残さない。
- 評価用証明書は30日以内に本番に切り替える。評価証明書は機能面で制限や期限がある場合があります。
- RADIUS の共有シークレットは運用完了後に変更し、設定ファイルから削除する。
- 証明書や秘密鍵のバックアップ・アクセス権限管理を実施する。
役割別チェックリスト
システム管理者:
- Pg の監視、バックアップ設定、ファイアウォールの確認
- wikidctl の起動/停止とログ監視
ネットワーク管理者:
- RADIUS クライアントの IP ホワイトリスト、共有シークレット管理
- ロードバランサやリバースプロキシの設定(必要時)
セキュリティ担当者:
- 証明書ポリシーのレビュー、パスフレーズ管理の監査
- ログの保管と監査証跡の確保
移行と互換性の注意点
- Quick-setup は初期構成用に便利ですが、一度生成した証明書や DB を手動で変更する場合は WiKIDAdmin の指示に従ってください。
- 既存の本番証明書に差し替える際は、CN/組織情報が一致しているとスムーズに移行できます。異なる情報の場合は CSR を再生成してください。
まとめ
- Quick-setup は手早く WiKID サーバを構築する強力な手段です。最大5ユーザーまで無料で試用できるため、小規模環境や検証に最適です。
- セキュリティ(パスフレーズ、証明書のライフサイクル、共有シークレットの管理)を最優先に運用してください。
短いチェックリスト:
- passphrase の安全管理
- 評価証明書を 30 日以内に更新
- テストユーザーで認証確認
- RADIUS と証明書のログを監視
WiKID Strong Authentication サーバのダウンロードはこちらから行えます。