Безопасность : устройства безопасности электронной почты Cisco ESA

Автоматизируйте или напишите сценарий резервной копии файла конфигурации ESA в кластере

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Отзыв

Введение

До Версии 8.5 AsyncOS кластеризованные устройства не могли сохранить применимую конфигурацию, которая будет использоваться для восстановления конфигурации на Cisco Email Security Appliance (ESA). Для получения применимой конфигурации от устройства необходимо было удалить устройство из кластера и сохранить конфигурацию как отдельное устройство. Этот документ описывает, как использовать пакетные команды  для сохранения конфигурации от устройства в кластере на ESA. Это может все еще использоваться на всех версиях AsyncOS для ESA.

Внесенный переханьским Лэтифом и Робертом Шервином, специалистами службы технической поддержки Cisco.

Предварительные условия

Соберите эту информацию от ESA в кластере:

  • IP-адреса и/или имя хоста
  • Cluster Name (Имя кластера)
  • Кластерное имя группы (если применимо)

Кроме того, необходимо считать и понять эти технические примечания:

Автоматизируйте или напишите сценарий резервной копии файла конфигурации устройства в кластере

Для версий AsyncOS до Версии 8.5, когда вы пытаетесь сохранить конфигурацию, в то время как в кластере с saveconfig или командой mailconfig, ESA генерирует это предупреждение:

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.

В Версии 8.5 AsyncOS и позже, сохраненные конфигурации теперь содержат и конфигурацию машины уровня и конфигурацию кластера. Это покрыто подробно от Версии 8.5 и более нового Руководства пользователя. Обратитесь конечному пользователю Руководства для во всей подробности.

Не требуется выполнять резервное копирование конфигурация для каждого устройства в кластере. Однако могли быть множественные кластеры в сети со множественными группами, настроенными для каждого кластера.  Довольно трудно удалить каждое устройство из кластера, и затем сохранить конфигурацию и воссоединиться с кластером снова вручную.

  Если вы входите в ESA, удаляете ESA из кластера, сохраняете или отправляете по почте конфигурацию, и затем воссоединяетесь с кластером снова, эти команды могут использоваться.

Для начала важно знать имя машины и серийный номер ESA в кластере и имени группы. Это может быть получено при вводе списка clusterconfig в CLI:

(Cluster ESA1_ESA2)> clusterconfig list

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

Для удаления устройства из кластера используйте clusterconfig removemachine <команда name> устройства:

(Cluster ESA1_ESA2)> clusterconfig removemachine ESA1.local

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

С командой saveconfig сохраните конфигурацию на устройство с паролями. Как обращено внимание, "Файлы с паролями в маске не могут быть загружены с помощью loadconfig команду". Так, убедиться ввести N, когда предложено:

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. 

Также используйте mailconfig для пользования электронной почтой конфигурации допустимому получателю электронной почты. Как обращено внимание, "Файлы с паролями в маске не могут быть загружены с помощью loadconfig команду". Так, убедиться ввести N, когда предложено:

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.

Наконец, используйте clusterconfig пакетную команду для соединения устройства назад с кластером:

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

Чтобы продолжить предыдущий пример, это было бы выполнено в этой команде:

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

Вы заметите автоматическое изменение командной строки к названию кластерного уровня, как обращено внимание в предыдущем примере как "Кластерный ESA1_ESA2)".

Усовершенствованные автоматизированные или заданные сценарием резервные копии файла конфигурации

Примечание: Эта часть статьи является тестовым и предоставленным как основание в качестве примера. В то время как эти шаги были успешно протестированы, эта статья прежде всего в целях рисунка и демонстрации. Настраиваемые сценарии за пределами области и обеспеченности Cisco. Центр технической поддержки Cisco не запишет, обновит или устранит неполадки пользовательских внешних сценариев в любое время.

От внешнего хоста (UNIX/Linux/OSX) можно использовать предыдущие команды для сценариев процесса.

Вот пример полного процесса, записанного в сценарий, учитывая, что cluster run по Secure Shell (SSH), порт 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>
#

Вот исследование основных команд, встроенных в сценарий:

  • Удалите ESA1 из кластера:

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


  • Файл автономной конфигурации загрузок:

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


  • Скопируйте XML от ESA1 до локального хоста:

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


  • Отложенный ESA1 в кластер.

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

Завершенный пример сценария в действии должен привести к этому:

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/

Дополнительные сведения


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.