Sécurité : Appareil de sécurité de courriel Cisco

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

17 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Avant la version 8.5 d'AsyncOS, les appliances groupées ne pourraient pas sauvegarder une configuration utilisable à utiliser pour restaurer une configuration en fonction sur une appliance de sécurité du courrier électronique de 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. Ce document décrit comment employer des commandes en lots afin de sauvegarder une configuration d'une appliance dans la batterie sur l'ESA. Ceci peut encore être utilisé sur toutes les versions d'AsyncOS pour l'ESA.

Contribué par Rehan Latif et Robert Sherwin, ingénieurs TAC Cisco.

Conditions préalables

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

En outre, vous devriez lire et comprendre ces technotes :

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

Pour des versions d'AsyncOS avant 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 plus récentes. 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 pour 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

Remarque: Cette partie de l'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 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.

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


Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Document ID: 118403