Cisco ASA 5580 適応型セキュリティ アプライアン ス コマンド ライン コンフィギュレーション ガイド
ソフトウェア、ライセンス、およびコンフィ ギュレーションの管理
ソフトウェア、ライセンス、およびコンフィギュレーションの管理
発行日;2012/01/16 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 17MB) | フィードバック

目次

ソフトウェア、ライセンス、およびコンフィギュレーションの管理

ライセンスの管理

アクティベーション キーの取得

新しいアクティベーション キーの入力

フラッシュ メモリ内のファイルの表示

フラッシュ メモリからのファイルの取得

フラッシュ メモリへのソフトウェアまたはコンフィギュレーションのダウンロード

特定の場所へのファイルのダウンロード

スタートアップ コンフィギュレーションまたは実行コンフィギュレーションへのファイルのダウンロード

フェールオーバー ペアのゼロ ダウンタイム アップグレードの実行

Active/Standby フェールオーバー コンフィギュレーションのアップグレード

Active/Active フェールオーバー コンフィギュレーションのアップグレード

ブートするアプリケーション イメージと ASDM イメージの設定

スタートアップ コンフィギュレーションとしてブートするファイルの設定

コンフィギュレーション ファイルのバックアップ

シングルモード コンフィギュレーションまたはマルチモードのシステム コンフィギュレーションのバックアップ

コンテキスト コンフィギュレーションのフラッシュ メモリへのバックアップ

コンテキスト内でのコンテキスト コンフィギュレーションのバックアップ

端末の表示からのコンフィギュレーションのコピー

export および import コマンドを使用した追加のファイルのバックアップ

スクリプトを使用したファイルのバックアップと復元

前提条件

スクリプトの実行

Auto Update サポートの設定

Auto Update Server との通信の設定

Auto Update Server としてのクライアント アップデートの設定

Auto Update ステータスの表示

ソフトウェア、ライセンス、およびコンフィギュレーションの管理

この章では、 adaptive security appliance のソフトウェア、ライセンス、およびコンフィギュレーションの管理について説明します。この章では、次の項目について説明します。

「ライセンスの管理」

「フラッシュ メモリ内のファイルの表示」

「フラッシュ メモリからのファイルの取得」

「フラッシュ メモリへのソフトウェアまたはコンフィギュレーションのダウンロード」

「フェールオーバー ペアのゼロ ダウンタイム アップグレードの実行」

「ブートするアプリケーション イメージと ASDM イメージの設定」

「スタートアップ コンフィギュレーションとしてブートするファイルの設定」

「コンフィギュレーション ファイルのバックアップ」

「Auto Update サポートの設定」

ライセンスの管理

ソフトウェアをインストールすると、元のイメージから既存のアクティベーション キーが抽出され、adaptive security appliance ファイル システムのファイル内に保存されます。

この項は、次の内容で構成されています。

「アクティベーション キーの取得」

「新しいアクティベーション キーの入力」


) Cisco ASA 5580 シリーズ adaptive security applianceの初期スタートアップ時に、ソフトウェアは有効なライセンス キーをチェックします。ライセンス キーが見つからない場合、システムは「There is no valid license key」というプロンプトを送信します。ESC キーまたは Space キーを押して、キーを入力してください。システムが 10 秒でリブートします。この時点で正しいライセンス キーが入力されないと、システムは最小の機能セットで動作する代わりに、リブートします。


アクティベーション キーの取得

アクティベーション キーを取得するには、シスコの代理店から購入できる Product Authorization Key が必要になります。Product Authorization Key を入手したら Web でキーを登録し、次の手順を実行します。


ステップ 1 次のコマンドを入力して、adaptive security applianceのシリアル番号を取得します。

hostname> show version | include Number
 

パイプ文字(|)をコマンドの一部として入力します。

 

ステップ 2 Web ブラウザを開き、次のいずれかの Web サイトにアクセスします(URL は大文字と小文字が区別されます)。

Cisco.com の登録ユーザである場合は、次の URL にアクセスしてください。

http://www.cisco.com/go/license
 

Cisco.com の登録ユーザでない場合は、次の URL にアクセスしてください。

http://www.cisco.com/go/license/public
 

ステップ 3 プロンプトが表示されたら、次の情報を入力します。

Product Authorization Key

adaptive security applianceのシリアル番号

自分の電子メール アドレス

アクティベーション キーが自動的に生成され、指定した電子メール アドレスに送信されます。

新しいアクティベーション キーの入力

アクティベーション キーを入力するには、次のコマンドを入力します。

hostname(config)# activation-key key
 

key は、4 つまたは 5 つのエレメントからなる 16 進文字列です。各エレメントは 1 つのスペースで区切られます。次の例を参考にしてください。

0xe02888da 0x4ba7bed6 0xf1c123ae 0xffd8624e
 

先頭部分の 0x 指定子は省略できます。値は、すべて 16 進数であると見なされます。

すでにマルチコンテキスト モードに入っている場合は、システム実行スペースにこのコマンドを入力します。

アクティベーション キーを入力する前に、フラッシュ メモリ内のイメージと実行イメージが同一であることを確認します。これは、adaptive security applianceをリブートしてからアクティベーション キーを入力することで確認できます。


) アクティベーション キーは、コンフィギュレーション ファイルには保存されません。キーはセキュリティ アプライアンスのシリアル番号に結び付けられます。

実行イメージで変更内容を有効にするには、新しいアクティベーション キーを入力した後でadaptive security applianceをリブートする必要があります。


次の例は、adaptive security applianceでアクティベーション キーを変更する方法を示しています。

hostname(config)# activation-key 0xe02888da 0x4ba7bed6 0xf1c123ae 0xffd8624e
 

フラッシュ メモリ内のファイルの表示

フラッシュ メモリ内のファイルを表示して、そのファイルに関する情報を確認できます。

フラッシュ メモリ内のファイルを表示するには、次のコマンドを入力します。

hostname# dir [flash: | disk0: | disk1:]
 

ASA 5580 の内部フラッシュ メモリの場合は、 flash: または disk0: を使用できます。 disk1: キーワードは、ASA 5580 の外部フラッシュ メモリを表します。内部フラッシュ メモリがデフォルトです。

次の例を参考にしてください。

hostname# dir
 
Directory of disk0:/
500 -rw- 4958208 22:56:20 Nov 29 2006 cdisk.bin
2513 -rw- 4634 19:32:48 Sep 17 2006 first-backup
2788 -rw- 21601 20:51:46 Nov 23 2006 backup.cfg
2927 -rw- 8670632 20:42:48 Dec 08 2006 asdmfile.bin
 

特定のファイルに関する拡張情報を表示するには、次のコマンドを入力します。

hostname# show file information [path:/]filename
 

デフォルト パスは、内部フラッシュ メモリ(flash:/ または disk0:/)のルート ディレクトリです。

次の例を参考にしてください。

hostname# show file information cdisk.bin
 
disk0:/cdisk.bin:
type is image (XXX) []
file size is 4976640 bytes version 8.1(1)
 

示されているファイル サイズは例にすぎません。

フラッシュ メモリからのファイルの取得

次の URL で HTTPS 接続を使用して、フラッシュ ディスクから直接ファイルを取得できます。ASA IP アドレスとファイル名の値を指定します。

https://ASA_IP/disk0/filename
 

このオプションは、次のことを実行するお客様に役立ちます。

ASA バイナリ イメージからコピーする(バックアップとして)。

WebVPN キャプチャ ファイルからコピーする。

他のフラッシュ ファイルを Secure Desktop にコピーする

フラッシュ メモリへのソフトウェアまたはコンフィギュレーションのダウンロード

この項は、次の内容で構成されています。

「特定の場所へのファイルのダウンロード」

「スタートアップ コンフィギュレーションまたは実行コンフィギュレーションへのファイルのダウンロード」

アプリケーション イメージ、ASDM イメージ、コンフィギュレーション ファイル、および他のファイルを TFTP、FTP、HTTP、または HTTPS サーバから内部フラッシュ メモリに、あるいは ASA 5580 の場合は外部フラッシュ メモリに、ダウンロードできます。


) フラッシュ メモリの同じディレクトリには、同じ名前で大文字と小文字が異なる 2 つのファイルを置けません。たとえば、Config.cfg というファイルを config.cfg というファイルが格納されている場所にダウンロードすると、エラー「%Error opening disk0:/Config.cfg (File exists)」が表示されます。


特定の場所へのファイルのダウンロード

この項では、アプリケーション イメージ、ASDM ソフトウェア、コンフィギュレーション ファイル、またはフラッシュ メモリへのダウンロードが必要な他のファイルのダウンロード方法について説明します。ファイルをスタートアップ コンフィギュレーションまたは実行コンフィギュレーションにダウンロードする場合は、「スタートアップ コンフィギュレーションまたは実行コンフィギュレーションへのファイルのダウンロード」を参照してください。

Cisco SSL VPN クライアントのインストールの詳細については、「AnyConnect Client のインストール」を参照してください。セキュリティ アプライアンスへの Cisco Secure Desktop のインストールについては、『 Cisco Secure Desktop Configuration Guide for Cisco ASA 5580 Administrators 』を参照してください。

複数のイメージがインストールされている場合、または外部フラッシュ メモリにイメージがインストールされている場合に特定のアプリケーション イメージまたは ASDM イメージを使用するようにadaptive security applianceを設定する場合は、「ブートするアプリケーション イメージと ASDM イメージの設定」を参照してください。


) ASDM バージョン 6.1(1) をフラッシュ メモリにコピーするには、バージョン 8.1(1) を実行する必要があります。


特定のコンフィギュレーションをスタートアップ コンフィギュレーションとして使用するようにadaptive security applianceを設定する場合は、「スタートアップ コンフィギュレーションとしてブートするファイルの設定」を参照してください。

マルチコンテキスト モードの場合は、システム実行スペース内にいる必要があります。

ファイルをフラッシュ メモリにダウンロードするには、適切なダウンロード サーバのタイプに対応する次のコマンドのいずれかを選択します。

TFTP サーバからコピーするには、次のコマンドを入力します。

hostname# copy tftp://server[/path]/filename {flash:/ | disk0:/ | disk1:/}[path/]filename
 

ASA 5580 の内部フラッシュ メモリの場合は、 flash:/ または disk0:/ を使用できます。 disk1:/ キーワードは、セキュリティ アプライアンスの外部フラッシュ メモリを表します。

FTP サーバからコピーするには、次のコマンドを入力します。

hostname# copy ftp://[user[:password]@]server[/path]/filename {flash:/ | disk0:/ | disk1:/}[path/]filename
 

HTTP または HTTPS サーバからコピーするには、次のコマンドを入力します。

hostname# copy http[s]://[user[:password]@]server[:port][/path]/filename {flash:/ | disk0:/ | disk1:/}[path/]filename
 

セキュア コピーを使用するには、まず SSH をイネーブルにしてから、次のコマンドを入力します。

hostname# ssh scopy enable
 

その後、Linux クライアントから次のコマンドを入力します。

scp -v -pw password filename username@asa_address
 

-v は冗長を表します。 -pw が指定されていない場合は、パスワードの入力を求めるプロンプトが表示されます。

スタートアップ コンフィギュレーションまたは実行コンフィギュレーションへのファイルのダウンロード

TFTP、FTP、または HTTP(S) サーバから、またはフラッシュ メモリから、スタートアップ コンフィギュレーションまたは実行コンフィギュレーションにテキスト ファイルをダウンロードできます。


) コンフィギュレーションを実行コンフィギュレーションにコピーするには、2 つのコンフィギュレーションをマージします。マージは、新しいコンフィギュレーションから実行コンフィギュレーションに新しいコマンドを追加します。コンフィギュレーションが同じ場合、変更は発生しません。コマンドが衝突する場合、またはコマンドがコンテキストの実行に影響を与える場合、マージの結果はコマンドによって異なります。エラーが発生することも、予期できない結果が生じることもあります。


スタートアップ コンフィギュレーションまたは実行コンフィギュレーションにファイルをコピーするには、適切なダウンロード サーバに対して次のコマンドのいずれかを選択します。

TFTP サーバからコピーするには、次のコマンドを入力します。

hostname# copy tftp://server[/path]/filename {startup-config | running-config}
 

FTP サーバからコピーするには、次のコマンドを入力します。

hostname# copy ftp://[user[:password]@]server[/path]/filename {startup-config | running-config}
 

HTTP または HTTPS サーバからコピーするには、次のコマンドを入力します。

hostname# copy http[s]://[user[:password]@]server[:port][/path]/filename {startup-config | running-config}
 

フラッシュ メモリからコピーするには、次のコマンドを入力します。

hostname# copy {flash:/ | disk0:/ | disk1:/}[path/]filename {startup-config | running-config}
 

たとえば、TFTP サーバからコンフィギュレーションをコピーするには、次のコマンドを入力します。

hostname# copy tftp://209.165.200.226/configs/startup.cfg startup-config
 

FTP サーバからコンフィギュレーションをコピーするには、次のコマンドを入力します。

hostname# copy ftp://admin:letmein@209.165.200.227/configs/startup.cfg startup-config
 

HTTP サーバからコンフィギュレーションをコピーするには、次のコマンドを入力します。

hostname# copy http://209.165.200.228/configs/startup.cfg startup-config
 

フェールオーバー ペアのゼロ ダウンタイム アップグレードの実行

フェールオーバー コンフィギュレーション内の 2 つの装置は、同一のメジャー(最初の番号)およびマイナー(2 番目の番号)ソフトウェア バージョンを持っている必要があります。ただし、アップグレード処理中に装置のバージョン パリティを維持する必要はなく、各装置でそれぞれ異なるバージョンのソフトウェアを実行しても、フェールオーバー サポートを維持できます。互換性と安定性を長期間確保するためには、両装置をできるだけ早期に同じバージョンにアップグレードすることをお勧めします。

表 38-1 に、フェールオーバー ペアのゼロダウンタイム アップグレードの例を示します。

 

表 38-1 ゼロダウンタイム アップグレード サポート

アップグレードの種類
サポートの内容

メンテナンス リリース

任意のメンテナンス リリースから、マイナー リリースの範囲で他のメンテナンス リリースにアップグレードできます。

たとえば、7.0(1) から 7.0(4) の範囲であれば、最初にメンテナンス リリースをインストールしなくてもアップグレードが可能です。

マイナー リリース

マイナー リリースから次のマイナー リリースにアップグレードできます。途中のマイナー リリースをスキップしてアップグレードできません。

たとえば、7.0 からは 7.1 にアップグレードできます。ゼロダウンタイム アップグレードでは 7.0 から 7.2 への直接のアップグレードはサポートされていません。まず 7.1 にアップグレードする必要があります。

メジャー リリース

直前のバージョンの最終マイナー リリースから次のメジャー リリースにアップグレードできます。

たとえば、7.x リリースにおける最終のマイナー バージョンが7.9 であると想定される場合、7.9 から 8.0 にアップグレードできます。

フェールオーバー ペアのソフトウェアのアップグレードについて詳しくは、次の項目を参照してください。

「Active/Standby フェールオーバー コンフィギュレーションのアップグレード」

「Active/Active フェールオーバー コンフィギュレーションのアップグレード」

Active/Standby フェールオーバー コンフィギュレーションのアップグレード

Active/Standby フェールオーバー コンフィギュレーションの 2 つの装置をアップグレードするには、次の手順を実行します。


ステップ 1 両方の装置に新規ソフトウェアをダウンロードし、ロードする新規イメージを boot system コマンド(「ブートするアプリケーション イメージと ASDM イメージの設定」を参照)で指定します。

ステップ 2 アクティブ装置に次のコマンドを入力して、スタンバイ装置をリロードして新規イメージをブートします。

active# failover reload-standby
 

ステップ 3 スタンバイ装置がリロードを終了し、Standby Ready 状態になったら、アクティブ装置で次のコマンドを入力して、アクティブ装置をスタンバイ装置に強制的にフェールオーバーします。


show failover コマンドを使用して、スタンバイ装置が Standby Ready 状態にあることを確認します。


active# no failover active
 

ステップ 4 次のコマンドを入力して、前のアクティブ装置(現在の新規スタンバイ装置)をリロードします。

newstandby# reload
 

ステップ 5 新規スタンバイ装置がリロードを終了し、この装置が Standby Ready 状態になったら、次のコマンドを入力して元のアクティブ装置をアクティブな状態に戻します。

newstandby# failover active
 


 

Active/Active フェールオーバー コンフィギュレーションのアップグレード

Active/Active フェールオーバー コンフィギュレーションの 2 つの装置をアップグレードするには、次の手順を実行します。


ステップ 1 両方の装置に新規ソフトウェアをダウンロードし、ロードする新規イメージを boot system コマンド(「ブートするアプリケーション イメージと ASDM イメージの設定」を参照)で指定します。

ステップ 2 プライマリ装置のシステム実行スペースで次のコマンドを入力して、プライマリ装置の両方のフェールオーバー グループをアクティブにします。

primary# failover active
 

ステップ 3 プライマリ装置のシステム実行スペースで次のコマンドを入力して、セカンダリ装置をリロードして新規イメージをブートします。

primary# failover reload-standby
 

ステップ 4 セカンダリ装置のリロードが終了し、その装置で両方のフェールオーバー グループが Standby Ready 状態になったら、プライマリ装置のシステム実行スペースで次のコマンドを実行して、セカンダリ装置で両方のフェールオーバー グループをアクティブにします。


show failover コマンドを使用して、両方のフェールオーバー グループがセカンダリ装置で Standby Ready 状態にあることを確認します。


primary# no failover active
 

ステップ 5 両方のフェールオーバー グループがプライマリ装置で Standby Ready 状態にあることを確認してから、次のコマンドを使用してプライマリ装置をリロードします。

primary# reload
 

ステップ 6 フェールオーバー グループが preempt コマンドで設定されている場合は、これらはプリエンプション遅延の経過後、指定された装置で自動的にアクティブになります。フェールオーバー グループを preempt コマンドで設定していない場合、 failover active group コマンドを使用すると、これらのグループを指定された装置でアクティブな状態に戻すことができます。


 

ブートするアプリケーション イメージと ASDM イメージの設定

デフォルトでは、adaptive security applianceは内部フラッシュ メモリ内で見つけた最初のアプリケーション イメージをブートします。また、セキュリティ アプライアンスは、内部フラッシュ メモリ内で見つけた最初の ASDM イメージをブートするか、見つからない場合は外部フラッシュ メモリ内の ASDM イメージをブートします。複数のイメージがある場合は、ブートするイメージを指定する必要があります。ASDM イメージの場合は、ブートするイメージを指定しないと、インストールされているイメージが 1 つしかなくても、adaptive security applianceは asdm image コマンドを実行コンフィギュレーションに挿入します。Auto Update(設定されている場合)の問題を避けるため、また起動時ごとのイメージ検索を回避するため、ブートする ASDM イメージをスタートアップ コンフィギュレーションで指定する必要があります。

ブートするアプリケーション イメージを設定するには、次のコマンドを入力します。

hostname(config)# boot system url
 

ここで、 url は次のいずれかです。

{flash:/ | disk0:/ | disk1:/}[path/]filename

ASA 5580 の内部フラッシュ メモリの場合は、 flash:/ または disk0:/ を使用できます。 disk1:/ キーワードは、セキュリティ アプライアンスの外部フラッシュ メモリを表します。

tftp://[user[:password]@]server[:port]/[path/]filename

このオプションは、ASA 5580 でだけサポートされています。

最大 4 つの boot system コマンドを入力して、ブートする別々のイメージを順番に指定できます。adaptive security applianceは、最初に見つけたイメージをブートします。設定できる boot system tftp: コマンドは 1 つだけです。これは、最初に設定する必要があります。

ブートする ASDM イメージを設定するには、次のコマンドを入力します。

hostname(config)# asdm image {flash:/ | disk0:/ | disk1:/}[path/]filename
 

スタートアップ コンフィギュレーションとしてブートするファイルの設定

デフォルトでは、adaptive security applianceは、隠しファイルであるスタートアップ コンフィギュレーションからブートします。あるいは、次のコマンドを入力して、任意のコンフィギュレーションをスタートアップ コンフィギュレーションとして設定することもできます。

hostname(config)# boot config {flash:/ | disk0:/ | disk1:/}[path/]filename
 

ASA 5580 の内部フラッシュ メモリの場合は、 flash:/ または disk0:/ を使用できます。 disk1:/ キーワードは、セキュリティ アプライアンスの外部フラッシュ メモリを表します。

コンフィギュレーション ファイルのバックアップ

コンフィギュレーションをバックアップするには、次のいずれかの方法で行います。

「シングルモード コンフィギュレーションまたはマルチモードのシステム コンフィギュレーションのバックアップ」

「コンテキスト コンフィギュレーションのフラッシュ メモリへのバックアップ」

「コンテキスト内でのコンテキスト コンフィギュレーションのバックアップ」

「端末の表示からのコンフィギュレーションのコピー」

「export および import コマンドを使用した追加のファイルのバックアップ」

「スクリプトを使用したファイルのバックアップと復元」

シングルモード コンフィギュレーションまたはマルチモードのシステム コンフィギュレーションのバックアップ

シングルコンテキスト モードで、またはマルチモードのシステム コンフィギュレーションから、スタートアップ コンフィギュレーションまたは実行コンフィギュレーションを外部サーバまたはローカルのフラッシュ メモリにコピーできます。

TFTP サーバにコピーするには、次のコマンドを入力します。

hostname# copy {startup-config | running-config} tftp://server[/path]/filename
 

FTP サーバにコピーするには、次のコマンドを入力します。

hostname# copy {startup-config | running-config} ftp://[user[:password]@]server[/path]/filename
 

ローカルのフラッシュ メモリにコピーするには、次のコマンドを入力します。

hostname# copy {startup-config | running-config} {flash:/ | disk0:/ | disk1:/}[path/]filename
 

宛先のディレクトリが存在することを確認してください。存在しない場合は、 mkdir コマンドを使用してディレクトリを作成します。

コンテキスト コンフィギュレーションのフラッシュ メモリへのバックアップ

マルチコンテキスト モードで、システム実行スペースで次のコマンドのいずれかを入力して、ローカルのフラッシュ メモリにあるコンテキスト コンフィギュレーションをコピーします。

TFTP サーバにコピーするには、次のコマンドを入力します。

hostname# copy disk:[path/]filename tftp://server[/path]/filename
 

FTP サーバにコピーするには、次のコマンドを入力します。

hostname# copy disk:[path/]filename ftp://[user[:password]@]server[/path]/filename
 

ローカルのフラッシュ メモリにコピーするには、次のコマンドを入力します。

hostname# copy {flash:/ | disk0:/ | disk1:/}[path/]filename {flash:/ | disk0:/ | disk1:/}[path/]newfilename
 

宛先のディレクトリが存在することを確認してください。存在しない場合は、最初に、 mkdir コマンドを使用してディレクトリを作成します。

コンテキスト内でのコンテキスト コンフィギュレーションのバックアップ

マルチコンテキスト モードでは、コンテキスト内から次のバックアップを実行できます。

(admin コンテキストに接続された)スタートアップ コンフィギュレーション サーバに実行コンフィギュレーションをコピーするには、次のコマンドを入力します。

hostname/contexta# copy running-config startup-config
 

コンテキスト ネットワークに接続された TFTP サーバに実行コンフィギュレーションをコピーするには、次のコマンドを入力します。

hostname/contexta# copy running-config tftp:/server[/path]/filename
 

端末の表示からのコンフィギュレーションのコピー

コンフィギュレーションを端末に表示するには、次のコマンドを入力します。

hostname# show running-config
 

このコマンドの出力内容をコピーし、テキスト ファイルにコンフィギュレーションを貼り付けます。

export および import コマンドを使用した追加のファイルのバックアップ

コンフィギュレーションに必要な追加のファイルには、次のようなファイルがあります。

import webvpn コマンドを使用してインポートするファイル。現在、これらのファイルには、カスタマイゼーション、URL リスト、Web コンテンツ、プラグイン、言語の変換が含まれます。

mDAP ポリシー(dap.xml)

CSD コンフィギュレーション(data.xml)

デジタル キーと証明書

ローカル CA ユーザ データベースと証明書ステータス ファイル

CLI で、 export コマンドと import コマンドを使用して、コンフィギュレーションの個々の要素のバックアップと復元ができます。これらのファイル、たとえば、 import webvpn コマンドによってインポートされたファイルや証明書をバックアップするには、次の手順に従います。


ステップ 1 適切な show コマンドを発行します。次の例を参考にしてください。

hostname# show import webvpn plug-in
ica
rdp
ssh,telnet
vnc
hostname#
 

ステップ 2 バックアップするファイルに対して export コマンドを発行します。

hostname# export webvpn plug-in protocol rdp tftp://tftpserver/backupfilename
hostname#
 


 

スクリプトを使用したファイルのバックアップと復元

この項は、次の内容で構成されています。

「前提条件」

「スクリプトの実行」

スクリプトを使用して、セキュリティ アプライアンスのコンフィギュレーション ファイルをバックアップおよび復元できます。これには、 import webvpn CLI によってインポートするすべての拡張機能、CSD コンフィギュレーションの XML ファイル、DAP コンフィギュレーションの XML ファイルが含まれます。セキュリティ上の理由から、デジタル キーと証明書、またはローカル CA キーの自動バックアップは実行しないことをお勧めします。

この項には、そのまま使用することも、環境の必要に応じて変更することもできるサンプルスクリプトを示します。サンプルス クリプトは Linux システムに固有です。Microsoft Windows システムで使用するには、サンプルのロジックを使用して変更する必要があります。


) 既存の CLI では、copyexportimport コマンドを使用して個々のファイルをバックアップおよび復元できます。ただし、1 回の操作で、すべてのセキュリティ アプライアンス コンフィギュレーション ファイルをバックアップできる機能はありません。スクリプトを実行すると、複数の CLI を簡単に使用できるようになります。


前提条件

スクリプトを使用して、セキュリティ アプライアンス コンフィギュレーションをバックアップし、復元するには、まず、次の作業を実行します。

Expect モジュールを含む Perl をインストールします。

セキュリティ アプライアンスに到達可能な SSH クライアントをインストールします。

セキュリティ アプライアンスからバックアップの場所にファイルを送信するための TFTP サーバをインストールします。

別のオプションとして、市販のツールを使用します。このスクリプトをそのようなツールに含めることができます。

スクリプトの実行

バックアップおよび復元スクリプトを実行するには、次の手順に従います。


ステップ 1 スクリプト ファイルをシステム上の任意の場所にダウンロードするか、カット アンド ペーストします。

ステップ 2 コマンド ラインに Perl scriptname と入力します。 scriptname はスクリプト ファイルの名前です。

ステップ 3 Enter キーを押します。

ステップ 4 各オプションの値の入力が求められます。または、 Perl scriptname コマンドを入力するときに、オプションの値を入力できます。各オプションの値を入力する必要があります。

スクリプトが実行を開始し、発行するコマンドを出力しますが、これは、CLI の記録になります。これらの CLI を後で復元操作に使用できます。


 

サンプル スクリプト

#!/usr/bin/perl

#Function: Backup/restore configuration/extensions to/from a TFTP server.

#Description: The objective of this script is to show how to back up configurations/extensions

# before the backup/restore command is developed.

# It currently backs up the running configuration, all extensions imported via the "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 do not enter an option, the script will prompt for it before 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 Server との通信の設定」

「Auto Update Server としてのクライアント アップデートの設定」

「Auto Update ステータスの表示」

Auto Update は、Auto Update Server がコンフィギュレーションとソフトウェア イメージを多数のadaptive security applianceにダウンロードすることを許可し、中央からのadaptive security applianceの基本的なモニタリングを提供するプロトコル仕様です。

adaptive security applianceは、クライアントまたはサーバとして設定できます。セキュリティ アプライアンスは、Auto Update クライアントとして設定すると、Auto Update Server を定期的にポーリングして、ソフトウェアのイメージとコンフィギュレーション ファイルのアップデートを要求します。Auto Update サーバとして、セキュリティ アプライアンスは、Auto Update クライアントとして設定されたadaptive security applianceにアップデートを発行します。


) Auto Update は、シングルコンテキスト モードでだけサポートされます。


Auto Update Server との通信の設定

adaptive security applianceを Auto Update クライアントとして設定するには、次の手順に実行します。


ステップ 1 AUS の URL を指定するには、次のコマンドを入力します。

hostname(config)# auto-update server url [source interface] [verify-certificate]
 

ここで、url には次のシンタックスがあります。

http[s]://[user:password@]server_ip[:port]/pathname
 

https を指定すると、SSL が使用されます。URL の user 引数と password 引数は、サーバにログインするときの基本認証に使用されます。 write terminal show configuration 、または show tech-support コマンドを入力してコンフィギュレーションを表示した場合、ユーザとパスワードは「********」に置換されます。

HTTP のデフォルト ポートは 80、HTTPS のデフォルト ポートは 443 です。

source interface 引数は、AUS に要求を送信するときに使用するインターフェイスを指定します。 management-access コマンドで指定したインターフェイスと同じインターフェイスを指定すると、Auto Update 要求は管理アクセスに使用されるのと同じ IPsec VPN トンネルを通過します。

verify-certificate キーワードは、AUS によって戻される証明書を確認します。

ステップ 2 (オプション)AUS と通信する際に送信するデバイス ID を識別するには、次のコマンドを入力します。

hostname(config)# auto-update device-id {hardware-serial | hostname | ipaddress [if-name] | mac-address [if-name] | string text}
 

使用する ID は、次のいずれかのパラメータによって決まります。

hardware-serial :adaptive security applianceのシリアル番号を使用します。

hostname:adaptive security applianceのホスト名を使用します。

ipaddress :指定したインターフェイスの IP アドレスを使用します。インターフェイス名を指定しない場合、AUS との通信に使用するインターフェイスの IP アドレスを使用します。

mac-address:指定したインターフェイスの MAC アドレスを使用します。インターフェイス名を指定しない場合、AUS との通信に使用するインターフェイスの MAC アドレスを使用します。

string:指定されたテキスト識別子を使用します。空白や '、"、、>、&、? は使用できません。

ステップ 3 (オプション)コンフィギュレーション、またはイメージの更新を要求するために AUS がポーリングする回数を指定するには、次のコマンドを入力します。

hostname(config)# auto-update poll-period poll-period [retry-count [retry-period]]
 

poll-period 引数は、更新を確認する間隔(分単位)を指定します。デフォルトは 720 分(12 時間)です。

retry-count 引数は、サーバへの最初の接続に失敗した場合に、再試行する回数を指定します。デフォルトは 0 です。

retry-period 引数は、リトライの間の待機時間を分単位で指定します。デフォルトは 5 分です。

ステップ 4 (オプション)セキュリティ アプライアンスで Auto Update Server をポーリングする特定の時間を設定するには、次のコマンドを入力します。

hostname(config)# 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)を 1 つまたは組み合せて指定します。この他にも、daily(月曜日から日曜日まで)、weekdays(月曜日から金曜日まで)、weekends(土曜日と日曜日)を指定できます。

time 引数には、ポーリングを開始する時刻を HH:MM 形式で指定します。たとえば、8:00 は午前 8 時を、20:00 は午後 8 時を意味します。

randomize minutes 引数は、指定した開始時刻以降に、ポーリング時間をランダム化する期間を指定します。ポーリングする期間は 1 ~ 1439 分の範囲で指定できます。

retry_count 引数は、Auto Update Server に接続できなかったときに、再試行回数を指定します。デフォルトは 0 です。

retry_period 引数は、再試行する間隔を指定します。デフォルトは 5 分です。1 ~ 35791 分の値を指定できます。

ステップ 5 (オプション)Auto Update Server に一定期間アクセスがなかった場合にトラフィックの通過を中断するには、次のコマンドを使用します。

hostname(config)# auto-update timeout period
 

ここで、 period は 1 ~ 35791 の分単位のタイムアウト期間を指定します。デフォルトはタイムアウトなし(0)です。デフォルトに戻すには、このコマンドの no 形式を使用します。

adaptive security applianceに最新のイメージとコンフィギュレーションがあることを確認するには、このコマンドを使用します。この状態は、システム ログ メッセージ 201008 で報告されます。


 

次の例では、adaptive security applianceが外部インターフェイスから証明書の検証付きで、IP アドレス 209.165.200.224、ポート番号 1742 で AUS をポーリングするように設定されています。

さらに、ホスト名としてデバイス ID を使用し、毎週金曜日と土曜日の午後 10 時から 11 時の間、任意にポーリングするようにセキュリティ アプライアンスを設定します。ポーリングが失敗すると、セキュリティ アプライアンスは、3 分間隔で 10 回 AUS への再接続を試みます。

hostname(config)# auto-update server https://juser:example@209.165.200.224:1742/management source outside verify-certificate
hostname(config)# auto-update device-id hostname
hostname(config)# auto-update poll-at Friday Saturday 22:00 randomize 60 2 10

Auto Update Server としてのクライアント アップデートの設定

client-update コマンドを使用すると、Auto Update クライアントとして設定されているadaptive security applianceをアップデートできます。このコマンドで、アップデートするソフトウェア コンポーネントのタイプ(ADSM またはブート イメージ)、adaptive security applianceのタイプまたはファミリ、リビジョン番号、およびアップデートの取得先の URL か IP アドレスを指定します。

adaptive security applianceを Auto Update Server として設定するには、次の手順を実行します。


ステップ 1 グローバル コンフィギュレーション モードで、次のコマンドを入力してクライアント アップデートをイネーブルにします。

hostname(config)# client-update enable
hostname(config)#
 

ステップ 2 client-update コマンドを使用して、adaptive security applianceに適用するクライアント アップデートのパラメータを設定します。

client-update { component { asdm | image } | device-id dev_string |
family family_name | type type } url url-string rev-nums rev-nums }

component { asdm | image } キーワードでは、adaptive security applianceのソフトウェア コンポーネント(ASDM またはブート イメージ)を指定します。

device-id dev_string 引数では、アップデートする Auto Update クライアント自体を示す固有の文字列を指定します。最大長は 63 文字です。

family family_name 引数では、アップデートする Auto Update クライアント自体の固有のファミリ名を指定します。asa、pix、または 7 文字以内のテキスト文字列を指定します。

rev-nums rev-nums 引数では、このクライアントのソフトウェアまたはファームウェア イメージを指定します。任意の順番で 4 つまで、カンマで区切って指定できます。

type type 引数では、アップデートを知らせるクライアントのタイプを指定します。このコマンドは、Windows クライアントのアップデートにも使われるので、Windows オペレーティング システムもいくつか指定できます。通知するadaptive security applianceは ASA 5580 です。

url url-string 引数で、ソフトウェアまたはファームウェアのイメージの URL を指定します。必ず、このクライアントに適したファイルのある URL を指定してください。どの Auto Update クライアントでも、URL プレフィックスとして http:// または https:// プロトコルを使用する必要があります。

ステップ 3 特定のタイプのすべてのadaptive security applianceに適用するクライアント アップデートのパラメータを設定します。つまり、adaptive security applianceのタイプ、およびアップデートされたイメージの取得先の URL または IP アドレスを指定します。また、リビジョン番号も指定する必要があります。リモートのadaptive security applianceのリビジョン番号が、指定したものと同じ場合、クライアントはアップデートを無視します。

次の例は、ASA 5580 適応型セキュリティ アプライアンスのクライアント アップデートを設定しています。

hostname(config)# client-update type asa5580 component asdm url http://192.168.1.114/aus/asdm611.bin rev-nums 8.1(1)
 


 

Auto Update ステータスの表示

Auto Update のステータスを表示するには、次のコマンドを入力します。

hostname(config)# show auto-update
 

次に、 show auto-update コマンドの出力例を示します。

hostname(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]