BIGIPを証明書の認証局にする(1/3)

はじめに

BIGIPをLAN内のロードバランサとして使う時、https通信の暗号化につかう証明書は自己署名にしたいなーって思うことありませんか?

そんな時、BIGIPのサーバー証明書は管理コンソール(WEB画面)で自己署名の証明書を作成できるから簡単ですね。

 

でも。。クライアント証明書も使いたいぞってなると、どうやって作ろうかって考えてしまいますね。

認証局をつくらなければとなり、どこかOpenSSLの使えるサーバーを探して。。。って流れになります。

 

まてよ、BIGIPもOpenSSLがデフォルトで使えるじゃないか!じゃあ、やってみようと思って設定してみました。

 

環境

  • BIGIP LTM v11.5.3 ~ v12.1.1
  • BIGIP LTM VE v11.3.0

認証局をつくる

1.BIGIPに管理ユーザーでログインする

2.ワークディレクトリを作成する

BIGIPには/sharedというワーク用ファイルシステムがあります。

/sharedに認証局用のディレクトリを作成します。

 

# mkdir /shared/CA

# mkdir /shared/CA/certs /shared/CA/crl /shared/CA/newcerts /shared/CA/private

# echo "01" > /shared/CA/serial

# touch /shared/CA/index.txt

3.openssl.cnfを用意する

BIGIPで利用されているopenssl.cnfがあるのでコピーして使う方が手っ取り早いということで、コピーします。

 

# cp /etc/pki/tls/openssl.cnf  /shared/CA/openssl.cnf

 

コピーできたことを確認する

 

# ls -l /shared/CA/openssl.cnf

 

コピーしたopenssl.cnfを編集する

 

dir             = ./demoCA     → dir             = /shared/CA

4.認証局(CA)を作成

# openssl req -config /shared/CA/openssl.cnf -new -x509 -keyout /shared/CA/private/cakey.key -out /shared/CA/cacert.crt -days 5475 -sha256 -newkey rsa:2048

 

Generating a 2048 bit RSA private key
........................................+++
..........+++
writing new private key to '/shared/CA/private/cakey.key'
Enter PEM pass phrase: …①
Verifying - Enter PEM pass phrase: …②
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP    …③
State or Province Name (full name) [Some-State]:Kyoto …④
Locality Name (eg, city) []:Nakagyo-ku …⑤
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Excellence Co., Ltd …⑥
Organizational Unit Name (eg, section) []:System Innovation …⑦
Common Name (e.g. server FQDN or YOUR name) []:1excellence.com …⑧
Email Address []: …⑨

①②はパスフレーズを入力します。①と②は同じ値を入力します。

③は国名を2文字のレターコードで入力します。日本はJP。

④は国名/州名なのですが、日本なので都道府県でいいかな。

⑤は都市名なので、市町村名や区名等。

⑥は組織名なので、会社名とか部署名等。

⑦は組織の単位名なので、部署名、チーム名等。

⑧はFQDN

⑨はメールアドレス(入力しなくてもいい)

 

5.認証局の完成

以下が作成されていれば完成です。

 

/shared/CA/cacert.crt …認証局の証明書(root証明書)

/shared/CA/private/cakey.key  …認証局のキーファイル

6.署名する