サーバー証明書(公式)の設定†
SSL 証明書の設定 (現在の最新は /etc/ssl/official4 に集めている )†
# 20140928 に wiki.hmuna.com --> kgb.hmuna.com 変更に伴い公式の証明書を導入しなおした。↲
# 導入経緯の説明は wiki に(https://kgb.hmuna.com:443/index.php?HomeServer6)↲
# Server Certificate:↲
SSLCertificateFile /etc/ssl/official4/kgb_hmuna_com.crt↲
# Server Private Key:↲
SLCertificateKeyFile /etc/ssl/official4/wiki.hmuna.com.privatekey↲
# Server Certificate Chain:↲
SSLCertificateChainFile /etc/ssl/official4/kgb_hmuna_com.ca-bundle
Apache 設定ファイルの指定(/etc/apache2/site-available/kgb.hmuna.com)†
- ローカルネットからは無条件でログイン可能
- クライアント証明書が確認できたらパスワード無しでログイン可能
- その他のケースでは Google Authentificator(OTP)を使ったログインを要求
<Directory /mnt/raid_vol/html/pukiwiki>↲↲
<RequireAny>↲
# ローカルネットからはパスワードなしアクセスを許可↲
Require ip 172.0.0.1↲
Require ip 192.168.1↲
↲
# それ以外は Google Authentificator を利用↲
<RequireAll>↲
AuthType Basic↲
AuthName "Enter OTP password"↲
AuthBasicProvider OTP↲
Require valid-user↲
OTPAuthUsersFile /mnt/raid_vol/html/otp/users↲
OTPAuthMaxLinger 3600↲
OTPAuthLogoutOnIPChange On↲
</RequireAll>↲
</RequireAny>↲
Google Authenticator の利用†
クライアント証明書の発行と運用 (サーバー証明とは全く別に作る)†
- SSLCACertificateFile はクライアント証明書を発行したオレオレ認証局の 中間証明書+root証明書
- pkcs#12 形式のクライアント証明書を配布する
オレオレ証明局の設定†
- /etc/ssl/client_unofficial 以下にファイルを作成
cd /opt/
sudo mkdir -p demoCA/{private,newcerts}
cd demoCA
sudo sh -c "echo 01 > serial"
munakata@mvc:/etc/ssl/client_unofficial/demoCA$ sudo openssl req -x509 -days 3650 -newkey rsa:2048 -keyout private/cakey.pem -out cacert.prm -subj "/C=JP/ST=Kanagawa/O=local/OU=IT admin/CN=$(hostname)"
Generating a 2048 bit RSA private key
................................................................................+++
......................................................................+++
writing new private key to 'private/cakey.pem'
Enter PEM pass phrase: <---- magumagunana
Verifying - Enter PEM pass phrase:
-----
参考 URL†