4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon WorkSpacesをオレオレ証明書(自己証明書)でデバイス制限した話

Posted at

Amazon WorkSpacesにオレオレ証明書(自己証明書)を登録する

はい皆さんこんにちは

結論から言うとこの記事は
WorkSpacesで認証済みの端末からアクセスを許可するために
証明書を作って登録する話です。

詳細

信頼されたデバイスへの WorkSpaces アクセスを制限する
https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/trusted-devices.html
クライアントアプリケーションはこちら
https://clients.amazonworkspaces.com/

環境:
AmazonWorkSpaces
クライアント:WIN10
サーバ:WIN10
接続方式:クライアントアプリケーション
証明書を作る環境:CentOS7(他のLINUXでもOKです)

注意事項:
接続方式が他のデバイス(WEB ACCESSとか)の場合、証明書でアクセス制限できません
なのでDirectoriesの[Actions]>[Update Details]>[Access Control Options]>[Other Platforms]で他のデバイスが無効になっている前提で話を進めます。

##CA証明書をLINUXサーバで作る
LINUXサーバはyumでパッケージがインストールできる環境なら何でもいいと思います。
今回は有効期限を20年で作ります。よって2040年まで使える証明書になります。

基本root権限でいきます。
rpm -qa | grep openssl
⇒opensslが入って無ければ入れましょう。
yum update -y
rpm -qa | grep openssl

mkdir -p /etc/pki/workspaces/newcerts cd /etc/pki/workspaces/ echo "01" | sudo tee serial touch index.txt cp /etc/pki/tls/openssl.cnf openssl_ca.cnf

vi openssl_ca.cnf
[ CA_default ]の箇所を変更
dir = /etc/pki/workspaces
[ v3_ca ]の箇所でコメントアウト(頭にシャープ追加)
#authorityKeyIdentifier=keyid:always,issuer
[ v3_ca ]の箇所で追記
keyUsage = digitalSignature,cRLSign,keyCertSign
保存する。(SHIFT押しながらZZ)

openssl req -new -x509 -keyout cakey.pem -out cacert.pem -days 7300 -config openssl_ca.cnf
入力はこんな感じで
Enter PEM pass phrase:1111
Verifying - Enter PEM pass phrase:1111
※好きなパスワードにしてください
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Mita
Organization Name (eg, company) [Default Company Ltd]:ramen jiro
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:yourname.com
Email Address []:
※yourname.comは実際のサーバ名に変えてください。WORKSPACESで使う分にはこのままでもいいかもですが・・
※何も書いてないところはエンターで進めます

##クライアント証明書をLINUXサーバで作る
cd /etc/pki/workspaces/ mkdir Client cd Client/ openssl genrsa -out client.key 2048

openssl req -new -key client.key -out client.csr -sha256
入力はこんな感じで
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Mita
Organization Name (eg, company) [Default Company Ltd]:ramen jiro
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:yourname.com
※yourname.comは実際のサーバ名に変えてください。WORKSPACESで使う分にはこのままでもいいかもですが・・
※何も書いてないところはエンターで進めます

cp /etc/pki/tls/openssl.cnf ./openssl_client.cnf

vi openssl_client.cnf
[ CA_default ]の箇所で変更
dir = /etc/pki/workspaces
private_key = $dir/cakey.pem
[ usr_cert ]の箇所で追記
keyUsage = critical,nonRepudiation, digitalSignature, keyEncipherment,dataEncipherment
[ usr_cert ]の箇所でコメントアウト(頭にシャープ追加)
#nsComment = "OpenSSL Generated Certificate"
[ usr_cert ]の箇所で追記
extendedKeyUsage = clientAuth
保存する。(SHIFT押しながらZZ)

mkdir -p /etc/pki/workspaces/newcerts openssl ca -config openssl_client.cnf -out client.crt -in client.csr -days 7300
Enter pass phrase for /etc/pki/workspaces/cakey.pem:
と聞かれたら設定したパスワードを入れます。この手順だと1111
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

openssl pkcs12 -export -in client.crt -inkey client.key -name yourname.com -certfile ../cacert.pem -out workspaces.p12
※yourname.comの箇所は変えてください
Enter Export Password:
Verifying - Enter Export Password:
⇒クライアントにインストールする時に必要なパスワードを設定します(エンターで省略可能)

##うまく動かないとき
途中で間違った場合は、/etc/pki/workspacesから削除して最初からやり直した方が早いと思います。

##LINUXサーバからローカルにファイル転送
出来たファイルをWIN10に持ってくるのですが、パーミッションがどうたらと言われるので最初から圧縮しておきます。
cd /etc/pki tar cvf workspaces.tar workspaces
このworkspaces.tarをFTPなりでローカルに持ってきて解凍します。

##WorkSpacesに登録する
必要なファイルは以下になります。
cacert.pem
⇒AWSのDirectoriesの[Actions]>[Update Details]>[Access Control Options]に登録するファイルです。中身はこんな感じです。
-----BEGIN CERTIFICATE-----
YASAIMASHI
NINNIKU
ABURA
KARAME
-----END CERTIFICATE-----

workspaces.p12
⇒ダブルクリックすると証明書の登録ウィザードが立ち上がるのでデフォルトでインストールします。
パスワードを入れる欄が出てきますが、設定していない場合はスルーでOKです。
確認は、ユーザー証明書の管理(certmgr.msc)>個人>証明書 の中を見ます。

あとは冒頭のクライアントアプリで接続するだけです。

##感想
証明書の作り方とかは結構ネットにあるのですが、
WorkSpacesと絡めたものがあまりなかったので投稿しました。
ありがとうございました。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?