ソフトウェアのアップグレード
完全なアップグレードの手順については、『Cisco ASA Upgrade Guide』を参照してください。
この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章では、Cisco ASA ソフトウェアおよびコンフィギュレーションの管理方法について説明します。
完全なアップグレードの手順については、『Cisco ASA Upgrade Guide』を参照してください。
TFTP を使用して ROMMON モードから ASA へソフトウェア イメージをロードするには、次の手順を実行します。
ステップ 1 |
アプライアンス コンソールへのアクセスに従って、ASA のコンソール ポートに接続します。 |
||
ステップ 2 |
ASA の電源を切ってから、再び電源をオンにします。 |
||
ステップ 3 |
スタートアップの間に、ROMMON モードに入るようにプロンプト表示されたら、Escape キーを押します。 |
||
ステップ 4 |
ROMMON モードで、IP アドレス、TFTP サーバ アドレス、ゲートウェイ アドレス、ソフトウェア イメージ ファイル、およびポートを含む、ASA に対するインターフェイス設定を次のように定義します。
|
||
ステップ 5 |
設定を検証します。
|
||
ステップ 6 |
TFTP サーバに ping を送信します。
|
||
ステップ 7 |
ネットワーク設定を、後で使用できるように保管しておきます。
|
||
ステップ 8 |
システム ソフトウェア イメージをロードします。
ソフトウェア イメージが正常にロードされると、ASA は自動的に ROMMON モードを終了します。 |
||
ステップ 9 |
ROMMON モードから ASA を起動する場合、システム イメージはリロード間で保持されないため、やはりイメージをフラッシュ メモリにダウンロードする必要があります。ソフトウェアのアップグレードを参照してください。 |
ASA 5506-X シリーズ、ASA 5508-X、および ASA 5516-X の ROMMON イメージをアップグレードするには、次の手順に従います。システムの ROMMON バージョンは 1.1.8 以上でなければなりません。
注意 |
1.1.15 の ROMMON のアップグレードには、以前の ROMMON バージョンの 2 倍の時間がかかります(約 15 分)。アップグレード中はデバイスの電源を再投入しないでください。アップグレードが 30 分以内に完了しないか、または失敗した場合は、シスコ テクニカル サポートに連絡してください。デバイスの電源を再投入したり、リセットしたりしないでください。 |
新バージョンへのアップグレードのみ可能です。ダウングレードはできません。現在のバージョンを確認するには、show module コマンドを入力して、MAC アドレス範囲テーブルの Mod 1 の出力で Fw バージョンを調べます。
ciscoasa# show module
[...]
Mod MAC Address Range Hw Version Fw Version Sw Version
---- --------------------------------- ------------ ------------ ---------------
1 7426.aceb.ccea to 7426.aceb.ccf2 0.3 1.1.5 9.4(1)
sfr 7426.aceb.cce9 to 7426.aceb.cce9 N/A N/A
ステップ 1 |
Cisco.com から新しい ROMMON イメージを取得して、サーバ上に置いて ASA にコピーします。この手順では、TFTP コピーの方法を説明します。 次の URL からイメージをダウンロードします。 https://software.cisco.com/download/type.html?mdfid=286283326&flowid=77251 |
ステップ 2 |
ROMMON イメージを ASA フラッシュ メモリにコピーします。 copy tftp://server_ip/asa5500-firmware-xxxx.SPA disk0:asa5500-firmware-xxxx.SPA |
ステップ 3 |
ROMMON イメージをアップグレードします。 upgrade rommon disk0:asa5500-firmware-xxxx.SPA 例:
|
ステップ 4 |
プロンプトが表示されたら、確認して ASA をリロードします。 ASA が ROMMON イメージをアップグレードした後、ASA の OS をリロードします。 |
TFTP を使用してソフトウェア イメージを回復して ASA 5506W-X にロードするには、次の手順を実行します。
ステップ 1 |
アクセス ポイント(AP)へのセッションを確立し、AP ROMMON(ASA ROMMON ではなく)を開始します。
|
ステップ 2 |
Cisco Aironet アクセス ポイント Cisco IOS ソフトウェア コンフィギュレーション ガイド [英語] の手順に従います。 |
ダウングレードでは、以下の機能を完了するためのショートカットが存在します。
ブート イメージ コンフィギュレーションのクリア(clear configure boot )。
古いイメージへのブート イメージの設定(boot system )。
(オプション)新たなアクティベーション キーの入力(activation-key )。
実行コンフィギュレーションのスタートアップへの保存(write memory )。これにより、BOOT 環境変数を古いイメージに設定します。このため、リロードすると古いイメージがロードされます。
スタートアップ コンフィギュレーションへの古いコンフィギュレーションのコピー(copy old_config_url startup-config )。
リロード(reload )。
クラスタリング用の公式のゼロ ダウンタイム ダウングレードのサポートはありません。ただし場合によっては、ゼロ ダウンタイム ダウングレードが機能します。ダウングレードに関する次の既知の問題を参照してください。この他の問題が原因でクラスタ ユニットのリロードが必要になることもあり、その場合はダウンタイムが発生します。
スマート ライセンスの 9.10(1) からのダウングレード:スマート エージェントの変更により、ダウングレードする場合、デバイスを Cisco Smart Software Manager に再登録する必要があります。新しいスマート エージェントは暗号化されたファイルを使用するので、古いスマート エージェントが必要とする暗号化されていないファイルを使用するために再登録する必要があります。
クラスタリングを含む 9.9(1) より前のリリースへのダウングレード:9.9(1) 以降では、バックアップの配布が改善されています。クラスタに 3 つ以上のユニットがある場合は、次の手順を実行する必要があります。
クラスタからすべてのセカンダリ ユニットを削除します(クラスタはプライマリ ユニットのみで構成されます)。
1 つのセカンダリ ユニットをダウングレードし、クラスタに再参加させます。
プライマリ ユニットでクラスタリングを無効にします。そのユニットをダウングレードし、クラスタに再参加させます。
残りのセカンダリ ユニットをダウングレードし、それらを一度に 1 つずつクラスタに再参加させます。
クラスタ サイトの冗長性を有効にする場合は、9.9(1) より前のリリースにダウングレードします。ダウングレードする場合(または 9.9(1) より前のユニットをクラスタに追加する場合)は、サイトの冗長性を無効にする必要があります。そうしないと、古いバージョンを実行しているユニットにダミーの転送フローなどの副作用が発生します。
クラスタリングおよび暗号マップを使用する場合に 9.8(1) からダウングレードする:暗号マップが設定されている場合に 9.8 (1) からダウングレードすると、ゼロ ダウンタイム ダウングレードはサポートされません。ダウングレード前に暗号マップ設定をクリアし、ダウングレード後に設定をもう一度適用する必要があります。
クラスタリング ユニットのヘルスチェックを 0.3 ~ 0.7 秒に設定した状態で 9.8(1) からダウングレードする:(health-check holdtime で)ホールド時間を 0.3 ~ 0.7 秒に設定した後で ASA ソフトウェアをダウングレードすると、新しい設定はサポートされないため、設定値はデフォルトの 3 秒に戻ります。
クラスタリング(CSCuv82933)を使用している場合に 9.5(2) 以降から 9.5(1) 以前にダウングレードする:9.5(2) からダウングレードする場合、ゼロ ダウンタイム ダウングレードはサポートされません。ユニットがオンラインに戻ったときに新しいクラスタが形成されるように、すべてのユニットをほぼ同時にリロードする必要があります。ユニットが順番にリロードされるのを待つと、クラスタを形成できなくなります。
クラスタリングを使用する場合に 9.2(1) 以降から 9.1 以前にダウングレードする:ゼロ ダウンタイム ダウングレードはサポートされません。
PBKDF2(パスワード ベースのキー派生関数 2 )ハッシュをパスワードで使用する場合に 9.5 以前のバージョンにダウングレードする:9.6 より前のバージョンは PBKDF2 ハッシュをサポートしていません。9.6(1) では、32 文字より長い enable パスワードおよび username パスワードで PBKDF2 ハッシュを使用します。9.7(1) では、すべての新しいパスワードは、長さに関わらず PBKDF2 ハッシュを使用します(既存のパスワードは引き続き MD5 ハッシュを使用します)。ダウングレードすると、enable パスワードがデフォルト(空白)に戻ります。ユーザ名は正しく解析されず、username コマンドが削除されます。ローカル ユーザをもう一度作成する必要があります。
ASAv 用のバージョン 9.5(2.200) からのダウングレード:ASAv はライセンス登録状態を保持しません。license smart register idtoken id_token force コマンドで再登録する必要があります(ASDM の場合、[Configuration] > [Device Management] > [Licensing] > [Smart Licensing] ページで [Force registration] オプションを使用)。Smart Software Manager から ID トークンを取得します。
設定を移行すると、ダウングレードの可否に影響を与える可能性があります。そのため、ダウングレード時に使用できる古い設定のバックアップを保持することを推奨します。8.3 へのアップグレード時には、バックアップが自動的に作成されます(<old_version>_startup_cfg.sav)。他の移行ではバックアップが作成されません。古いバージョンでは利用できなかったコマンドが新しい設定に含まれていると、設定がロードされたときにそれらのコマンドのエラーが表示されます。ただし、エラーは無視できます。各バージョンの設定の移行または廃止の詳細については、各バージョンのアップグレード ガイドを参照してください。
元のトンネルがネゴシエートした暗号スイートをサポートしないソフトウェア バージョンをスタンバイ装置が実行している場合でも、VPN トンネルがスタンバイ装置に複製されます。このシナリオは、ダウングレード時に発生します。その場合、VPN 接続を切断して再接続してください。
次のコマンドを入力します。 downgrade [/noconfirm] old_image_url old_config_url [activation-key old_key] 例:
/noconfirm オプションを指定すると、プロンプトが表示されずにダウングレードされます。image_url は、disk0、disk1、tftp、ftp、または smb 上の古いイメージへのパスです。old_config_url は、保存された移行前の設定へのパスです。8.3 よりも前のアクティベーション キーに戻る必要がある場合は、そのアクティベーション キーを入力できます。 |
フラッシュ メモリ内のファイルを表示して、そのファイルに関する情報を参照できます。
ステップ 1 |
フラッシュ メモリ内のファイルを表示します。 dir [disk0: | disk1:] 例:
内部フラッシュ メモリの場合、disk0: と入力します。disk1: キーワードは外部フラッシュ メモリを表します。デフォルトは、内部フラッシュ メモリです。 |
ステップ 2 |
特定のファイルに関する追加情報を表示します。 show file information [path:/]filename 例:
示されているファイル サイズは例にすぎません。 デフォルト パスは、内部フラッシュ メモリのルート ディレクトリ(disk0:/)です。 |
不要になったファイルはフラッシュ メモリから削除できます。
フラッシュ メモリからファイルを削除します。 delete disk0: filename パスを指定しないと、デフォルトにより、ファイルは現在の作業ディレクトリから削除されます。ファイルを削除するときは、ワイルドカードを使用できます。削除するファイル名を求めるプロンプトが表示されます。その後、削除を確認する必要があります。 |
フラッシュ ファイル システムを消去するには、次の手順を実行します。
ステップ 1 |
アプライアンス コンソールへのアクセスの手順に従って、ASA のコンソール ポートに接続します。 |
ステップ 2 |
ASA の電源を切ってから、再び電源をオンにします。 |
ステップ 3 |
スタートアップの間に、ROMMON モードに入るようにプロンプト表示されたら、Escape キーを押します。 |
ステップ 4 |
erase コマンドを入力します。これにより、すべてのファイルが上書きされてファイル システムが消去されます(非表示のシステム ファイルを含む)。 rommon #1> erase [disk0: | disk1: | flash:] |
ASA では、FTP クライアント、セキュア コピー クライアント、または TFTP クライアントを使用できます。また、ASA をセキュア コピー サーバとして設定することもできるため、コンピュータでセキュア コピー クライアントを使用できます。
ASA では、FTP サーバとの間で、イメージ ファイルやコンフィギュレーション ファイルのアップロードおよびダウンロードを実行できます。パッシブ FTP では、クライアントは制御接続およびデータ接続の両方を開始します。パッシブ モードではデータ接続の受け入れ側となるサーバは、今回の特定の接続においてリッスンするポート番号を応答として返します。
FTP モードをパッシブに設定します。 ftp mode passive 例:
|
ASA 上でセキュア コピー(SCP)サーバをイネーブルにできます。SSH による ASA へのアクセスを許可されたクライアントだけが、セキュア コピー接続を確立できます。
サーバにはディレクトリ サポートがありません。ディレクトリ サポートがないため、ASA の内部ファイルへのリモート クライアント アクセスは制限されます。
サーバでは、バナーまたはワイルドカードがサポートされていません。
SSH アクセスの設定 に従って、ASA で SSH を有効にします。
SSH バージョン 2 接続をサポートするには、ASA のライセンスに強力な暗号化(3DES/AES)ライセンスが必要です。
特に指定されていないかぎり、マルチ コンテキスト モードでは、システム実行スペースで次の手順を実行します。コンテキストからシステム実行スペースに切り替えるには、changeto system コマンドを入力します。
セキュア コピーのパフォーマンスは、使用する暗号化アルゴリズムにある程度依存します。デフォルトで、ASA は 3des-cbc aes128-cbc aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr の順にアルゴリズムをネゴシエートします。提示された最初のアルゴリズム(3des-cbc)が選択された場合、aes128-cbc などの一層効率的なアルゴリズムが選択された場合よりも大幅にパフォーマンスが低下します。提示された暗号方式を変更するには、ssh cipher encryption コマンド。たとえば、ssh cipher encryption custom aes128-cbc
ステップ 1 |
SCP サーバをイネーブルにします。 ssh scopy enable |
ステップ 2 |
(オプション)ASA データベースから手動でサーバとそのキーを追加または削除します。 ssh pubkey-chain [no] server ip_address {key-string key_string exit| key-hash {md5 | sha256} fingerprint} 例:
ASA は接続先の各 SCP サーバの SSH ホストキーを保存します。必要に応じて、手動でキーを管理できます。 各サーバについて、SSH ホストの key-string(公開キー) または key-hash(ハッシュ値)を指定できます。 key_string はリモート ピアの Base64 で符号化された RSA 公開キーです。オープン SSH クライアントから(言い換えると .ssh/id_rsa.pub ファイルから)公開キー値を取得できます。Base64 で符号化された公開キーを送信した後、SHA-256 によってそのキーがハッシュされます。 key-hash {md5 | sha256} fingerprint では、たとえば、show コマンドの出力からコピーしたキーなどの、すでにハッシュされているキー(MD5 または SHA-256 キーを使用)が入力されます。 |
ステップ 3 |
(任意) SSH ホスト キー チェックを有効または無効にします。マルチ コンテキスト モードでは、管理コンテキストでこのコマンドを入力します。 [no] ssh stricthostkeycheck 例:
デフォルトで、このオプションは有効になっています。このオプションがイネーブルになっている場合、ASA にまだ格納されていないホストキーを許可または拒否するように求められます。このオプションがディセーブルになっている場合、ASA は過去に保存されたことがないホストキーを自動的に許可します。 |
外部ホストのクライアントから、SCP ファイル転送を実行します。たとえば、Linux では次のコマンドを入力します。
scp -v -pw password source_filename username @asa_address :{disk0|disk1}:/dest_filename
-v は冗長を表します。-pw が指定されていない場合は、パスワードの入力を求めるプロンプトが表示されます。
次に、10.86.94.170 にあるサーバのすでにハッシュされているホスト キーを追加する例を示します。
ciscoasa(config)# ssh pubkey-chain
ciscoasa(config-ssh-pubkey-chain)# server 10.86.94.170
ciscoasa(config-ssh-pubkey-server)# key-hash sha256 65:d9:9d:fe:1a:bc:61:aa:
64:9d:fc:ee:99:87:38:df:a8:8e:d9:e9:ff:42:de:e8:8d:2d:bf:a9:2b:85:2e:19
次に、10.7.8.9 にあるサーバのホスト ストリング キーを追加する例を示します。
ciscoasa(config)# ssh pubkey-chain
ciscoasa(config-ssh-pubkey-chain)# server 10.7.8.9
ciscoasa(config-ssh-pubkey-server)# key-string
Enter the base 64 encoded RSA public key.
End with the word "exit" on a line by itself
ciscoasa(config-ssh-pubkey-server-string)# c1:b1:30:29:d7:b8:de:6c:97:77:10:d7:
46:41:63:87
ciscoasa(config-ssh-pubkey-server-string)# exit
TFTP は、単純なクライアント/サーバ ファイル転送プロトコルで、RFC 783 および RFC 1350 Rev. 2 で規定されています。TFTP サーバとの間でファイルをコピーできるように、ASA を TFTP クライアントとして設定できます。これにより、コンフィギュレーション ファイルをバックアップし、それらを複数の ASA にプロパゲートできます。
ここでは、TFTP サーバへのパスを事前定義できるため、copy および configure net などのコマンドで入力する必要がなくなります。
configure net および copy コマンドで使用するために、TFTP サーバのアドレスおよびファイル名を事前定義します。 tftp-server interface_name server_ip filename 例:
コマンドを入力するとファイル名を上書きできます。たとえば、copy コマンドを使用するときに事前定義された TFTP サーバのアドレスを利用できますが、インタラクティブ プロンプトでファイル名を入力することもできます。 copy コマンドに、tftp://url ではなく tftp: を入力して tftp-server の値を使用します。 |
この項では、アプリケーション イメージ、ASDM ソフトウェア、コンフィギュレーション ファイル、または TFTP、FTP、SMB、HTTP、HTTPS、または SCP サーバから内部または外部フラッシュ メモリにダウンロードする必要があるその他のファイルをコピーする方法について説明します。
IPS SSP ソフトウェア モジュールの場合、IPS ソフトウェアを disk0 にダウンロードする前に、フラッシュ メモリに少なくとも 50% の空きがあることを確認してください。IPS をインストールするときに、IPS のファイル システム用に内部フラッシュ メモリの 50% が予約されます。
文字の大文字と小文字が異なっていても、同じ名前の 2 つのファイルをフラッシュ メモリの同じディレクトリに保存できません。たとえば、config.cfg というファイルが存在する場所に Config.cfg というファイルをダウンロードしようとすると、次のエラー メッセージが表示されます。
%Error opening disk0:/Config.cfg (File exists)
Cisco SSL VPN Client をインストールする方法の詳細については、『Cisco AnyConnect VPN Client Administrator Guide』を参照してください。ASA に Cisco Secure Desktop をインストールする方法の詳細については、『Cisco Secure Desktop Configuration Guide for Cisco ASA 5500 Series Administrators(Cisco ASA 5500 シリーズ管理者向け Cisco Secure Desktop コンフィギュレーション ガイド)』を参照してください。
複数のイメージがインストールされている場合、または外部フラッシュ メモリにイメージがインストールされている場合に特定のアプリケーション イメージまたは ASDM イメージを使用するように ASA を設定するには、ASA イメージ、ASDM、およびスタートアップ コンフィギュレーションの設定を参照してください。
マルチ コンテキスト モードの場合は、システム実行スペース内にいる必要があります。
(オプション)ASA がサーバとの通信に使用するインターフェイスを指定します。インターフェイスを指定しない場合、ASA は管理専用のルーティング テーブルをチェックします。ここで一致が見つからない場合はデータのルーティング テーブルをチェックします。
次のサーバ タイプの 1 つを使用してファイルをコピーします。
|
テキスト ファイルは、TFTP、FTP、SMB、HTTP(S)、または SCP サーバから、またはフラッシュ メモリから、実行コンフィギュレーションまたはスタートアップ コンフィギュレーションにダウンロードできます。
コンフィギュレーションを実行コンフィギュレーションにコピーするには、2 つのコンフィギュレーションをマージします。マージによって、新しいコンフィギュレーションから実行コンフィギュレーションに新しいコマンドが追加されます。コンフィギュレーションが同じ場合、変更は発生しません。コマンドが衝突する場合、またはコマンドがコンテキストの実行に影響を与える場合、マージの結果はコマンドによって異なります。エラーが発生することも、予期できない結果が生じることもあります。
(オプション)ASA がサーバとの通信に使用するインターフェイスを指定します。インターフェイスを指定しない場合、ASA は管理専用のルーティング テーブルをチェックします。ここで一致が見つからない場合はデータのルーティング テーブルをチェックします。
スタートアップ コンフィギュレーションまたは実行コンフィギュレーションにファイルをコピーするには、適切なダウンロード サーバに対して次のコマンドのいずれかを入力します。
|
たとえば、TFTP サーバからコンフィギュレーションをコピーするには、次のコマンドを入力します。
ciscoasa# copy tftp://209.165.200.226/configs/startup.cfg startup-config
FTP サーバからコンフィギュレーションをコピーするには、次のコマンドを入力します。
ciscoasa# copy ftp://admin:letmein@209.165.200.227/configs/startup.cfg startup-config
HTTP サーバからコンフィギュレーションをコピーするには、次のコマンドを入力します。
ciscoasa# copy http://209.165.200.228/configs/startup.cfg startup-config
複数の ASA または ASDM イメージがある場合は、ブートするイメージを指定する必要があります。イメージを設定しない場合はデフォルトのブート イメージが使用され、そのイメージは意図されたものではない可能性があります。スタートアップ コンフィギュレーションでは、コンフィギュレーション ファイルを任意で指定できます。
次のモデルのガイドラインを参照してください。
Firepower 4100/9300 シャーシ:ASA のアップグレードは FXOS によって管理されます。ASA オペレーティング システム内で ASA をアップグレードすることはできません。したがって、この手順を ASA イメージに使用しないでください。ASA と FXOS を別々にアップグレードすることができ、FXOS ディレクトリ リストに別々にリストされます。ASA パッケージには常に ASDM が含まれています。
プラットフォーム モードの Firepower 2100:ASA、ASDM、および FXOS のイメージは 1 つのパッケージに一緒にバンドルされています。パッケージ更新は FXOS によって管理されます。ASA オペレーティング システム内で ASA をアップグレードすることはできません。したがって、この手順を ASA イメージに使用しないでください。ASA と FXOS を個別にアップグレードすることはできません。常にバンドルされています。
アプライアンス モードの Firepower 1000 および 2100:ASA、ASDM、および FXOS のイメージは 1 つのパッケージに一緒にバンドルされています。パッケージの更新は、次の手順を使用して ASA によって管理されます。これらのプラットフォームでは、ブートするイメージを識別するために ASA が使用されますが、基盤となるメカニズムはレガシー ASA とは異なります。詳細については、以下のコマンドの説明を参照してください。
Firepower モデルの ASDM:ASDM は ASA オペレーティングシステム内からアップグレードできるため、バンドルされた ASDM イメージのみを使用する必要はありません。プラットフォームモードの Firepower 2100 ではFirepower 4100/9300、手動でアップロードする ASDM イメージは FXOS イメージリストに表示されません。ASA から ASDM イメージを管理する必要があります。
(注) |
ASA バンドルをアップグレードすると、同じ名前(asdm.bin)であるため、バンドル内の ASDM イメージが ASA 上の前の ASDM バンドル イメージに置き換わります。ただし、アップロードした別の ASDM イメージ(たとえば asdm-782.bin)を手動で選択すると、バンドル アップグレード後も引き続き同じイメージが使用されます。互換性のある ASDM バージョンを実行していることを確認するには、バンドルをアップグレードする前に ASDM をアップグレードするか、または ASA バンドルをアップグレードする直前に、バンドルされた ASDM イメージ(asdm.bin)を使用するように ASA を再設定する必要があります。 |
ASAv:初期展開の ASAv パッケージでは、ASA イメージが読み取り専用 boot:/ パーティションに配置されます。ASAv をアップグレードするときは、フラッシュ メモリに別のイメージを指定します。後でコンフィギュレーションをクリアすると(clear configure all)、ASAv は元の展開のイメージをロードするようになることに注意してください。初期展開の ASAv パッケージには、フラッシュ メモリに配置される ASDM イメージも含まれています。ASDM イメージを個別にアップグレードできます。
次のデフォルト設定を参照してください。
ASA イメージ:
Firepower 1000 およびアプライアンス モードの Firepower 2100:以前実行していたブート イメージをブートします。
その他の物理 ASA:内部フラッシュ メモリ内で見つかった最初のアプリケーション イメージをブートします。
ASAv:最初に展開したときに作成された、読み取り専用の boot:/ パーティションにあるイメージをブートします。
Firepower 4100/9300 シャーシ:どの ASA イメージをブートするかは FXOS システムによって決定されます。この手順を使用して ASA イメージを設定することはできません。
プラットフォーム モードの Firepower 2100:どの ASA/FXOS パッケージをブートするかは FXOS システムによって決定されます。この手順を使用して ASA イメージを設定することはできません。
すべての ASA の ASDM イメージ:内部フラッシュ メモリ内で見つかった(またはここにイメージがない場合は、外部フラッシュ メモリ内で見つかった)最初の ASDM イメージをブートします。
スタートアップ コンフィギュレーション:デフォルトでは、ASA は、隠しファイルであるスタートアップ コンフィギュレーションからブートします。
ステップ 1 |
ASA ブート イメージの場所を設定します。 boot system url 例:
URL は次のようになります。
アプライアンス モードの Firepower 1000 および 2100:1 つの boot system コマンドだけを入力できます。新しいイメージにアップグレードする場合は、no boot system を入力して、以前に設定したイメージを削除する必要があります。設定に boot system コマンドが存在しない場合があることに注意してください。たとえば、ROMMON からイメージをインストールした場合、新しいデバイスがある場合、またはコマンドを手動で削除した場合などです。boot system コマンドは、入力時にアクションを実行します。システムはイメージを検証して解凍し、ブート場所(FXOS によって管理される disk0 の内部ロケーション)にコピーします。ASA をリロードすると、新しいイメージがロードされます。リロードの前に気が変わった場合は、no boot system コマンドを入力してブート場所から新しいイメージを削除し、現在のイメージを引き続き実行することができます。このコマンドを入力した後で ASA フラッシュメモリから元のイメージ ファイルを削除することもできます。その場合、ASA はブート場所から正しく起動します。他のモデルとは異なり、スタートアップ コンフィギュレーション内のこのコマンドは、ブート イメージに影響しません(本質的に表面的なものです)。リロード時には、最後にロードされたブート イメージが常に実行されます。このコマンドを入力した後で設定を保存しない場合、リロードすると、新しいイメージが起動された場合でも、古いコマンドが設定に出現します。設定を保存することにより、設定の同期を維持する必要があります。Cisco ダウンロード サイトからロードできるのは、元のファイル名のイメージのみです。ファイル名を変更した場合はロードされません。Firepower Threat Defense(FTD)イメージをロードすることによって、FTD に再イメージ化することもできます。この場合は、すぐにリロードするように求められます。 他のモデル:最大 4 つの boot system コマンド エントリを入力して、ブートする複数のイメージを順番に指定することができます。ASA は、最初に検出に成功したイメージをブートします。boot system コマンドを入力すると、エントリがリストの最後に追加されます。ブート エントリの順序を変更するには、clear configure boot system コマンドを使用してすべてのエントリを削除してから、エントリを目的の順序で再入力する必要があります。設定できる boot system tftp コマンドは 1 つだけです。これは、最初に設定する必要があります。
例:
|
||
ステップ 2 |
ブートする ASDM イメージを設定します。 asdm image {disk0:/ | disk1:/}[path/]filename 例:
ブートするイメージを指定しない場合、インストールされているイメージが 1 つしかなくても、ASA によって asdm image コマンドが実行コンフィギュレーションに挿入されます。Auto Update(設定されている場合)の問題を避けるため、また起動時ごとのイメージ検索を回避するため、ブートする ASDM イメージをスタートアップ コンフィギュレーションで指定する必要があります。 |
||
ステップ 3 |
(オプション)スタートアップ コンフィギュレーションをデフォルトの隠しファイルではなく既知のファイルになるように設定します。 boot config {disk0:/ | disk1:/}[path/]filename 例:
|
システム障害から保護するために、コンフィギュレーションおよびその他のファイルの定期的なバックアップを実行することを推奨します。
次の手順では、コンフィギュレーションおよびイメージの zipバックアップ tar.gz ファイルへのバックアップおよび復元方法と、そのファイルのローカル コンピュータへの転送方法について説明します。
バックアップまたは復元を開始する前に、バックアップまたは復元場所に使用可能なディスク領域が少なくとも 300 MB ある必要があります。
バックアップ中またはバックアップ後にコンフィギュレーションを変更した場合、その変更内容はバックアップに含められません。バックアップの実行後にコンフィギュレーションを変更してから復元を実行した場合、このコンフィギュレーションの変更は上書きされます。結果として、ASA は異なる挙動をすることもあります。
一度に開始できるバックアップまたは復元は 1 つだけです。
コンフィギュレーションは、元のバックアップを実行したときと同じ ASA バージョンにのみ復元できます。復元ツールを使用して、ASA の異なるバージョン間でコンフィギュレーションを移行することはできません。コンフィギュレーションの移行が必要な場合、ASA は、新しい ASA OS をロードした時に常駐するスタートアップ コンフィギュレーションを自動的にアップグレードします。
クラスタリングを使用する場合、バックアップまたは復元できるのは、スタートアップ コンフィギュレーション、実行コンフィギュレーション、およびアイデンティティ証明書のみです。ユニットごとに別々にバックアップを作成および復元する必要があります。
フェールオーバーを使用する場合、バックアップの作成および復元は、アクティブ ユニットとスタンバイ ユニットに対して別々に行う必要があります。
ASA にマスター パスフレーズを設定している場合は、この手順で作成したバックアップ コンフィギュレーションの復元時にそのマスター パスフレーズが必要となります。ASA のマスター パスフレーズが不明な場合は、マスター パスフレーズの設定を参照して、バックアップを続行する前に、マスター パスフレーズをリセットする方法を確認してください。
PKCS12 データをインポート(crypto ca trustpoint コマンドを使用)する際にトラストポイントが RSA キーを使用している場合、インポートされたキー ペアにはトラストポイントと同じ名前が割り当てられます。この制約のため、ASDM コンフィギュレーションを復元した後でトラストポイントおよびそのキー ペアに別の名前を指定した場合、スタートアップ コンフィギュレーションは元のコンフィギュレーションと同じになるのに、実行コンフィギュレーションには異なるキー ペア名が含まれることになります。つまり、キー ペアとトラストポイントに別の名前を使用した場合は、元のコンフィギュレーションを復元できないということです。この問題を回避するため、トラストポイントとそのキー ペアには必ず同じ名前を使用してください。
CLI を使用してバックアップしてから ASDM を使用して復元したり、その逆を行うことはできません。
各バックアップ ファイルに含まれる内容は次のとおりです。
実行コンフィギュレーション
スタートアップ コンフィギュレーション
すべてのセキュリティ イメージ
Cisco Secure Desktop およびホスト スキャンのイメージ
Cisco Secure Desktop およびホスト スキャンの設定
AnyConnect(SVC)クライアントのイメージおよびプロファイル
AnyConnect(SVC)のカスタマイズおよびトランスフォーム
アイデンティティ証明書(アイデンティティ証明書に関連付けられた RSA キー ペアは含まれるが、スタンドアロン キーは除外される)
VPN 事前共有キー
SSL VPN コンフィギュレーション
アプリケーション プロファイルのカスタム フレームワーク(APCF)
ブックマーク
カスタマイゼーション
ダイナミック アクセス ポリシー(DAP)
プラグイン
接続プロファイル用の事前入力スクリプト
プロキシ自動設定
変換テーブル
Web コンテンツ
バージョン情報
この手順では、完全なシステム バックアップを実行する方法について説明します。
ステップ 1 |
システムをバックアップします。 backup [/noconfirm] [ context ctx-name] [ interface name] [ passphrase value] [ location path] 例:
interface name を指定しない場合、ASA は管理専用のルーティング テーブルをチェックします。ここで一致が見つからない場合はデータのルーティング テーブルをチェックします。 システム実行スペースからのマルチ コンテキスト モードで、context キーワードを入力して、指定したコンテキストをバックアップします。各コンテキストは個別にバックアップする必要があります。つまり、ファイルごとに backup コマンドを再入力する必要があります。 VPN 証明書および事前共有キーのバックアップ中、証明書を符号化するために、passphrase キーワードで指定された秘密キーが必要です。PKCS12 形式の証明書を符号化および復号化するために使用するパスフレーズを入力する必要があります。バックアップに含まれるのは証明書に関連する RSA キー ペアだけであり、スタンドアロン証明書は除外されます。 バックアップの location にはローカル ディスクまたはリモート URL を指定できます。location を指定しない場合は、次のデフォルト名が使用されます。
|
ステップ 2 |
プロンプトに従います。 例:
|
zip tar.gz ファイルからローカル PC に復元するコンフィギュレーションやイメージを指定します。
ステップ 1 |
バックアップ ファイルからシステムを復元します。 restore [/noconfirm] [context ctx-name] [passphrase value] [location path] 例:
context キーワードを使用して複数のコンテキストを復元する場合、バック アップされた各コンテキスト ファイルは個別に復元する必要があります。つまり、restore コマンドをファイルごとに再入力する必要があります。 |
ステップ 2 |
プロンプトに従います。 例:
|
この機能により、システムの設定を簡単かつ自動的にバックアップおよび復元できるため、次のような状況で役立ちます。
初期設定:デバイス設定(ハードウェアおよびソフトウェア)が外部メディアに保存されていて、そのメディアを使用して設定情報をターゲット デバイスに転送する場合。
デバイスを交換する際の設定の複製:障害が発生した既存のデバイスからバックアップした設定を交換用デバイスに適用する場合。
運用状態へのロールバック:ソフトウェア コンフィギュレーションが破損したために、以前の有効なコンフィギュレーションにロールバックする場合。
この機能は、Cisco ISA 3000 アプライアンスのみで使用できます。
ISA 3000 に自動バックアップおよび復元を設定するには、特定のパラメータを 1 回限り設定します。
バックアップ ロケーション:ストレージ メディア(SD カードなど)、USB ストレージ、またはネットワークの場所を選択できます。
バックアップ モード:手動または自動。
パスフレーズ:バックアップ構成を暗号化するときに使用するパスフレーズ。
以上の設定が、以降の自動バックアップ操作と復元操作で使用されます。
元の EXEC backup|restore コマンドは変更されません。backup-package コマンドを設定した後は、他のコマンドライン パラメータを指定することなく、EXEC コマンドを使用して手動でバックアップおよび復元を行うことができます。
ステップ 1 |
パッケージのバックアップ パラメータを設定します。 backup-package backup [interface name] location diskn: [passphrase string] 例:
このコマンドを使用して、以降のバックアップ操作で構成データをバックアップする際に使用するパラメータを指定します。 interface name では、バックアップ操作の発信インターフェイスを指定します。 location diskn では、データのバックアップに使用するストレージ メディアを指定します。 passphrase string は、バックアップしたデータをセキュリティで保護するために使用します。 |
ステップ 2 |
パッケージの復元のパラメータを設定します。 backup-package restore [ interface name] location diskn: [ passphrase string] 例:
このコマンドを使用して、以降の復元操作で使用する復元パラメータを指定します。復元パラメータは、前述のバックアップ操作のパラメータを反映しています。 |
ステップ 3 |
自動モードのバックアップおよび復元をイネーブルにします。 backup-package {backup | restore} auto 例:
このコマンドを使用して、自動モードのバックアップまたは復元をイネーブル/ディセーブルにします。復元に選択したモードも ROMMON 変数に保存されます。 |
シングルコンテキスト モードで、またはマルチモードのシステム コンフィギュレーションから、スタートアップ コンフィギュレーションまたは実行コンフィギュレーションを外部サーバまたはローカル フラッシュ メモリにコピーできます。
(オプション)ASA がサーバとの通信に使用するインターフェイスを指定します。インターフェイスを指定しない場合、ASA は管理専用のルーティング テーブルをチェックします。ここで一致が見つからない場合はデータのルーティング テーブルをチェックします。
次のサーバ タイプの 1 つを使用してコンフィギュレーションをバックアップします。
|
システム実行スペースで次のいずれかのコマンドを入力することによって、ローカル フラッシュ メモリにあるコンテキスト コンフィギュレーションまたは他のファイルをコピーします。
(オプション)ASA がサーバとの通信に使用するインターフェイスを指定します。インターフェイスを指定しない場合、ASA は管理専用のルーティング テーブルをチェックします。ここで一致が見つからない場合はデータのルーティング テーブルをチェックします。
次のサーバ タイプの 1 つを使用してコンテキスト コンフィギュレーションバックアップをバックアップします。
|
マルチ コンテキスト モードでは、コンテキスト内から次のバックアップを実行できます。
ステップ 1 |
(admin コンテキストに接続された)スタートアップ コンフィギュレーション サーバに実行コンフィギュレーションをコピーします。
|
ステップ 2 |
コンテキスト ネットワークに接続された TFTP サーバに実行コンフィギュレーションをコピーします。
|
ステップ 1 |
コンフィギュレーションを端末に表示します。 more system:running-config |
ステップ 2 |
コマンドから出力をコピーして、コンフィギュレーションをテキスト ファイルに貼り付けます。 |
コンフィギュレーションに欠かせない追加ファイルは次のとおりです。
import webvpn コマンドを使用してインポートするファイル。現在これらのファイルには、カスタマイゼーション、URL リスト、Web コンテンツ、プラグイン、および言語翻訳などがあります。
DAP ポリシー(dap.xml)。
CSD コンフィギュレーション(data.xml)。
デジタル キーおよびデジタル証明書。
ローカル CA ユーザ データベース ファイルと証明書ステータス ファイル。
CLI では、export コマンドと import コマンドを使用して、コンフィギュレーションの個々の要素をバックアップおよび復元できます。
これらのファイル(たとえば、import webvpn コマンドを使用してインポートしたこれらのファイルや証明書など)をバックアップするには、次の手順を実行します。
ステップ 1 |
次のように、適用可能な show コマンドを実行します。
|
ステップ 2 |
バックアップするファイルに対して export コマンドを発行します(この例では rdp ファイルです)。
|
スクリプトを使用して、ASA のコンフィギュレーション ファイルをバックアップおよび復元できます。これには、import webvpn CLI によってインポートする拡張機能のすべて、CSD コンフィギュレーションの XML ファイル、および DAP コンフィギュレーションの XML ファイルが含まれます。セキュリティ上の理由により、デジタル キーと証明書、またはローカル CA キーの自動バックアップを実行することはお勧めしません。
この項では、自動バックアップの手順について説明します。また、そのまま使用することも、環境要件に合わせて修正することもできるサンプル スクリプトを示します。サンプル スクリプトは Linux システムに固有のスクリプトです。Microsoft Windows システムで使用するには、サンプルのロジックを使用して修正する必要があります。
(注) |
代わりに、backup コマンドと restore コマンドを使用することもできます。詳細については、「完全なシステム バックアップまたは復元の実行」を参照してください。 |
スクリプトを使用して ASA コンフィギュレーションをバックアップおよび復元するには、まず次の作業を実行します。
Expect モジュールとともに Perl をインストールする。
ASA に到達可能な SSH クライアントをインストールする。
TFTP サーバをインストールして、ASA からバックアップ サイトにファイルを送信する。
別の選択肢としては、市販のツールを使用します。このスクリプトのロジックをそれらのツールに取り入れることができます。
バックアップおよび復元のスクリプトを実行するには、次の手順を実行します。
ステップ 1 |
システムの任意の場所に、スクリプト ファイルをダウンロードまたはカットアンドペーストします。 |
ステップ 2 |
コマンド ラインで、Perlscriptname と入力します。scriptname はスクリプト ファイルの名前です。 |
ステップ 3 |
Enter を押します。 |
ステップ 4 |
オプションごとに値を入力するように、プロンプトが表示されます。あるいは、Perlscriptname コマンドを入力するときにオプションの値を入力してから、Enter を押すこともできます。どちらの方法でも、スクリプトによりオプションごとに値を入力するよう求められます。 |
ステップ 5 |
このスクリプトが実行され、発行されるコマンドが出力されます。この出力は CLI の記録となります。これらの CLI は後で行われる復元に使用できます。特に、ファイルを 1 つまたは 2 つだけ復元する場合に便利です。 |
#!/usr/bin/perl
#Description: The objective of this script is to show how to back up configurations/extensions.
# It currently backs up the running configuration, all extensions imported via "import webvpn" command, the CSD configuration XML file, and the DAP configuration XML file.
#Requirements: Perl with Expect, SSH to the ASA, and a TFTP server.
#Usage: backupasa -option option_value
# -h: ASA hostname or IP address
# -u: User name to log in via SSH
# -w: Password to log in via SSH
# -e: The Enable password on the security appliance
# -p: Global configuration mode prompt
# -s: Host name or IP address of the TFTP server to store the configurations
# -r: Restore with an argument that specifies the file name. This file is produced during backup.
#If you don't enter an option, the script will prompt for it prior to backup.
#
#Make sure that you can SSH to the ASA.
use Expect;
use Getopt::Std;
#global variables
%options=();
$restore = 0; #does backup by default
$restore_file = '';
$asa = '';
$storage = '';
$user = '';
$password = '';
$enable = '';
$prompt = '';
$date = ‘date +%F‘;
chop($date);
my $exp = new Expect();
getopts("h:u:p:w:e:s:r:",\%options);
do process_options();
do login($exp);
do enable($exp);
if ($restore) {
do restore($exp,$restore_file);
}
else {
$restore_file = "$prompt-restore-$date.cli";
open(OUT,">$restore_file") or die "Can't open $restore_file\n";
do running_config($exp);
do lang_trans($exp);
do customization($exp);
do plugin($exp);
do url_list($exp);
do webcontent($exp);
do dap($exp);
do csd($exp);
close(OUT);
}
do finish($exp);
sub enable {
$obj = shift;
$obj->send("enable\n");
unless ($obj->expect(15, 'Password:')) {
print "timed out waiting for Password:\n";
}
$obj->send("$enable\n");
unless ($obj->expect(15, "$prompt#")) {
print "timed out waiting for $prompt#\n";
}
}
sub lang_trans {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn translation-table\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
s/^\s+//;
s/\s+$//;
next if /show import/ or /Translation Tables/;
next unless (/^.+\s+.+$/);
($lang, $transtable) = split(/\s+/,$_);
$cli = "export webvpn translation-table $transtable language $lang $storage/$prompt-$date-$transtable-$lang.po";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub running_config {
$obj = shift;
$obj->clear_accum();
$cli ="copy /noconfirm running-config $storage/$prompt-$date.cfg";
print "$cli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
sub customization {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn customization\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
chop;
next if /^Template/ or /show import/ or /^\s*$/;
$cli = "export webvpn customization $_ $storage/$prompt-$date-cust-$_.xml";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub plugin {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn plug-in\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
chop;
next if /^Template/ or /show import/ or /^\s*$/;
$cli = "export webvpn plug-in protocol $_ $storage/$prompt-$date-plugin-$_.jar";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub url_list {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn url-list\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
chop;
next if /^Template/ or /show import/ or /^\s*$/ or /No bookmarks/;
$cli="export webvpn url-list $_ $storage/$prompt-$date-urllist-$_.xml";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub dap {
$obj = shift;
$obj->clear_accum();
$obj->send("dir dap.xml\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
return 0 if($output =~ /Error/);
$cli="copy /noconfirm dap.xml $storage/$prompt-$date-dap.xml";
$ocli="copy /noconfirm $storage/$prompt-$date-dap.xml disk0:/dap.xml";
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
sub csd {
$obj = shift;
$obj->clear_accum();
$obj->send("dir sdesktop\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
return 0 if($output =~ /Error/);
$cli="copy /noconfirm sdesktop/data.xml $storage/$prompt-$date-data.xml";
$ocli="copy /noconfirm $storage/$prompt-$date-data.xml disk0:/sdesktop/data.xml";
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
sub webcontent {
$obj = shift;
$obj->clear_accum();
$obj->send("show import webvpn webcontent\n");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
@items = split(/\n+/, $output);
for (@items) {
s/^\s+//;
s/\s+$//;
next if /show import/ or /No custom/;
next unless (/^.+\s+.+$/);
($url, $type) = split(/\s+/,$_);
$turl = $url;
$turl =~ s/\/\+//;
$turl =~ s/\+\//-/;
$cli = "export webvpn webcontent $url $storage/$prompt-$date-$turl";
$ocli = $cli;
$ocli =~ s/^export/import/;
print "$cli\n";
print OUT "$ocli\n";
$obj->send("$cli\n");
$obj->expect(15, "$prompt#" );
}
}
sub login {
$obj = shift;
$obj->raw_pty(1);
$obj->log_stdout(0); #turn off console logging.
$obj->spawn("/usr/bin/ssh $user\@$asa") or die "can't spawn ssh\n";
unless ($obj->expect(15, "password:" )) {
die "timeout waiting for password:\n";
}
$obj->send("$password\n");
unless ($obj->expect(15, "$prompt>" )) {
die "timeout waiting for $prompt>\n";
}
}
sub finish {
$obj = shift;
$obj->hard_close();
print "\n\n";
}
sub restore {
$obj = shift;
my $file = shift;
my $output;
open(IN,"$file") or die "can't open $file\n";
while (<IN>) {
$obj->send("$_");
$obj->expect(15, "$prompt#" );
$output = $obj->before();
print "$output\n";
}
close(IN);
}
sub process_options {
if (defined($options{s})) {
$tstr= $options{s};
$storage = "tftp://$tstr";
}
else {
print "Enter TFTP host name or IP address:";
chop($tstr=<>);
$storage = "tftp://$tstr";
}
if (defined($options{h})) {
$asa = $options{h};
}
else {
print "Enter ASA host name or IP address:";
chop($asa=<>);
}
if (defined ($options{u})) {
$user= $options{u};
}
else {
print "Enter user name:";
chop($user=<>);
}
if (defined ($options{w})) {
$password= $options{w};
}
else {
print "Enter password:";
chop($password=<>);
}
if (defined ($options{p})) {
$prompt= $options{p};
}
else {
print "Enter ASA prompt:";
chop($prompt=<>);
}
if (defined ($options{e})) {
$enable = $options{e};
}
else {
print "Enter enable password:";
chop($enable=<>);
}
if (defined ($options{r})) {
$restore = 1;
$restore_file = $options{r};
}
}
Auto Update は、Auto Update サーバがコンフィギュレーションおよびソフトウェア イメージを多数の ASA にダウンロードすることを許可し、中央からの ASA の基本的なモニタリングを提供するプロトコル仕様です。
この項では、Auto Update の実装方法と Auto Update が必要になる理由について説明します。
ASA は、クライアントまたはサーバとして設定できます。Auto Update クライアントとして動作する場合は、ソフトウェア イメージおよびコンフィギュレーション ファイルへのアップデートのため、Auto Update サーバを定期的にポーリングします。Auto Update サーバとして動作する場合は、Auto Update クライアントとして設定された ASA のアップデートを発行します。
Auto Update は、次のように、管理者が ASA の管理で直面するさまざまな問題を解決できる便利な機能です。
ダイナミック アドレッシングおよび NAT に関する問題点の解決。
コンフィギュレーションの変更を 1 つのアクションでコミット。
ソフトウェア更新用の信頼度の高い方式の提供。
ハイ アベイラビリティ用の十分実績のある方式の活用(フェールオーバー)。
オープン インターフェイスによる柔軟性の提供。
サービス プロバイダー環境のセキュリティ ソリューションの簡素化。
Auto Update 仕様は、中央、または複数の場所から、リモート管理アプリケーションにより ASA のコンフィギュレーションやソフトウェア イメージをダウンロードしたり、基本的な監視機能を実行したりする場合に必要なインフラストラクチャです。
Auto Update 仕様に従うと、Auto Update サーバから ASA にコンフィギュレーション情報をプッシュしたり、要求を送信して情報を取得したりすることも、ASA から Auto Update サーバに定期的にポーリングすることによって、最新のコンフィギュレーション情報を引き出す(プルする)こともできます。また、Auto Update サーバはいつでも ASA にコマンドを送信し、ただちにポーリング要求を送信させることもできます。Auto Update サーバと ASA の通信では、通信パスとローカル CLI コンフィギュレーションをすべての ASA に設定する必要があります。
Auto Update サーバを使用して、ソフトウェア イメージとコンフィギュレーション ファイルを、アクティブ/スタンバイ フェールオーバー コンフィギュレーションの ASA に配置できます。アクティブ/スタンバイ フェールオーバー コンフィギュレーションで Auto Update をイネーブルにするには、フェールオーバー ペアのプライマリ装置に Auto Update サーバのコンフィギュレーションを入力します。
フェールオーバー コンフィギュレーションの Auto Update サーバ サポートには、次の制限と動作が適用されます。
アクティブ/スタンバイ コンフィギュレーションがサポートされるのは、シングル モードだけです。
新しいプラットフォーム ソフトウェア イメージをロードする際、フェールオーバー ペアはトラフィックの転送を停止します。
LAN ベースのフェールオーバーを使用する場合、新しいコンフィギュレーションによってフェールオーバー リンクのコンフィギュレーションが変更されてはいけません。フェールオーバー リンクのコンフィギュレーションが変更されると、装置間の通信は失敗します。
Auto Update サーバへの Call Home を実行するのはプライマリ装置だけです。Call Home を実行するには、プライマリ装置がアクティブ状態である必要があります。そうでない場合、ASA は自動的にプライマリ装置にフェールオーバーします。
ソフトウェア イメージまたはコンフィギュレーション ファイルをダウンロードするのは、プライマリ装置だけです。その後、ソフトウェア イメージまたはコンフィギュレーション ファイルはセカンダリ装置にコピーされます。
インターフェイス MAC アドレスとハードウェアのシリアル番号は、プライマリ装置のものです。
Auto Update サーバまたは HTTP サーバに保存されたコンフィギュレーション ファイルは、プライマリ装置専用です。
次に、フェールオーバー コンフィギュレーションでの Auto Update プロセスの概要を示します。このプロセスは、フェールオーバーがイネーブルであり、動作していることを前提としています。装置がコンフィギュレーションを同期化している場合、SSM カードの不具合以外の理由でスタンバイ装置に障害が発生している場合、または、フェールオーバー リンクがダウンしている場合、Auto Update プロセスは実行できません。
両方の装置は、プラットフォームおよび ASDM ソフトウェア チェックサムとバージョン情報を交換します。
プライマリ装置は Auto Update サーバにアクセスします。プライマリ装置がアクティブ状態でない場合、ASA はプライマリ装置にフェールオーバーした後、Auto Update サーバにアクセスします。
Auto Update サーバは、ソフトウェア チェックサムと URL 情報を返します。
プライマリ装置が、アクティブまたはスタンバイ装置のプラットフォーム イメージ ファイルをアップデートする必要があると判断した場合は、次の処理が実行されます。
プライマリ装置は、Auto Update サーバの URL を使用して、HTTP サーバから適切なファイルを取得します。
プライマリ装置は、そのイメージをスタンバイ装置にコピーしてから、自身のイメージをアップデートします。
両方の装置に新しいイメージがある場合は、セカンダリ(スタンバイ)装置が最初にリロードされます。
セカンダリ装置のブート時にヒットレス アップグレードが可能な場合は、セカンダリ装置がアクティブ装置になり、プライマリ装置がリロードされます。リロードが終了すると、プライマリ装置がアクティブ装置になります。
スタンバイ装置のブート時にヒットレス アップグレードができない場合は、両方の装置が同時にリロードされます。
セカンダリ(スタンバイ)装置だけに新しいイメージがある場合は、セカンダリ装置だけがリロードされます。プライマリ装置は、セカンダリ装置のリロードが終了するまで待機します。
プライマリ(アクティブ)装置だけに新しいイメージがある場合は、セカンダリ装置がアクティブ装置になり、プライマリ装置がリロードされます。
もう一度アップデート プロセスが手順 1 から開始されます。
ASA が、プライマリまたはセカンダリ装置の ASDM ファイルをアップデートする必要があると判断した場合は、次の処理が実行されます。
プライマリ装置は、Auto Update サーバから提供された URL を使用して、HTTP サーバから ASDM イメージ ファイルを取得します。
プライマリ装置は、必要に応じてそのイメージをスタンバイ装置にコピーします。
プライマリ装置は、自身の ASDM イメージをアップデートします。
もう一度アップデート プロセスが手順 1 から開始されます。
プライマリ装置が、コンフィギュレーション ファイルをアップデートする必要があると判断した場合は、次の処理が実行されます。
プライマリ装置は、指定された URL を使用して、からコンフィギュレーション ファイルを取得します。
両方の装置で同時に、古いコンフィギュレーションが新しいコンフィギュレーションに置換されます。
もう一度アップデート プロセスが手順 1 から開始されます。
チェックサムがすべてのイメージおよびコンフィギュレーション ファイルと一致している場合、アップデートは必要ありません。このプロセスは、次のポーリング時間まで中断されます。
Auto Update は、シングル コンテキスト モードでのみサポートされます。
クラスタリングはサポートされません。
次のモデルではサポートされません。
ASA 5506-X、5508-X、5516-X
Firepower 1000、 2100、 4100、および 9300
ASAv
Auto Update サーバと通信するためのプロトコルとして HTTPS が選択されている場合は、ASA は SSL を使用します。これは、ASA による DES または 3DES ライセンスの保有が必須です。
ステップ 1 |
Auto Update サーバの URL を指定するには、次のコマンドを入力します。 auto-update server url [source interface] [verify-certificate | no-verification] ここで、url には次の構文があります。 http [s ]:// [user:password@ ]server_ip [:port ]/pathname source interface キーワードおよび引数は、Auto Update サーバに要求を送信するときに使用するインターフェイスを指定します。management-access コマンドで指定したインターフェイスと同じインターフェイスを指定すると、Auto Update 要求は管理アクセスに使用されるのと同じ IPsec VPN トンネルを通過します。 HTTPS の場合、verify-certificate キーワード(デフォルト)は、Auto Update サーバが返す証明書を検証します。検証をディセーブルにするには(推奨されません)、no-verification キーワードを指定します。 |
ステップ 2 |
(任意)Auto Update サーバと通信する際に送信するデバイス ID を識別するには、次のコマンドを入力します。 auto-update device-id {hardware-serial | hostname | ipaddress [if-name] | mac-address [if-name] | string text} 使用する ID は、次のいずれかのパラメータによって決まります。
|
ステップ 3 |
(任意)コンフィギュレーション、またはイメージのアップデートを要求するために Auto Update サーバにポーリングする回数を指定するには、次のコマンドを入力します。 auto-update poll-period poll-period [retry-count [retry-period]] poll-period 引数は、更新を確認する間隔(分単位)を指定します。デフォルトは 720 分(12 時間)です。 retry-count 引数は、サーバへの最初の接続に失敗した場合に、再試行する回数を指定します。デフォルトは 0 です。 retry-period 引数は、リトライの間の待機時間(分単位)を指定します。デフォルトは 5 分です。 |
ステップ 4 |
(オプション)ASA から Auto Update サーバにポーリングする特定の時刻をスケジュールするには、次のコマンドを入力します。 auto-update poll-at days-of-the-week time [ randomize minutes ] [retry_count [retry_period ]] days-of-the-week 引数は、Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、および Sunday の中の任意の曜日または曜日の組み合わせです。それ以外に、daily(月曜日から日曜日)、weekdays(月曜日から金曜日)、および weekend(土曜日と日曜日)の値が設定可能です。 time 引数は、ポーリングの開始時刻を HH:MM 形式で指定します。たとえば、午前 8 時は 8:00、午後 8 時は 20:00 とします。 randomize minutes キーワードおよび引数は、指定した開始時刻に続いてポーリングをランダムに実行する期間を指定します。範囲は 1 ~ 1439 分です。 retry_count 引数は、最初の接続に失敗したときに、Auto Update サーバへの再接続を試みる回数を指定します。デフォルトは 0 です。 retry_period 引数は、接続の試行から次の試行までの待機時間を指定します。デフォルトは 5 分です。範囲は 1 ~ 35791 分です。 |
ステップ 5 |
(オプション)Auto Update サーバに一定期間アクセスがなかった場合にトラフィックの通過を中断するには、次のコマンドを入力します。 auto-update timeout period period 引数は、1 ~ 35791 の範囲で分単位のタイムアウト期間を指定します。デフォルトはタイムアウトなし(0 分)です。デフォルトに戻すには、このコマンドの no 形式を使用します。 auto-update timeout コマンドを使用して、最新のイメージと設定が ASA に存在することを確認します。この状態は、システム ログ メッセージ 201008 で報告されます。 |
次の例では、ASA が外部インターフェイスから証明書の検証付きで、IP アドレス 209.165.200.224、ポート番号 1742 で Auto Update サーバをポーリングするように設定されています。
また、ASA は、デバイス ID としてホスト名を使用し、Auto Update サーバへのポーリングを毎週金曜日と土曜日の 10:00 p.m から 11:00 p.m. の間の任意の時刻に実行するように設定されます。次の例のように、ポーリングに失敗した場合は、ASA によって Auto Update サーバへの再接続が 10 回試みられます。再接続と再接続の間は、3 分間の待機時間が設定されます。
ciscoasa(config)# auto-update server https://jcrichton:farscape@209.165.200.224:1742/management source outside verify-certificate
ciscoasa (config)# auto-update device-id hostname
hostname (config)# auto-update poll-at Friday Saturday 22:00 randomize 60 2 10
client-update コマンドを入力すると、Auto Update クライアントとして設定された ASA のアップデートがイネーブルになり、ソフトウェア コンポーネントのタイプ(ASDM またはブート イメージ)、ASA のタイプまたはファミリ、アップデートが適用されるリビジョン番号、アップデートを取得した URL または IP アドレスを指定できるようになります。
ASA を Auto Update サーバとして設定するには、次の手順を実行します。
ステップ 1 |
クライアント アップデートをイネーブルにするには、次のコマンドを入力します。
|
ステップ 2 |
ASA に適用する client-update コマンドに、次のパラメータを設定します。 client-update {component {asdm | image} | device-id dev_string | family family_name | type type} url url-string rev-nums rev-nums} component {asdm | image} パラメータでは、ASDM または ASA のブート イメージのいずれかをソフトウェア コンポーネントとして指定します。 device-id dev_string パラメータでは、Auto Update クライアントが自身を識別するために使用する固有の文字列を指定します。最大で 63 文字です。 family family_name パラメータでは、Auto Update クライアントが自身を識別するために使用するファミリ名を指定します。asa、pix、または 7 文字以内のテキスト文字列を指定します。 rev-nums rev-nums パラメータでは、このクライアントのソフトウェアまたはファームウェア イメージを指定します。最大 4 個のイメージを、任意の順序でカンマで区切って指定します。 type type パラメータでは、クライアント アップデートを通知するクライアントのタイプを指定します。このコマンドは、Windows クライアントのアップデートでも使用されるため、クライアントのリストには Windows オペレーティング システムも複数含まれています。 url url-string パラメータでは、ソフトウェアまたはファームウェア イメージの URL を指定します。この URL は、クライアントに適合するファイルを指している必要があります。すべての Auto Update クライアントでは、URL のプレフィックスとしてプロトコル「http://」または「https://」を使用する必要があります。 特定のタイプの ASA すべてに適用するクライアント アップデートのパラメータを設定します。つまり、ASA のタイプ、および更新されたイメージの取得元となる URL または IP アドレスを指定します。また、リビジョン番号も指定する必要があります。リモートの ASA のリビジョン番号が、指定したリビジョン番号の 1 つと一致する場合は、クライアントのアップデートは不要です。アップデートは無視されます。 Cisco 5525-X ASA にクライアント アップデートを設定するには、次のコマンドを入力します。
|
debug auto-update client または debug fover cmd-exe コマンドを使用して、Auto Update プロセスで実行される処理を表示できます。次に、debug auto-update client コマンドの出力例を示します。
Auto-update client: Sent DeviceDetails to /cgi-bin/dda.pl of server 192.168.0.21
Auto-update client: Processing UpdateInfo from server 192.168.0.21
Component: asdm, URL: http://192.168.0.21/asdm.bint, checksum:
0x94bced0261cc992ae710faf8d244cf32
Component: config, URL: http://192.168.0.21/config-rms.xml, checksum:
0x67358553572688a805a155af312f6898
Component: image, URL: http://192.168.0.21/cdisk73.bin, checksum:
0x6d091b43ce96243e29a62f2330139419
Auto-update client: need to update img, act: yes, stby yes
name
ciscoasa(config)# Auto-update client: update img on stby unit...
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 1, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 1001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 1501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 2001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 2501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 3001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 3501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 4001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 4501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 5001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 5501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 6001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 6501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 7001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 7501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 8001, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 8501, len = 1024
auto-update: Fover copyfile, seq = 4 type = 1, pseq = 9001, len = 1024
auto-update: Fover file copy waiting at clock tick 6129280
fover_parse: Rcvd file copy ack, ret = 0, seq = 4
auto-update: Fover filecopy returns value: 0 at clock tick 6150260, upd time 145980 msecs
Auto-update client: update img on active unit...
fover_parse: Rcvd image info from mate
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
auto-update: HA safe reload: reload active waiting with mate state: 20
Beginning configuration replication: Sending to mate.
auto-update: HA safe reload: reload active waiting with mate state: 50
auto-update: HA safe reload: reload active waiting with mate state: 50
auto-update: HA safe reload: reload active waiting with mate state: 80
Sauto-update: HA safe reload: reload active unit at clock tick: 6266860
Auto-update client: Succeeded: Image, version: 0x6d091b43ce96243e29a62f2330139419
Auto Update プロセスが失敗すると、次の syslog メッセージが生成されます。
%ASA4-612002: Auto Update failed: file version: version reason: reason
file は、失敗したアップデートに応じて “image”、“asdm”、または “configuration” になります。version は、アップデートのバージョン番号です。reason は、アップデートが失敗した原因です。
Auto Update ステータスのモニタリングについては、次のコマンドを参照してください。
show auto-update
次に、show auto-update コマンドの出力例を示します。
ciscoasa(config)# show auto-update
Server: https://********@209.165.200.224:1742/management.cgi?1276
Certificate will be verified
Poll period: 720 minutes, retry count: 2, retry period: 5 minutes
Timeout: none
Device ID: host name [corporate]
Next poll in 4.93 minutes
Last poll: 11:36:46 PST Tue Nov 13 2004
Last PDM update: 23:36:46 PST Tue Nov 12 2004
機能名 |
プラットフォーム リリース |
機能情報 |
---|---|---|
セキュア コピー クライアント |
9.1(5)/9.2(1) |
SCP サーバとの間でファイルを転送するため、ASA は Secure Copy(SCP)クライアントをサポートするようになりました。 ssh pubkey-chain、server (ssh pubkey-chain)、key-string、key-hash、ssh stricthostkeycheck の各コマンドが導入されました。 copy scp コマンドが変更されました。 |
設定可能な SSH 暗号機能と整合性アルゴリズム |
9.1(7)/9.4(3)/9.5(3)/9.6(1) |
ユーザは SSH 暗号化を管理するときに暗号化モードを選択し、さまざまなキー交換アルゴリズムに対して HMAC と暗号化を設定できます。アプリケーションに応じて、暗号の強度を強くしたり弱くする必要がある場合があります。セキュアなコピーのパフォーマンスは暗号化アルゴリズムに一部依存します。デフォルトで、ASA は 3des-cbc aes128-cbc aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr の順にアルゴリズムをネゴシエートします。提示された最初のアルゴリズム(3des-cbc)が選択された場合、aes128-cbc などの一層効率的なアルゴリズムが選択された場合よりも大幅にパフォーマンスが低下します。たとえば、提示された暗号方式に変更するには、ssh cipher encryption custom aes128-cbc を使用します。 次のコマンドが導入されました。ssh cipher encryption、ssh cipher integrity |
デフォルトでイネーブルになっている Auto Update サーバ証明書の検証 |
9.2(1) |
Auto Update サーバ証明書の検証がデフォルトでイネーブルになりました。新しいコンフィギュレーションでは証明書の検証を明示的にディセーブルにする必要があります。証明書の確認をイネーブルにしていなかった場合に、以前のリリースからアップグレードしようとすると、証明書の確認はイネーブルではなく、次の警告が表示されます。
設定を移行する場合は、次のように確認なしを明示的に設定します。 auto-update server no-verification auto-update server {verify-certificate | no-verification} コマンドが変更されました。 |
CLI を使用したシステムのバックアップと復元 |
9.3(2) |
CLI を使用してイメージや証明書を含む完全なシステム コンフィギュレーションをバックアップおよび復元できるようになりました。 backup および restore の各コマンドが導入されました。 |
新しい ASA 5506W-X イメージの回復およびロード |
9.4(1) |
新しい ASA 5506W-X イメージのリカバリおよびロードがサポートされています。 hw-module module wlan recover image コマンドが導入されました。 |