In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
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.
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:
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:
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[an error occurred while processing this directive]
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[an error occurred while processing this directive]
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[an error occurred while processing this directive]
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[an error occurred while processing this directive]
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[an error occurred while processing this directive]
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>[an error occurred while processing this directive]
<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[an error occurred while processing this directive]
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.
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[an error occurred while processing this directive]
#
# 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:
ssh $USERNAME@$HOSTNAME "clustermode cluster; clusterconfig removemachine[an error occurred while processing this directive]
$MACHINENAME" 2> /dev/null
FILENAME=`ssh -q $USERNAME@$HOSTNAME "saveconfig y 1" | grep xml | sed -e 's/
\/configuration\///g' | sed 's/\.$//g' | tr -d "\""`
[an error occurred while processing this directive] scp -q $USERNAME@$HOSTNAME:/configuration/$FILENAME $BACKUP_PATH[an error occurred while processing this directive]
ssh $USERNAME@$HOSTNAME "clusterconfig join $HOSTNAME2 admin ironport[an error occurred while processing this directive]
Main_Group" 2> /dev/null
Ein vollständiges Beispiel für das Skript in Aktion sollte Folgendes bewirken:
my_host$ ./cluster_backup[an error occurred while processing this directive]
|=== 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/