Inhalt

Einführung

Voraussetzungen

Automatisieren oder Skript eines Konfigurationsdatei-Backups einer Appliance im Cluster

Erweiterte automatisierte oder skriptgesteuerte Konfigurationsdatei-Backups

Zugehörige Informationen

Einführung

In diesem Dokument wird beschrieben, wie Sie mithilfe von Batch-Befehlen eine Konfiguration von einer Appliance in einem Cluster auf der Cisco E-Mail Security Appliance (ESA) speichern. Dies kann auf allen Versionen von AsyncOS für ESA verwendet werden.

Vor AsyncOS Version 8.5 konnten geclusterte Appliances keine verwendbare Konfiguration speichern, um eine Konfiguration auf einer Cisco ESA wiederherzustellen. Um eine verwendbare Konfiguration von der Appliance zu erhalten, mussten Sie die Appliance aus dem Cluster entfernen und die Konfiguration als eigenständige Appliance speichern.

Voraussetzungen

Hinweis: Dieser Artikel ist eine Machbarkeitsstudie und wird als Beispielbasis bereitgestellt. Obwohl diese Schritte erfolgreich getestet wurden, dient dieser Artikel hauptsächlich Demonstrations- und Illustrationszwecken. Benutzerdefinierte Skripte sind nicht Bestandteil des Cisco Supportability. Das Cisco Technical Assistance Center erstellt, aktualisiert oder behebt keine benutzerdefinierten externen Skripts.  Bevor Sie versuchen, Skripts zu erstellen, sollten Sie sicherstellen, dass Sie Skriptkenntnisse haben, wenn Sie das endgültige Skript erstellen.

Sammeln Sie diese Informationen von den ESAs im Cluster:

- IP-Adressen und/oder Hostname

- Clustername

- Cluster-Gruppenname (falls zutreffend)

Lesen Sie den CLI-Referenzhandbuch für Ihre Version von AsyncOS für E-Mail-Sicherheit, da es CLI-Batchänderungen gibt, die von der Revision abhängig sind, die Ihre ESA ausführt.

Lesen und verstehen Sie diese technischen Hinweise:

- Wie kann ich Backups von Konfigurationsdateien automatisieren oder Skripts erstellen?

- So konfigurieren Sie die SSH Public Key Authentication für die Anmeldung bei der ESA ohne Kennwort

Automatisieren oder Skript eines Konfigurationsdatei-Backups einer Appliance im Cluster

Bei AsyncOS-Versionen vor Version 8.5, bei denen Sie versuchen, die Konfiguration im Cluster mit dem Befehl saveconfig oder mailconfig zu speichern, generiert die ESA folgende Warnung:

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.

In AsyncOS Version 8.5 und höher enthalten gespeicherte Konfigurationen nun sowohl die Konfiguration auf Computerebene als auch die Cluster-Konfiguration. Dies wird detailliert im Benutzerhandbuch zu Version 8.5 und höher beschrieben. Ausführliche Informationen finden Sie in den Endbenutzeranleitungen.

Es ist nicht erforderlich, die Konfiguration für jede Appliance in einem Cluster zu sichern. Es können jedoch mehrere Cluster in einem Netzwerk vorhanden sein, wobei für jeden Cluster mehrere Gruppen konfiguriert sind. Es ist ziemlich schwierig, alle Appliances aus dem Cluster zu entfernen und dann die Konfiguration zu speichern und das Cluster erneut manuell hinzuzufügen.

Diese Befehle können verwendet werden, wenn Sie sich bei der ESA anmelden, die ESA aus dem Cluster entfernen, die Konfiguration speichern oder per Mail versenden und dann wieder dem Cluster beitreten.

Zunächst müssen der Gerätename und die Seriennummer der ESAs im Cluster sowie der Gruppenname bekannt sein. Dies kann abgerufen werden, wenn Sie die Cluster-Konfigurationsliste in die CLI eingeben:

(Cluster ESA1_ESA2)> clusterconfig list

Cluster esaA_esaB

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

Group Main_Group:

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

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

Um die Appliance aus dem Cluster zu entfernen, verwenden Sie den Befehl clusterconfig removemachine:

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

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

Machine ESA1.local removed from the cluster.

Speichern Sie die Konfiguration mit Kennwörtern auf der Appliance mit dem Befehl saveconfig. Wie bereits erwähnt, können Dateien mit maskiertem Kennwort nicht mit dem Befehl loadconfig geladen werden. Achten Sie also darauf, N einzugeben, wenn Sie dazu aufgefordert werden:

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.

Alternativ können Sie mailconfig verwenden, um die Konfiguration per E-Mail an einen gültigen E-Mail-Empfänger zu senden. Wie bereits erwähnt, können Dateien mit maskiertem Kennwort nicht mit dem Befehl loadconfig geladen werden. Achten Sie also darauf, N einzugeben, wenn Sie dazu aufgefordert werden:

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.

Verwenden Sie abschließend den Befehl clusterconfig Batch, um die Appliance wieder dem Cluster hinzuzufügen:

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

<admin_password> <groupname>

Um mit dem vorherigen Beispiel fortzufahren, wird dies mit dem folgenden Befehl ausgeführt:

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)>

Sie werden die automatische Änderung der Eingabeaufforderung in den Namen auf Cluster-Ebene bemerken, wie im vorherigen Beispiel als "Cluster ESA1_ESA2)" angegeben.

Erweiterte automatisierte oder skriptgesteuerte Konfigurationsdatei-Backups

Von einem externen Host (UNIX/Linux/OSX) aus können Sie die vorherigen Befehle verwenden, um den Prozess zu konfigurieren.

Im Folgenden sehen Sie ein Beispiel für den gesamten Prozess, der in Skripts geschrieben wurde. Dabei wird davon ausgegangen, dass der Cluster über Secure Shell (SSH), Port 22, ausgeführt wird:

#! /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>

#

Im Folgenden werden die wichtigsten im Skript eingebetteten Befehle untersucht:

- Entfernen der ESA1 aus dem Cluster:

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

$MACHINENAME" 2> /dev/null

- Eigenständige Konfigurationsdatei herunterladen:

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

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

- Kopieren Sie XML von ESA1 auf den lokalen Host:

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

- Setzen Sie ESA1 wieder in den Cluster ein.

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

Main_Group" 2> /dev/null

Ein vollständiges Beispiel für das Skript in Aktion sollte Folgendes bewirken:

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/

Zugehörige Informationen

- Cisco Email Security Appliance - Benutzerhandbücher

- Technischer Support und Dokumentation - Cisco Systems