Cisco Wireless LAN Controller (WLC)のHTTPSサーバ証明書設定
Cisco WLCのWebインターフェイス(HTTPS)は,初期設定では自己署名証明書を使用しているため,アクセスする度に証明書の確認を求められます。通常の運用では,管理セグメントで中間者攻撃は稀だとは思いますが,警告を無視する習慣は非常に危険ですし,近年ではLet's Encrypt等の無料証明書の取得も容易になったので,正しい証明書を使うことを強くお勧めします。
ここでは,証明書をWLCにインストールする方法を説明します。Let's Encryptも使おうと思えば使えますが,今回は証明書が手に入った前提で書きます。
PKCS #12形式の秘密鍵・証明書ペアファイルの作成
WLCはPKCS #12形式で保存された署名済みサーバ証明書,秘密鍵,中間CA証明書ファイルのみを受け付けるため,それぞれのPEM形式のファイルを結合して1つのPKCS #12ファイルに変換する必要があります。
まず 以下のファイルを用意します。ファイル名は違っても大丈夫ですが,これ以降は以下のファイル名で説明します。
intermediate-ca-certs.crt
:中間CA証明書(PEM形式)server-cert.crt
:サーバ証明書(署名済み,PEM形式)server.key
:サーバ証明書に対応する秘密鍵(PEM形式)
まず,中間CA証明書とサーバ証明書を繋げて1つのファイルにします。
cat intermediate-ca-certs.crt server-cert.crt > bundle.crt
これにより,複数の-----BEGIN CERTIFICATE-----
から-----END CERTIFICATE-----
で区切られた証明書ファイルがbundle.crt
として生成されます。
次に,以下のコマンドでこの証明書ファイルとサーバ秘密鍵を1つにしたファイルをPKCS #12バイナリフォーマットに変換します。生成されるファイル(wlc-import.p12
)は秘密鍵を含みますので,パスワードで暗号化します。パスワード ChangeHereToGoodPassword
は適当なものに変更して使ってください。
openssl pkcs12 -export -in bundle.crt -inkey server.key -out wlc-import.p12 -clcerts -passin pass:ChangeHereToGoodPassword
最後に,wlc-import.p12
はバイナリフォーマットでこのままではWLCにインポートできないので,以下のコマンドでこれをPEM形式に変換します。
openssl pkcs12 -in wlc-import.p12 -out wlc-import.pem -passin pass:ChangeHereToGoodPassword -passout pass:ChangeHereToGoodPassword
証明書のインストール
作成した証明書(wlc-import.pem
)をインストールするには,まずTFTPサーバにこのファイルを設置します。ここでは,TFTPサーバを192.0.2.101
,TFTPのルートディレクトリにwlc-import.pem
を置きます。次に,WLCにログインして,MANAGEMENT
> HTTP-HTTPS
の順に進みます。下図のようにDownload SSL Certificate From Server
というフォームがあるので,そちらにTFTPサーバの情報を図中のフォームの通り入力します。
必要な項目の入力が終わったら,Download SSL Certificate
のチェックボックスにチェックが付いていることを確認して,画面右上のApply
ボタンを押せば証明書のインストールが始まります。
なお,冗長化構成になっている場合,ピア(スタンバイ機器)の証明書はインストールされないので,スタンバイ機器をアクティブにしてから再度証明書のインストールを行う必要がありますので注意してください。