Seguridad : Cisco Email Security Appliance

Automatice o script un respaldo de archivo de configuración de un ESA en el cluster

25 Agosto 2015 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (23 Abril 2015) | Comentarios

Introducción

Antes de la versión 8.5 de AsyncOS, los dispositivos agrupados no podrían salvar una configuración usable que se utilizará para restablecer una configuración encendido a un dispositivo de seguridad del correo electrónico de Cisco (ESA). Para conseguir una configuración usable del dispositivo, usted tuvo que quitar el dispositivo del cluster y salvar la configuración como dispositivo independiente. Este documento describe cómo utilizar los comandos del lote para salvar una configuración de un dispositivo en el cluster en el ESA. Esto se puede todavía utilizar en todas las versiones de AsyncOS para el ESA.

Contribuido por Rehan Latif y Roberto Sherwin, ingenieros de Cisco TAC.

Prerrequisitos

Recopile esta información de los ESA en el cluster:

  • IP Addresses y/o nombre de host
  • Nombre de clúster
  • Nombre del grupo del cluster (si procede)

También, usted debe leer y entender estos technotes:

Automatice o script un respaldo de archivo de configuración de un dispositivo en el cluster

Para las versiones de AsyncOS antes de la versión 8.5, cuando usted intenta salvar la configuración mientras que en el cluster con el comando del saveconfig o del mailconfig, el ESA genera esta advertencia:

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.

En la versión 8.5 y posterior de AsyncOS, las configuraciones guardadas ahora contienen la configuración y la configuración de clúster del nivel de equipo. Esto se cubre detalladamente del guía del usuario de la versión 8.5 posterior. Refiera a las guías del usuario final para la profundidad total.

No hay necesidad de sostener la configuración para cada dispositivo en un cluster. Sin embargo, podía haber clusteres múltiples en una red, con los múltiples grupos configurados para cada cluster. Es muy difícil quitar cada dispositivo del cluster, y entonces salva la configuración y se suma el cluster otra vez manualmente.

Estos comandos pueden ser utilizados si usted registra en el ESA, quita el ESA del cluster, salva o envía la configuración, y después se suma el cluster otra vez.

Para comenzar, es importante conocer el nombre de la máquina y el número de serie de los ESA en el cluster y el nombre del grupo. Esto puede ser obtenida si usted ingresa la lista del clusterconfig en el CLI:

(Cluster ESA1_ESA2)> clusterconfig list

Cluster esaA_esaB
=====================
Group Main_Group:
Machine ESA1.local (Serial #: 0000E878109A-G091111)
Machine ESA2.local (Serial #: 0000E878525D-9091111)

Para quitar el dispositivo del cluster, utilice el comando del name> del <appliance del removemachine del clusterconfig:

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

Please wait, this operation may take a minute...
Machine ESA1.local removed from the cluster.

Con el comando del saveconfig, salve la configuración sobre el dispositivo con las contraseñas. Según lo observado, los “archivos con las contraseñas enmascaradas no se pueden cargar usando el comando del loadconfig.” Así pues, esté seguro de ingresar N cuando está indicado:

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. 

Alternativamente, mailconfig del uso para enviar por correo electrónico la configuración a un destinatario de correo electrónico válido. Según lo observado, los “archivos con las contraseñas enmascaradas no se pueden cargar usando el comando del loadconfig.” Así pues, esté seguro de ingresar N cuando está indicado:

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.

Finalmente, utilice el comando del lote del clusterconfig para unirse al dispositivo de nuevo al cluster:

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

Para continuar con el ejemplo anterior, esto sería ejecutada en este 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)>

Usted notará el cambio automático del comando prompt al nombre del cluster-nivel, como se apunta en el ejemplo anterior como “cluster el ESA1_ESA2)".

Respaldos de archivo de configuración automatizados o Programados avanzados

Nota: Esta porción del artículo es un proof-of-concept y con tal que como un ejemplo base. Mientras que estos pasos se han probado con éxito, este artículo está sobre todo para la demostración y los fines de ilustración. Las secuencias de comandos personalizadas están fuera del alcance y de la posibilidad de entretenimiento de Cisco. El Centro de Asistencia Técnica de Cisco no escribirá, pondrá al día, o resolver problemas los scripts externos de encargo en cualquier momento.

De un host externo (UNIX/Linux/OSX), usted puede utilizar el script anterior de los comandos para el proceso.

Aquí está un ejemplo del todo el proceso escrito en el script, con la suposición que el cluster ejecuta encima el Secure Shell (SSH), el puerto 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>
#

Aquí está un examen de los comandos main integrados en el script:

  • Quite ESA1 del cluster:

    ssh $USERNAME@$HOSTNAME "clustermode cluster; clusterconfig removemachine 
    $MACHINENAME" 2> /dev/null


  • Descargue el archivo de configuración independiente:

    FILENAME=`ssh -q $USERNAME@$HOSTNAME "saveconfig y 1" | grep xml | sed -e 's/
    \/configuration\///g' | sed 's/\.$//g' | tr -d "\""`


  • Copie el XML de ESA1 al host local:

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


  • Ponga ESA1 nuevamente dentro del cluster.

    ssh $USERNAME@$HOSTNAME "clusterconfig join $HOSTNAME2 admin ironport 
    Main_Group" 2> /dev/null

Un ejemplo completo del script en la acción debe dar lugar a esto:

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/

Información Relacionada


Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 118403