この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
はじめに
前回でWorkspaces構築して接続を検証しました。
ログイン情報(Registration code、ADユーザとパスワード)があれば、どこからでも接続できます。セキュリティ上、脆弱ですね。
証明書を使用して WorkSpace へのアクセスを信頼されたデバイスに制限することができます。
本章ではこの機能を紹介させていただきます。
ステップ 1: 証明書の作成
Linuxのopensslで証明書を作成しますのでAmazonLinux 2のAMIでEC2インスタンスを作成して接続し、rootユーザに切り替えます。
・ルート証明書生成
cd /etc/pki/CA
# 秘密鍵生成
openssl genrsa -out ca.key 2048
# ルート/オレオレ証明書生成
openssl req -new -x509 -key ca.key -days 3650 -out ca.crt -subj "/C=JP/ST=TOKYO/L=AKIBA/O=CPINFO/OU=cloud-dept/CN=cpinfo-ca.local"
・クライアント証明書生成
# client証明書生成
# csr生成
mkdir client
cd client
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr -subj "/C=JP/ST=TOKYO/L=AKIBA/O=CPINFO/OU=third-dept/CN=cpinfo.local"
cat << EOF > client.ext
[ usr_cert ]
keyUsage = critical,nonRepudiation, digitalSignature, keyEncipherment,dataEncipherment
extendedKeyUsage = clientAuth
EOF
openssl x509 -req -in client.csr -CA ../ca.crt -CAkey ../ca.key -CAcreateserial -days 3650 -extfile client.ext -extensions "usr_cert" -out client.crt
# PKCS #12形式に変換
openssl pkcs12 -export -in client.crt -inkey client.key -name cpinfo.local -certfile ../ca.crt -out client.pfx
注意:keyusage、extendedKeyUsageが必須です。
ステップ 2: クライアント証明書を信頼されたデバイスにデプロイする
クライアント証明書をダブルクリックする
証明書作成時、設定したパスワードを入力する
インポート正常終了
ステップ 3: 制限を設定する
・ディレクトリを選択し、アクションの詳細更新をクリックする
・アクセス制御のオプションを展開する
・信頼されたデバイスのみ許可をONにする
・ルート証明書をインポートする
・更新と終了ボタンを押す
まとめ
これでクライアント証明書をインストールしたデバイスからのみ接続できるようにしました。
お客様にセキュリティ上問題ないかと聞かれるときに、特定デバイスからのみ接続できると説明しておけば、お客さんが安心して提案を受け取っていただけますね。