Introducción
Este documento describe cómo utilizar los comandos del lote para salvar una configuración de un dispositivo en el cluster en el dispositivo de seguridad del correo electrónico de Cisco (ESA). Esto se puede utilizar en todas las versiones de AsyncOS para el ESA.
Antes de la versión 8.5 de AsyncOS, los dispositivos agrupados no podían salvar una configuración usable que se utilizará para restablecer una configuración encendido a 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.
Prerrequisitos
Nota: Este 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 se piensa 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. Antes de que usted intente y construya cualquier script, asegúrese de que usted tenga conocimiento del scripting cuando usted construye el script final.
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)
Consulte el guía de referencia CLI para su versión de AsyncOS para la Seguridad del correo electrónico, pues hay los cambios del lote CLI que dependen de la revisión sus funcionamientos ESA.
Lea y entienda estas notas técnicas:
Automatice o script un respaldo de archivo de configuración de un dispositivo en el cluster
Para las versiones de AsyncOS anterior que 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.
[an error occurred while processing this directive]
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 y 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)
[an error occurred while processing this directive]
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.
[an error occurred while processing this directive]
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.
[an error occurred while processing this directive]
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.
[an error occurred while processing this directive]
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>
[an error occurred while processing this directive]
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)>
[an error occurred while processing this directive]
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
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>
#
[an error occurred while processing this directive]
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
[an error occurred while processing this directive]
- 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 "\""`
[an error occurred while processing this directive]
- Copie el XML de ESA1 al host local:
scp -q $USERNAME@$HOSTNAME:/configuration/$FILENAME $BACKUP_PATH
[an error occurred while processing this directive]
- Ponga ESA1 nuevamente dentro del cluster.
ssh $USERNAME@$HOSTNAME "clusterconfig join $HOSTNAME2 admin ironport
Main_Group" 2> /dev/null
[an error occurred while processing this directive]
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/
[an error occurred while processing this directive]
Información Relacionada