Segurança : Cisco Email Security Appliance

Automatize ou passar pelo processo de script um backup de arquivo de configuração de um ESA no conjunto

19 Setembro 2015 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback

Introdução

Antes da versão 8.5 de AsyncOS, os dispositivos aglomerados não poderiam salvar uma configuração útil a ser usada para restaurar sobre uma configuração a uma ferramenta de segurança do email de Cisco (ESA). A fim obter uma configuração útil do dispositivo, você teve que remover o dispositivo do conjunto e salvar a configuração como um dispositivo autônomo. Este documento descreve como usar comandos do grupo a fim salvar uma configuração de um dispositivo no conjunto no ESA. Isto pode ainda ser usado em todas as versões de AsyncOS para o ESA.

Contribuído por Rehan Latif e por Robert Sherwin, engenheiros de TAC da Cisco.

Pré-requisitos

Recolha esta informação dos ESA no conjunto:

  • Endereços IP de Um ou Mais Servidores Cisco ICM NT e/ou hostname
  • Nome de grânulos
  • Nome do grupo do conjunto (se aplicável)

Também, você deve ler e compreender estes technotes:

Automatize ou passar pelo processo de script um backup de arquivo de configuração de um dispositivo no conjunto

Para versões de AsyncOS antes da versão 8.5, quando você tentar salvar a configuração quando no conjunto com o comando do saveconfig ou do mailconfig, o ESA gerar este aviso:

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.

Na versão 8.5 e mais recente de AsyncOS, as configurações salva contêm agora a configuração e a configuração de grânulos do máquina-nível. Isto é coberto em detalhe do Guia do Usuário da versão 8.5 mais recente. Refira os guias do utilizador final para o detalhe completo.

Não há nenhuma necessidade de suportar a configuração para cada dispositivo em um conjunto. Contudo, podia haver conjuntos múltiplos em uma rede, com os grupos múltiplos configurados para cada conjunto. É bastante difícil remover cada dispositivo do conjunto, e então salvar a configuração e torna a reunir o conjunto outra vez manualmente.

Estes comandos podem ser usados se você registra no ESA, remove o ESA do conjunto, salvar ou envia a configuração, e torna a reunir então o conjunto outra vez.

A fim começar, é importante conhecer o nome de máquina e o número de série dos ESA no conjunto e no nome do grupo. Isto pode ser obtido se você incorpora a lista do clusterconfig no CLI:

(Cluster ESA1_ESA2)> clusterconfig list

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

A fim remover o dispositivo do conjunto, use o comando do name> do <appliance do removemachine do clusterconfig:

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

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

Com o comando do saveconfig, salvar a configuração no dispositivo com senhas. Como notável, os “arquivos com senhas mascaradas não podem ser carregados usando o comando do loadconfig.” Assim, seja certo incorporar N quando alertado:

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 do uso para enviar por correio eletrónico a configuração a um receptor de e-mail válido. Como notável, os “arquivos com senhas mascaradas não podem ser carregados usando o comando do loadconfig.” Assim, seja certo incorporar N quando alertado:

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, use o comando do grupo do clusterconfig a fim juntar-se ao dispositivo de volta ao conjunto:

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

A fim continuar com o exemplo anterior, isto seria executado neste 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)>

Você observará a mudança automática do comando prompt ao nome do conjunto-nível, como referido no exemplo anterior como o “conjunto ESA1_ESA2)".

Backup de arquivo de configuração automatizados ou passados pelo processo de script avançados

Nota: Esta parcela do artigo é um proof-of-concept e desde que como um exemplo base. Quando estas etapas forem testadas com sucesso, este artigo é primeiramente para a demonstração e os propósitos de ilustração. Os scripts personalizados são fora do espaço e do supportability de Cisco. O centro de assistência técnica da Cisco não escreverá, atualizará, ou pesquisará defeitos scripts externos do costume a qualquer hora.

De um host externo (UNIX/Linux/OSX), você pode usar os comandos precedentes a fim passar pelo processo de script o processo.

Está aqui um exemplo do processo inteiro redigido no script, com a suposição que o conjunto executa sobre o Shell Seguro (ssh), a 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>
#

Está aqui um exame dos comandos main encaixados no script:

  • Remova ESA1 do conjunto:

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


  • Transfira o arquivo de configuração independente:

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


  • Copie o XML de ESA1 ao host local:

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


  • Põe ESA1 de novo no conjunto.

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

Um exemplo completo do script na ação deve conduzir a esta:

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/

Informações Relacionadas


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 118403