Contenu

Introduction

Conditions préalables

Automatisez ou script une sauvegarde de fichier de configuration d'une appliance dans la batterie

Sauvegardes de fichier de configuration automatisées ou Par script avancées

Informations connexes

Introduction

Ce document décrit comment employer des commandes en lots afin de sauvegarder une configuration d'une appliance dans la batterie sur l'appliance de sécurité du courrier électronique de Cisco (ESA). Ceci peut être utilisé sur toutes les versions d'AsyncOS pour l'ESA.

Avant la version 8.5 d'AsyncOS, les appliances groupées n'ont pas pu sauvegarder une configuration utilisable à utiliser pour restaurer une configuration en fonction sur un Cisco ESA. Afin d'obtenir une configuration utilisable de l'appliance, vous avez dû retirer l'appliance de la batterie et sauvegarder la configuration comme appliance autonome.

Conditions préalables

Remarque: Cet article est un preuve-de-concept et si comme exemple base. Tandis que ces étapes ont été avec succès testées, cet article est destiné principalement pour des buts de démonstration et d'illustration. Les scripts personnalisés sont en dehors de la portée et de la prise en charge de Cisco. Le centre d'assistance technique Cisco n'écrira pas, mettra à jour, ou dépannera les scripts externes de coutume à tout moment.  Avant que vous tentiez et construisiez tous les scripts, assurez-vous que vous avez la connaissance de script quand vous construisez le script final.

Recueillez ces informations de l'ESAs dans la batterie :

- Adresses IP et/ou adresse Internet

- Nom du cluster

- Nom de groupe de batterie (si c'est approprié)

Consultez le guide de référence CLI pour votre version d'AsyncOS pour la sécurité du courrier électronique, car il y a des modifications en lots CLI qui dépendent de la révision vos passages ESA.

Lisez et comprenez ces TechNotes :

- Comment est-ce que moi peut automatiser ou les sauvegardes de fichier de configuration de script ?

- Comment configurer l'authentification de clé publique de SSH pour la procédure de connexion à l'ESA sans mot de passe

Automatisez ou script une sauvegarde de fichier de configuration d'une appliance dans la batterie

Pour des versions d'AsyncOS plus tôt que la version 8.5, quand vous tentez de sauvegarder la configuration tandis que dans la batterie avec la commande de saveconfig ou de mailconfig, l'ESA génère cet avertissement :

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.

Dans la version 8.5 et ultérieures d'AsyncOS, les configurations enregistrées contiennent maintenant la configuration niveau de l'ordinateur et la configuration du cluster. Ceci est couvert en détail du guide de l'utilisateur de version 8.5 et ultérieures. Référez-vous aux guides d'utilisateur pour le détail complet.

Il n'y a aucun besoin de sauvegarder la configuration pour chaque appliance dans une batterie. Cependant, il a pu y avoir de plusieurs batteries dans un réseau, avec de plusieurs groupes configurés pour chaque batterie. Il est tout à fait difficile de retirer chaque appliance de la batterie, et puis sauvegarde la configuration et rejoint la batterie de nouveau manuellement.

Ces commandes peuvent être utilisées si vous vous connectez dans l'ESA, enlevez l'ESA de la batterie, sauvegardez ou envoyez par mail la configuration, et puis rejoignez la batterie de nouveau.

Afin de commencer, il est important de connaître le nom d'ordinateur et le numéro de série de l'ESAs dans la batterie et le nom de groupe. Ceci peut être obtenu si vous écrivez la liste de clusterconfig sur le CLI :

(Cluster ESA1_ESA2)> clusterconfig list

Cluster esaA_esaB

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

Group Main_Group:

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

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

Afin de retirer l'appliance de la batterie, utilisez la commande de name> de <appliance de removemachine de clusterconfig :

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

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

Machine ESA1.local removed from the cluster.

Avec la commande de saveconfig, sauvegardez la configuration sur l'appliance avec des mots de passe. Comme remarquable, des « fichiers avec des mots de passe masqués ne peuvent pas être chargés utilisant la commande de loadconfig. » Ainsi, soyez sûr d'écrire N une fois incité :

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.

Alternativement, mailconfig d'utilisation afin d'envoyer la configuration à un destinataire de courriel valide. Comme remarquable, des « fichiers avec des mots de passe masqués ne peuvent pas être chargés utilisant la commande de loadconfig. » Ainsi, soyez sûr d'écrire N une fois incité :

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.

En conclusion, employez la commande en lots de clusterconfig afin de joindre l'appliance de nouveau à la batterie :

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

<admin_password> <groupname>

Afin de continuer l'exemple précédent, ceci serait exécuté dans cette commande :

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

Vous noterez la modification automatique de l'invite de commande au nom batterie batterie, comme observé dans l'exemple précédent en tant que « batterie ESA1_ESA2)".

Sauvegardes de fichier de configuration automatisées ou Par script avancées

D'un hôte externe (UNIX/Linux/OSX), vous pouvez utiliser le script précédent de commandes le processus.

Voici un exemple du processus complet écrit dans le script, avec la supposition que des cluster run au-dessus de Protocole Secure Shell (SSH), le port 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>

#

Voici un examen des commandes principales incluses dans le script :

- Retirez ESA1 de la batterie :

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

$MACHINENAME" 2> /dev/null

- Fichier de configuration autonome de téléchargement :

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

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

- Copiez le XML d'ESA1 sur l'hôte local :

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

- Mettez ESA1 de nouveau dans la batterie.

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

Main_Group" 2> /dev/null

Un exemple complet du script dans l'action devrait avoir comme conséquence ceci :

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/

Informations connexes

- Appliance de sécurité du courrier électronique de Cisco - Guides d'utilisateur

- Support et documentation techniques - Cisco Systems