2017年8月9日水曜日

HDP 2.6.1でInternal Root CAでHDFSをSSLを使うように変更する。あとKnoxも。

クラスターは start_hdp.sh で作成されたものを想定しています。
それ以外のクラスターではファンクション内のroot@node${i}${_domain_suffix}をなんとかする必要があります。

curl -O https://raw.githubusercontent.com/hajimeo/samples/master/bash/setup_security.sh
source ./setup_security.sh && f_loadResp "your_response_file.resp"
f_hadoop_ssl_setup


KnoxをAmbariから追加後KnoxのGateway.jksを入れ替え:

[root@node3 ~]# cd /usr/hdp/current/knox-server/data/security/keystores/
[root@node3 keystores]# mkdir backup
[root@node3 keystores]# mv __gateway-credentials.jceks gateway.jks backup/

[root@node3 keystores]# cp /etc/hadoop/security/server-keystore.jks ./gateway.jks
[root@node3 keystores]# keytool -changealias -keystore ./gateway.jks -alias node3 -destalias gateway-identity -storepass XXXXXX
[root@node3 keystores]# /usr/hdp/current/knox-server/bin/knoxcli.sh create-alias gateway-identity-passphrase --value XXXXXX

KnoxをAmbariから再起動、また、Demo LDAPも開始

テスト1:普通に接続(-kを使わない)
[root@node3 keystores]# curl -s -u admin:admin-password "https://`hostname -f`:8443/gateway/default/webhdfs/v1?op=LISTSTATUS"
[root@node3 keystores]# echo $?
60

テスト2:Internal Root CAの証明書で(PEM形式)=> OK
[root@node3 keystores]# curl --cacert /etc/hadoop/security/rootCA.pem -u admin:admin-password "https://`hostname -f`:8443/gateway/default/webhdfs/v1?op=LISTSTATUS"
{"FileStatuses":{"FileStatus":[{"acces...

テスト3:Knoxサーバーの証明書では?
[root@node3 keystores]# keytool -exportcert -rfc -file ./knox.crt -keystore ./gateway.jks -alias gateway-identity -storepass XXXXXX
[root@node3 keystores]# curl -s --cacert ./knox.crt -u admin:admin-password "https://`hostname -f`:8443/gateway/default/webhdfs/v1?op=LISTSTATUS"
[root@node3 keystores]# echo $?
60

テスト4:Root CAって必要なの?(必要なし)
[root@node3 keystores]# cp -p gateway.jks gateway.jks.bak
[root@node3 keystores]# keytool -delete -alias rootca -keystore ./gateway.jks -storepass XXXXXX

Restart Knox

[root@node3 keystores]# curl --cacert /etc/hadoop/security/rootCA.pem -u admin:admin-password "https://`hostname -f`:8443/gateway/default/webhdfs/v1?op=LISTSTATUS"
{"FileStatuses":{"FileStatus":[{"acces...


参考:
https://community.hortonworks.com/articles/14900/demystify-knox-ldap-ssl-ca-cert-integration-1.html
https://community.hortonworks.com/articles/56939/replace-knox-self-signed-certificate-with-ca-certi.html

0 件のコメント:

コメントを投稿