Juniper Networks社のUTM機器、SSG140のWebサービス環境向け設定を行う機会がありましたので、ハマった点をいくつか記事にまとめます。
今回は、ファームウェア(ScreenOS)のアップデートエラーについて書きます。
ファームウェアアップロードのエラー
SSG140のファームウェアアップデートは、Web UIにログインし、
メニューのConfiguration > Update > ScreenOS/Keys
で行います。
「Firmware Update (ScreenOS) 」を選択し、「ファイルを選択」でPC上のファームウェアファイルを選択し、「Apply」でアップデートを実行します。
通常はこれでうまくいくはずなのですが、なぜか「Firmware update failed.」でエラーとなってしまいました。
いろいろと調べた結果、原因は、
「SSG140に保存されているImage Key(証明書)が古い」
ということでした。
(参考記事)
・Juniper : Introduction to the Junos Operating System, “PKI: DSA verify fails.”
http://blog.shiraj.com/2015/01/juniper-introduction-to-the-junos-operating-system/
上記参考記事によれば、SSG製品は、機器起動時やファームウェアアップデート時に、ファームウェアに含まれるImage KeyとSSG製品に保存されているImage Keyが一致するかを確認するそうです。
現在Juniper Networks社で配布しているファームウェアは、2014年8月にリリースされた新しいImage Keyを含んでいますが、それより古いSSG製品には、古いImage Keyが保存されているため、アップデートに失敗したようです。
Image Keyのアップデート
上記参考記事のとおり、新しいImage KeyをJuniper Networks社からダウンロードして、SSG140にアップロードします。
Juniper Networks社Image Key配布ページ
https://www.juniper.net/documentation/hardware/netscreen-certifications.html
より、「ScreenOS Image Key」をPCにダウンロードし、解凍します。
Web UIにログインし、
メニューのConfiguration > Update > ScreenOS/Keys
で「Image Signature Key Update」を選択します。
「ファイルを選択」でPC上のImage Keyファイル「imagekey.cer」を選択し、「Apply」でアップデートを実行します。
Image Keyをアップデートしたのち、再度ファームウェアのアップデートを試みたところ、無事成功しました!
(参考)Image Keyのバージョン確認方法
参考記事に記載がありますが、SSG製品のコマンドラインインタフェース(CLI)で、SSG製品に保存されているImage Keyの内容を確認することができます。
CLIを使用するには、シリアルケーブルでPCと接続するか、PCからTelnetまたはSSHで接続し、Web UIと同じログイン名、パスワードでログインします。
以下のコマンドを実行して、
SSG140-> exec pki testkey
Key情報が「308201ac~」であれば、Image Keyは古いでのアップデートする必要があります。
KEY1 N/A len =432 308201ac02010002818100fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b651 …
Key情報が「308201ad~」であれば、Image Keyは最新です。
KEY1 N/A len =433 308201ad02010002818100fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400c31e3f80b651 …
Key情報が、「0000000~」であれば、Image Keyがインストールされていないので、やはりアップデートする必要があります。
KEY1 N/A len =0 0000000000000000000000000000000000000000000000000000000000000000000000000000000000 …
(参考)ファームウェア、Image Keyのダウンロード
SSG製品のファームウェアやImage KeyはJuniper Networks社のWebサイトで入手できますが、ダウンロードするには、ユーザー登録が必要です。
Juniper Networks社Webサイトのユーザーアカウント作成ページ
https://userregistration.juniper.net/entitlement/setupAccountInfo.do
にて、ユーザー登録を行います。
ユーザー認証のところでは「Use a device or software serial number」を選択し、SSG製品のシリアルNo.を入力します。
SSG製品のシリアルNo.は、Web UIのメニュー「Home」で確認できます。
ユーザー登録後、Juniper Networks社から「Juniper Networks Registration confirmation:~」というSubjectのメールが届くので、指示に従ってメールに記載のURLにアクセスし、パスワード設定などを行います。
なお、「Guest Account」では、ファームウェアのダウンロードができません。
僕は間違って「Guest Account」で登録してしまったので、
Juniper Networks社「LOGIN ASSISTANCE」のページ
https://userregistration.juniper.net/entitlement/
で、
Issue Type: Access to software downloads
Description: dowload SSG140 Firmware, Serial No. xxxxx
のように記入してリクエストを送りました。
その数時間後、流ちょうな日本語のJuniper Networks社のサポートの方から
「ダウンロードできるようにしたので確認してください。」
とお電話をいただき、無事ダウンロードできるようになりました。