実機でonePKを使う

cisco python
Published: 2014-04-08

 いつまでもAll-in-oneVMだと面白くないので、自宅のcisco892JでもonepKでアクセスできるようにしました。乗り越えた課題は以下の二つです。

  1. onePKのバージョンを合わせる
  2. 認証

onePKのバージョン

 自宅のCisco892J:IOS 15.3(2)Tに対してonePKで書いたアプリを試してみたのですが、ONEP_BASE-3-VERSION_ERR:のエラーが出て接続できませんでした。ルータに出力されたログを見ると、IOSのバージョンが0.7.0、SDKのバージョンが1.2.0であることが原因のようです。

 

 現時点で最新の15.4(2)Tにアップデートしたところ、onePKのバージョンが1.2.0になりました。契約していてよかったSMARTnet。課題ひとつ解決。

認証

 次は認証です。TLS認証は自己署名証明書と認証局の二択ですが、スタートガイドの注意点(Using a Cisco Router with a Self-Signed Certificate)を踏まえて、認証局(ただしオレオレ)を立てることにしました。

Note: Self-signed certificates are appropriate for application development and testing in small deployments. For additional security, as well as more granular controls over individual certificate use and revocation, you should use certificates generated by your organization’s Certificate Authority. See Using a Cisco Router with a Certificate Authority. Additionally you should never use pinned certificates in a production environment.

 ルータの認証はID/Pass認証とクライアント証明書の二択(Configuring onePK Application Authentication)です。現時点ではID/Passにします。

 作業の大まかな流れは以下の通りです。

  1. オレオレ認証局を立てる。
  2. ルータでCSRを発行する。
  3. 認証局で、CSRを利用して証明書を発行する。
  4. ルータにオレオレルート証明書とオレオレサーバ証明書をインポートする。
  5. アプリケーションが稼働するサーバにオレオレルート証明書を読み込む。

 オレオレ認証局の設定は、プライベート認証局(CA)を構築して証明書の発行を行なうが参考になります。

 Ciscoルータ側の設定は、コピー アンド ペーストによる SSL サービス モジュールでの証明書署名要求の作成PKI の証明書登録の設定が参考になります。ルータへのオレオレRoot証明書とオレオレサーバ証明書のインストールは、コピーアンドペースト方式でやりました。