Sommario

Introduzione

Prerequisiti

Automazione o creazione di script per il backup di un file di configurazione di un accessorio in un cluster

Backup avanzati automatizzati o basati su script dei file di configurazione

Informazioni correlate

Introduzione

In questo documento viene descritto come usare i comandi batch per salvare una configurazione da un accessorio in un cluster su Cisco Email Security Appliance (ESA). Può essere utilizzato su tutte le versioni di AsyncOS per ESA.

Nelle versioni precedenti a AsyncOS 8.5, gli accessori del cluster non potevano salvare una configurazione utilizzabile per ripristinare una configurazione su un Cisco ESA. Per ottenere una configurazione utilizzabile dall'accessorio, è necessario rimuovere l'accessorio dal cluster e salvare la configurazione come accessorio autonomo.

Prerequisiti

Nota: Questo articolo è una prova di concetto e fornito come base di esempio. Benché questi passaggi siano stati testati con successo, questo articolo è destinato principalmente a scopi dimostrativi e illustrativi. Gli script personalizzati non rientrano nell'ambito e nella supportabilità di Cisco. Il Technical Assistance Center di Cisco non è in grado di scrivere, aggiornare o risolvere i problemi relativi agli script esterni personalizzati in alcun momento.  Prima di provare a creare uno script, accertatevi di disporre delle conoscenze necessarie per creare lo script finale.

Raccogliere queste informazioni dalle ESA in cluster:

- indirizzi IP e/o nome host

- Nome cluster

- Nome gruppo cluster (se applicabile)

Per la versione di AsyncOS for Email Security in uso, consultare la CLI Reference Guide, in quanto sono presenti modifiche batch CLI che dipendono dalla revisione eseguita dall'ESA.

Leggere e comprendere le seguenti note tecniche:

- Come posso automatizzare o creare script per i backup dei file di configurazione?

- Come configurare l'autenticazione con chiave pubblica SSH per il login all'ESA senza password

Automazione o creazione di script per il backup di un file di configurazione di un accessorio in un cluster

Per le versioni AsyncOS precedenti alla versione 8.5, quando si tenta di salvare la configurazione in un cluster con il comando saveconfig o mailconfig, ESA genera questo avviso:

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 versione 8.5 e successive, le configurazioni salvate ora contengono sia la configurazione a livello di computer che la configurazione del cluster. Questo argomento è descritto in dettaglio nella Guida dell'utente versione 8.5 e successive. Fare riferimento alle Guide per l'utente finale per ulteriori informazioni.

Non è necessario eseguire il backup della configurazione di ciascun accessorio di un cluster. In una rete potrebbero tuttavia essere presenti più cluster, con più gruppi configurati per ogni cluster. È piuttosto difficile rimuovere ogni appliance dal cluster, quindi salvare la configurazione e riunirla di nuovo manualmente al cluster.

Questi comandi possono essere usati se si accede all'ESA, si rimuove l'ESA dal cluster, si salva o si invia la configurazione per posta, quindi si torna a unirsi al cluster.

Per iniziare, è importante conoscere il nome del computer e il numero di serie delle ESA nel cluster e il nome del gruppo. È possibile ottenere questo risultato immettendo il comando clusterconfig list sulla CLI:

(Cluster ESA1_ESA2)> clusterconfig list

Cluster esaA_esaB

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

Group Main_Group:

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

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

Per rimuovere l'accessorio dal cluster, usare il comando clusterconfig removemachine <nome accessorio>:

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

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

Machine ESA1.local removed from the cluster.

Con il comando saveconfig, salvare la configurazione sull'accessorio con una password. Come detto, "I file con password nascoste non possono essere caricati usando il comando loadconfig." Assicurarsi quindi di immettere N quando richiesto:

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.

In alternativa, usare mailconfig per inviare la configurazione tramite e-mail a un destinatario valido. Come detto, "I file con password nascoste non possono essere caricati usando il comando loadconfig." Assicurarsi quindi di immettere N quando richiesto:

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.

Utilizzare infine il comando clusterconfig batch per collegare nuovamente l'accessorio al cluster:

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

<admin_password> <groupname>

Per continuare con l'esempio precedente, eseguire questo comando:

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

Si noterà la modifica automatica del prompt dei comandi nel nome a livello di cluster, come indicato nell'esempio precedente come "Cluster ESA1_ESA2)".

Backup avanzati automatizzati o basati su script dei file di configurazione

Da un host esterno (UNIX/Linux/OSX) è possibile utilizzare i comandi precedenti per eseguire lo script del processo.

Di seguito è riportato un esempio dell'intero processo scritto nello script, con il presupposto che il cluster venga eseguito su Secure Shell (SSH), porta 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>

#

Di seguito è riportato un esame dei comandi principali incorporati nello script:

- Rimuovere ESA1 dal cluster:

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

$MACHINENAME" 2> /dev/null

- Scarica file di configurazione autonomo:

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

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

- Copiare il codice XML da ESA1 all'host locale:

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

- Reinserire ESA1 nel cluster.

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

Main_Group" 2> /dev/null

Di seguito è riportato un esempio completo dello script in azione:

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/

Informazioni correlate

- Cisco Email Security Appliance - Guide per l'utente

- Documentazione e supporto tecnico – Cisco Systems