目次

概要

前提条件

クラスタのアプライアンスのコンフィギュレーション ファイル バックアップを自動化するか、またはスクリプトを書いて下さい

高度自動化されたか、またはスクリプトを書かれたコンフィギュレーション ファイル バックアップ

関連情報

概要

この資料に Cisco E メール セキュリティ アプライアンス（ESA）でクラスタのアプライアンスから設定を保存するためにバッチ コマンドを使用する方法を記述されています。 これは ESA のために AsyncOS のすべてのバージョンで使用することができます。

AsyncOS バージョン 8.5 前に、クラスタ化されたアプライアンスは Cisco ESA に設定を復元するのに使用されるべき使用可能な設定を保存することができませんでした。 使用可能な設定をアプライアンスから得るために、クラスタからアプライアンスを取除き、スタンドアロン機器として設定を保存しなければなりませんでした。

前提条件

注: この技術情報は proof-of-concept 一例として基礎であり。 これらのステップが完全にテストされる間、この技術情報はデモおよび実例 の 目的で主に意図されています。 カスタムスクリプトは Cisco のスコープおよびサポート可能性の外にあります。 Cisco Technical Assistance Center はカスタム外部スクリプトを書きませんか、アップデートするか、またはいつでも解決します。  スクリプトを試み、組み立てる前に、最終的なスクリプトを組み立てるときスクリプトを書くナレッジがあることを確認して下さい。

クラスタの ESA からのこの情報を収集して下さい:

- IP アドレスやホスト名

- クラスタ名

- クラスタ グループ名（該当する場合）

修正によって ESA 実行決まる CLI バッチ変更があるので、E メール セキュリティ用の AsyncOS のバージョンのための CLI レファレンスガイドを参照して下さい。

これらの TechNotes を読み、理解して下さい:

- 設定ファイルのバックアップを自動化またはスクリプト化するにはどうしますか。

- パスワードなしで ESA にログインできる SSH 公開キー認証の設定方法

クラスタのアプライアンスのコンフィギュレーション ファイル バックアップを自動化するか、またはスクリプトを書いて下さい

先の AsyncOS バージョン saveconfig または mailconfig コマンドでクラスタで、ESA がこの警告を生成する間、設定を保存するように試みる時、バージョン 8.5 よりに関しては:

WARNING: Clustered machines do not support loadconfig. Your configuration file has

complete  data for the entire cluster, but cannot be used to restore a configuration.

AsyncOS バージョン 8.5 および それ 以降では、保存された 設定は今マシン レベル 設定およびクラスタ設定が両方含まれています。 これはバージョン 8.5 および それ 以降 ユーザガイドから詳しくカバーされます。 詳細のためのエンドユーザ ガイドを参照して下さい。

クラスタの各アプライアンスのための設定をバックアップする必要がありません。 ただし、各クラスタのために複数のグループが設定されているネットワークに複数のクラスタが、ある可能性があります。 次にクラスタから各アプライアンスを取除くことはかなり困難で、設定を保存し、クラスタを手動で再度再合同させます。

これらのコマンドは ESA にログイン しか、クラスタから ESA を取除きか、保存しか、または設定を郵送し、次にクラスタを再度再合同させれば使用することができます。

始まるために、クラスタおよびグループ名の ESA のマシン名およびシリアル番号を知っていることは重要です。 これは CLI の clusterconfig リストを入力する場合得ることができます:

(Cluster ESA1_ESA2)> clusterconfig list

Cluster esaA_esaB

=====================

Group Main_Group:

Machine ESA1.local (Serial #: 0000E878109A-G091111)

Machine ESA2.local (Serial #: 0000E878525D-9091111)

アプライアンスをクラスタから取除くために、clusterconfig removemachine <appliance name> コマンドを使用して下さい:

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

Please wait, this operation may take a minute...

Machine ESA1.local removed from the cluster.

saveconfig コマンドで、パスワードでアプライアンスに設定を保存して下さい。 注意されるように、「覆われたパスワードでファイル loadconfig コマンドを使用してロードすることができません」。は このようにプロンプト表示された場合、N を入力すること確実でであって下さい:

ESA1.local> saveconfig

Do you want to mask the password? Files with masked passwords cannot be loaded

using loadconfig command. [Y]> n

File written on machine "esaA.local" to the location

"/configuration/C100V-0000E878109A-G091111-20140909T184724.xml".

Configuration saved.

また、使用 mailconfig 設定を有効な eメール受信者に電子メールで送るため。 注意されるように、「覆われたパスワードでファイル loadconfig コマンドを使用してロードすることができません」。は このようにプロンプト表示された場合、N を入力すること確実でであって下さい:

ESA1.local> mailconfig

Please enter the email address to which you want to send the configuration file.

Separate multiple addresses with commas.

[]> joe@example.com

Do you want to mask the password? Files with masked passwords cannot be loaded

using loadconfig command. [Y]> n

The configuration file has been sent to joe@example.com.

最終的には、クラスタに戻ってアプライアンスに加入するために clusterconfig バッチ コマンドを使用して下さい:

clusterconfig join [--port=xx] <ip_of_remote_cluster> <admin_username>

<admin_password> <groupname>

前例と続くために、これはこのコマンドで実行されます:

esaA.local> clusterconfig join --port=22 172.16.6.161 admin ironport Main_Group

Joining a cluster takes effect immediately, there is no need to commit.

(Cluster ESA1_ESA2)>

「クラスタ ESA1_ESA2)" として前例に記載のとおりクラスタ レベル名前へのコマンド プロンプトの自動変更に、注意します。

高度自動化されたか、またはスクリプトを書かれたコンフィギュレーション ファイル バックアップ

外部ホスト（UNIX/Linux/OSX）から、プロセスのスクリプトを書くために前のコマンドを使用できます。

クラスタがセキュア シェル（SSH）を実行するという想定のもとでスクリプトに書かれている全体のプロセスの例は、ポート 22 ここにあります:

#! /bin/bash

#

# Script to save the ESA config, then copy locally via SCP. This is assuming you

wish to

# have the cluster in SSH via port 22. This script has been written and tested against

# AsyncOS 9.0.0-390 (01/15/2014).

#

# *NOTE* This script is a proof-of-concept and provided as an example basis. While

these steps have

# been successfully tested, this script is for demonstration and illustration purposes.

Custom

# scripts are outside of the scope and supportability of Cisco. Cisco Technical

Assistance will

# not write, update, or troubleshoot custom external scripts at any time.

#

# <SCRIPT>

#

# $HOSTNAME & $HOSTNAME2 can be either the FQDN or IP address of the ESAs in cluster.

#

HOSTNAME= [IP/HOSTNAME ESA1]

HOSTNAME2= [IP/HOSTNAME ESA2]

#

# $MACHINENAME is the local name for ESA1.

#

MACHINENAME= [MACHINENAME AS LISTED FROM 'clusterconfig list']

#

# $USERNAME assumes that you have preconfigured SSH key from this host to your ESA.

# http://www.cisco.com/c/en/us/support/docs/security/email-security-appliance/

118305-technote-esa-00.html

#

USERNAME=admin

#

# $BACKUP_PATH is the directory location on the local system.

#

BACKUP_PATH= [/local/path/as/?desired]

#

# Following will remove ESA1 from cluster in order to backup standalone config.

# "2> /dev/null" at the end of string will quiet any additional output of the

clustermode command.

#

echo "|=== PHASE 1 ===| REMOVING $MACHINENAME FROM CLUSTER"

ssh $USERNAME@$HOSTNAME "clustermode cluster; clusterconfig removemachine

$MACHINENAME" 2> /dev/null

#

# $FILENAME contains the actual script that calls the ESA, issues the 'saveconfig'

command.

# The rest of the string is the cleanup action to reflect only the <model>-

<serial number>-<timestamp>.xml.

#

echo "|=== PHASE 2 ===| BACKUP CONFIGURATION ON ESA"

FILENAME=`ssh -q $USERNAME@$HOSTNAME "saveconfig y 1" | grep xml | sed -e

's/\/configuration\///g' | sed 's/\.$//g' | tr -d "\""`

#

# The 'scp' command will secure copy the $FILENAME from the ESA to specified

backup path, as entered above.

# The -q option for 'scp' will disable the copy meter/progress bar.

#

echo "|=== PHASE 3 ===| COPY XML FROM ESA TO LOCAL"

scp -q $USERNAME@$HOSTNAME:/configuration/$FILENAME $BACKUP_PATH

#

# Following will re-add ESA1 back into cluster.

#

echo "|=== PHASE 4 ===| ADDING $MACHINENAME BACK TO CLUSTER"

ssh $USERNAME@$HOSTNAME "clusterconfig join $HOSTNAME2 admin ironport

Main_Group" 2> /dev/null

#

echo "|=== COMPLETE ===| $FILENAME successfully saved to $BACKUP_PATH"

#

# </SCRIPT>

#

スクリプトで組み込まれる main コマンドの検査はここにあります:

- クラスタから ESA1 を取除いて下さい:

ssh $USERNAME@$HOSTNAME "clustermode cluster; clusterconfig removemachine

$MACHINENAME" 2> /dev/null

- スタンドアロン設定コンフィギュレーション・ファイルをダウンロードして下さい:

FILENAME=`ssh -q $USERNAME@$HOSTNAME "saveconfig y 1" | grep xml | sed -e 's/

\/configuration\///g' | sed 's/\.$//g' | tr -d "\""`

- ESA1 からローカル ホストに XML をコピーして下さい:

scp -q $USERNAME@$HOSTNAME:/configuration/$FILENAME $BACKUP_PATH

- クラスタに再び ESA1 を置いて下さい。

ssh $USERNAME@$HOSTNAME "clusterconfig join $HOSTNAME2 admin ironport

Main_Group" 2> /dev/null

操作のスクリプトのコード例全体はこれという結果に終る必要があります:

my_host$ ./cluster_backup

|=== PHASE 1 ===| REMOVING ESA1.local FROM CLUSTER

Please wait, this operation may take a minute...

Machine ESA1.local removed from the cluster.

|=== PHASE 2 ===| BACKUP CONFIGURATION ON ESA

|=== PHASE 3 ===| COPY XML FROM ESA TO LOCAL

|=== PHASE 4 ===| ADDING ESA1.local BACK TO CLUSTER

Joining a cluster takes effect immediately, there is no need to commit.

|=== COMPLETE ===| C100V-0000E878109A-G091111-20150116T192955.xml successfully

saved to /Users/saved_esa_configurations/

関連情報

- Cisco 電子メール セキュリティ アプライアンス - エンド ユーザ ガイド

- テクニカルサポートとドキュメント - Cisco Systems