■用意すべき鍵/証明書
* server-key.pem: サーバの秘密鍵。sslwayのオプションで指定
* server-cert.pem: サーバ証明書。sslwayのオプションで指定
* cacert.pem: CAのルート証明書。sslwayのオプションで指定
ハッシュ値をファイル名としたシンボリックリンクを作成
# ln -s cacert.pem `openssl x509 -in cacert.pem -hash -noout`.0
* crl.pem: CRL = Certificate Revocation List
ハッシュ値をファイル名としたシンボリックリンクを作成
# ln -s crl.pem `oepnssl crl -in crl.pem -hash -noout`.r0
■DeleGateの設定
DeleGateをSSLリバースプロキシとして構築し、
クライアントとDeleGate間の通信はHTTPSで行い、
DeleGateとwebserverは素のHTTPで接続する構成を考えます。
■起動スクリプト、サンプル
delegeted -P443 \
SERVER=https \
STLS='fcl,im20,sslway -key server-key.pem -cert server-cert.pem \
-CApath /var/spool/delegate-nobody/lib -Vrfy -crl_check' \
MOUNT='/* http://webserver/*' \
PERMIT='http:{webserver:80}:*'
<2015.02.26 追記>
DOS(Windows)だと cd d:\dgroot\bin
delegated.exe -P443 -vl -f SERVER=https STLS='fcl,sslway -tls1'
MOUNT='/* http://1.2.3.4/*' PERMIT="*:*:*" DGROOT=d:\dgroot
ADMIN=admin@example.com
</2015.02.26 追記>
■オプションの解説
-Vrfy : クライアント証明書の提示・認証を強制するオプション
-crl_check : CRLを読み込むオプション。
-tls1 : tls1を明示するオプション。 <--- 2015.02.26
■証明書の配布
・Androidへの証明書インストール手順、メモ
・クライアント証明書をiPhoneにインポートする手順、メモ
■参考にしたところ
DeleGate HTTPS Reverse Proxy (shakemid.com 2007/11/23)
Delegate + OpenSSL による SSL対応リバースプロキシの構築 (murashima.net 2003/03/28)
DeleGate HTTPS Reverse Proxy_bak_20070518 (shakemid.com 2007/05/18)
DeleGateでクライアント認証付きSSLリバースプロキシサーバ、いわゆるSSL-VPNの一種を構築してみます(shakemid.com)
No comments:
Post a Comment