ADC-Entrust 統合を構成する
-
HSM でリモート設定プッシュを有効にします。
-
Entrust HSM を使用するように ADC を設定します。
-
HSM に NSIP アドレスを追加します。
-
RFS の ADC へのアクセス許可を設定します。
-
起動時に
Hardserverの自動開始を設定します。 -
ADC に HSM を登録します。
-
ADCにRFSの詳細を追加します。
-
ADCをRFSに同期させます。
-
Entrust HSM が ADC に正常に登録されていることを確認します。
-
-
(任意)HSM RSA キーを作成します。
-
Citrix ADCでエンティティを構成します。
-
HSM キーを追加します。
-
HSM キーを使用して証明書とキーのペアを追加します。
-
仮想サーバーを追加します。
-
サーバーオブジェクトを追加します。
-
サービスを追加します。
-
サービスを仮想サーバーにバインドします。
-
証明書とキーのペアを仮想サーバにバインドします。
-
設定を確認します。
-
委託 HSM の設定
Entrust HSM 上のリモートコンピュータの IP アドレスを指定します
-
\[ システム構成\] > \[設定ファイルオプション\] > \[自動プッシュを許可\] に移動します。
-
\[ON\] を選択し、設定を受け入れるコンピュータ (RFS) の IP アドレスを指定します。
HSM でのリモート設定プッシュを有効にする
Entrust HSM 上のリモートコンピュータの IP アドレスを指定します
-
\[ システム構成\] > \[設定ファイルオプション\] > \[自動プッシュを許可\] に移動します。
-
\[ON\] を選択し、設定を受け入れるコンピュータ (RFS) の IP アドレスを指定します。
Entrust HSM を使用するように ADC を構成する
HSM に NSIP アドレスを追加します
root@ns# /opt/nfast/bin/anonkneti <Entrust HSM IP address>
root@ns# /opt/nfast/bin/anonkneti 10.217.2.112
BD17-C807-58D9 5e30a698f7bab3b2068ca90a9488dc4e6c78d822
vi /opt/nfast/kmdata/hsm-BD17-C807-58D9/config/config
hs_clients セクションに、次のエントリを追加します。
# Amount of data in bytes to encrypt with a session key before session key# renegotiation, or 0 for unlimitied. (default=1024\*1024\*8b=8Mb).
# datalimit=INT
addr=10.217.2.43
clientperm=unpriv
keyhash=0000000000000000000000000000000000000000
esn=
timelimit=86400
datalimit=8388608
-----
/opt/nfast/bin/cfg-pushnethsm --address=<Entrust HSM IP address> --force /opt/nfast/kmdata/hsm-BD17-C807-58D9/config/config
/opt/nfast/bin/cfg-pushnethsm --address=10.217.2.112 --force
/opt/nfast/kmdata/hsm-BD17-C807-58D9/config/config
RFS の ADC のアクセス許可を設定します
/opt/nfast/bin/rfs-setup --force -g --write-noauth <NetScaler IP address>
[root@localhost bin]# /opt/nfast/bin/rfs-setup --force -g --write-noauth 10.217.2.43
Adding read-only remote_file_system entries
Ensuring the directory /opt/nfast/kmdata/local exists
Adding new writable remote_file_system entries
Ensuring the directory /opt/nfast/kmdata/local/sync-store exists
Saving the new config file and configuring the hardserver
Done
起動時に hardserver の自動開始を構成する
Hardserver が自動的に開始されます。
touch /var/opt/nfast/bin/thales_hsm_is_enrolled
reboot
ADC に HSM を登録する
nethsmenroll --force <Thales_nShield_Connect_ip_address> $(anonkneti <Thales_nShield_Connect_ip_address>)
root@ns# ./nethsmenroll --force 10.217.2.112 $(anonkneti 10.217.2.112)
OK configuring hardserver's nethsm imports
nethsm_importsセクションにある行 # ntoken_esn=ESN の後に次のエントリを追加します。
…
local_module=0
remote_ip=10.217.2.112
remote_port=9004
remote_esn=BD17-C807-58D9
keyhash=5e30a698f7bab3b2068ca90a9488dc4e6c78d822
timelimit=86400
datalimit=8388608
privileged=0
privileged_use_high_port=0
ntoken_esn=
touch "thales_hsm_is_enrolled"
./nethsmenroll –-remove <NETHSM-IP>
ADCにRFSの詳細を追加する
./rfs-sync --no-authenticate --setup <rfs_ip_address>
./rfs-sync --no-authenticate --setup 10.217.2.6
No current RFS synchronization configuration.
Configuration successfully written; new config details:
Using RFS at 10.217.2.6:9004: not authenticating.
rfs_sync_clientセクションの # local_esn=ESN 行の後に次のエントリを追加します。
……
remote_ip=10.217.2.6
remote_port=9004
use_kneti=no
local_esn=
./rfs_sync –remove
ADCをRFSに同期させる
./rfs-sync –-update
Entrust HSM が ADC に正常に登録されていることを確認します
-
ローカル
Hardserverが稼働していることを確認します。(サーバーの実行を委託)。 -
構成された HSM の状態を取得し、n_modules(モジュール数)フィールドと km 情報フィールドの値がゼロ以外であることを確認します。
-
HSM が正しく登録され、ADC が使用できること(0x2 Usable 状態)を確認します。
-
sigtestを使用した負荷テストは正しく実行されます。
root@ns# ./chkserv root@ns# ./nfkminfo root@ns# ./sigtest
HSM RSA キーの作成
/opt/nfast/kmdata/localフォルダに既にキーが存在する場合は、この手順をスキップしてください。
-
RSA キーを埋め込む:key_embed_2ed5428aaeae1e159bdbd63f25292c7113ec2c78
-
自己署名証明書:example_selfcert
-
証明書署名リクエスト:example_req
generatekeyコマンドは、厳密なFIPS 140-2 Level 3 Security Worldでサポートされています。キーや OCS の作成など、多くの操作を制御するには、管理者カードセット (ACS) またはオペレータカードセット (OCS) が必要です。このgeneratekeyコマンドを実行すると、ACS カードまたは OCS カードを挿入するように求められます。厳格なFIPS 140-2 Level 3 Security Worldの詳細については、nShield Connect ユーザーガイドを参照してください。
[root@localhost bin]# ./generatekey embed
size: Key size? (bits, minimum 1024) [1024] > 2048
OPTIONAL: pubexp: Public exponent for RSA key (hex)? []
>
embedsavefile: Filename to write key to? []
> example
plainname: Key name? [] > example
x509country: Country code? [] > US
x509province: State or province? [] > CA
x509locality: City or locality? [] > Santa Clara
x509org: Organisation? [] > Citrix
x509orgunit: Organisation unit? [] > NS
x509dnscommon: Domain name? [] > www.citrix.com
x509email: Email address? [] > example@citrix.com
nvram: Blob in NVRAM (needs ACS)? (yes/no) [no] >
digest: Digest to sign cert req with? (md5, sha1, sha256, sha384, sha512)
[default sha1] > sha512
key generation parameters:
operation Operation to perform generate
application Application embed
verify Verify security of key yes
type Key type RSA
size Key size 2048
pubexp Public exponent for RSA key (hex)
embedsavefile Filename to write key to example
plainname Key name example
x509country Country code US
x509province State or province CA
x509locality City or locality Santa Clara
x509org Organisation Citrix
x509orgunit Organisation unit NS
x509dnscommon Domain name www.citrix.com
x509email Email address example@citrix.com
nvram Blob in NVRAM (needs ACS) no
digest Digest to sign cert req with sha512
Key successfully generated.
Path to key: /opt/nfast/kmdata/local/key_embed_2ed5428aaeae1e159bdbd63f25292c7113ec2c78
You have new mail in /var/spool/mail/root
[root@localhost bin]# ./generatekey -r simple
from-application: Source application? (embed, simple) [embed] > embed
from-ident: Source key identifier? (c6410ca00af7e394157518cb53b2db46ff18ce29,
2ed5428aaeae1e159bdbd63f25292c7113ec2c78)
[default c6410ca00af7e394157518cb53b2db46ff18ce29]
> 2ed5428aaeae1e159bdbd63f25292c7113ec2c78
ident: Key identifier? [] > examplersa2048key
plainname: Key name? [] > examplersa2048key
key generation parameters:
operation Operation to perform retarget
application Application simple
verify Verify security of key yes
from-application Source application embed
from-ident Source key identifier 2ed5428aaeae1e159bdbd63f25292c7113ec2c78
ident Key identifier examplersa2048key
plainname Key name examplersa2048key
Key successfully retargetted.
Path to key: /opt/nfast/kmdata/local/key_simple_examplersa2048key
ADC でエンティティを構成する
-
機能を有効にします。
-
サブネット IP(SNIP)アドレスを追加します。
-
ADCにHSMキーを追加します。
-
HSM キーを使用して証明書とキーのペアを追加します。
-
仮想サーバーを追加します。
-
サーバーオブジェクトを追加します。
-
サービスを追加します。
-
サービスを仮想サーバーにバインドします。
-
証明書とキーのペアを仮想サーバにバインドします。
-
設定を確認します。
ADCの機能を有効にする
CLI を使用した機能の有効化
enable feature lb
enable feature ssl
GUI を使用した機能の有効化
サブネット IP アドレスの追加
CLI を使用して SNIP アドレスを追加し、設定を確認します
add ns ip <IPAddress> <netmask> -type SNIP
show ns ip
add ns ip 192.168.17.253 255.255.248.0 -type SNIP
Done
show ns ip
Ipaddress Traffic Domain Type Mode Arp Icmp Vserver State
--------- -------------- ---- ---- --- ---- ------- ------
1) 192.168.17.251 0 NetScaler IP Active Enabled Enabled NA Enabled
2) 192.168.17.252 0 VIP Active Enabled Enabled Enabled Enabled
3) 192.168.17.253 0 SNIP Active Enabled Enabled NA Enabled
Done
GUIを使用してSNIPアドレスを追加し、構成を確認します
HSM キーと証明書を ADC にコピーします
/var/opt/nfast/kmdata/localローカルフォルダーにコピーし、証明書 (example_selfcert) を ADC の/nsconfig/sslフォルダーに安全にコピーします。
ADCにキーを追加します
-
HSM キー名は、埋め込みキーを単純なキー形式に変換したときに指定した ident と同じである必要があります。
-
キーは、ADC の
/var/opt/nfast/kmdata/local/ディレクトリに存在する必要があります。
CLI を使用した HSM キーの追加
add ssl hsmKey <hsmKeyName> -key <string>
add ssl hsmKey examplersa2048key –key key_simple_examplersa2048key
Done
GUI を使用して HSM キーを追加する
ADCに証明書とキーのペアを追加する
CLI を使用した証明書とキーのペアの追加
add ssl certKey <certkeyName> -cert <string> -hsmKey <string>
add ssl certKey key22 -cert example_selfcert -hsmKey examplersa2048key
Done
GUI を使用した証明書とキーのペアの追加
仮想サーバーの追加
CLI を使用した SSL ベースの仮想サーバーの構成
add lb vserver <name> <serviceType> <IPAddress> <port>
add lb vserver v1 SSL 192.168.17.252 443
GUI を使用して SSL ベースの仮想サーバーを構成する
サーバーオブジェクトの追加
%python –m SimpleHTTPServer 80
CLI を使用したサーバーオブジェクトの追加
add server <name> <IPAddress>
add server s1 192.168.17.246
GUI を使用したサーバーオブジェクトの追加
サービスを追加する
CLI を使用したサービスの設定
add service <name> <serverName> <serviceType> <port>
add service sr1 s1 HTTP 80
GUI を使用したサービスの構成
サービスを仮想サーバーにバインドする
CLIを使用してサービスを仮想サーバーにバインドします
bind lb vserver <name> <serviceName>
bind lb vserver v1 sr1
GUIを使用してサービスを仮想サーバーにバインドする
-
Traffic Management > Load Balancing > Virtual Serversに移動します。
-
仮想サーバを開き、\[Services\] ペインをクリックして、サービスを仮想サーバにバインドします。
証明書とキーのペアを ADC の仮想サーバーにバインドします
CLI を使用して証明書とキーのペアを仮想サーバーにバインドする
bind ssl vserver <vServerName> -certkeyName <string>
bind ssl vserver v1 -certkeyName key22
Warning: Current certificate replaces the previous binding
GUI を使用して証明書とキーのペアを仮想サーバーにバインドする
-
Traffic Management > Load Balancing > Virtual Serversに移動します。
-
SSL 仮想サーバーを開き、\[**詳細設定\]**で \[SSL 証明書\] をクリックします。
-
サーバー証明書を仮想サーバーにバインドします。
構成を確認します
show lb vserver <name>
show ssl vserver <vServerName>
show lb vserver v1
v1 (192.168.17.252:443) - SSL Type: ADDRESS
State: UP
Last state change was at Wed Oct 29 03:11:11 2014
Time since last state change: 0 days, 00:01:25.220
Effective State: UP
Client Idle Timeout: 180 sec
Down state flush: ENABLED
Disable Primary Vserver On Down : DISABLED
Appflow logging: ENABLED
No. of Bound Services : 1 (Total) 1 (Active)
Configured Method: LEASTCONNECTION
Current Method: Round Robin, Reason: Bound service's state changed to UP
Mode: IP
Persistence: NONE
Vserver IP and Port insertion: OFF
Push: DISABLED Push VServer:
Push Multi Clients: NO
Push Label Rule: none
L2Conn: OFF
Skip Persistency: None
IcmpResponse: PASSIVE
RHIstate: PASSIVE
New Service Startup Request Rate: 0 PER_SECOND, Increment Interval: 0
Mac mode Retain Vlan: DISABLED
DBS_LB: DISABLED
Process Local: DISABLED
Traffic Domain: 0
1) sr1 (192.168.17.246: 80) - HTTP State: UP Weight: 1
Donesh ssl vserver v1
Advanced SSL configuration for VServer v1:
DH: DISABLED
Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
SSLv2: DISABLED SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: DISABLED TLSv1.2: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: key22 Server Certificate
1) Cipher Name: DEFAULT
Description: Predefined Cipher Alias
Done