Introduzione
In questo documento vengono descritti i concetti di base e le nozioni fondamentali relative alla creazione di script per un host esterno al fine di eseguire e recuperare gli aggiornamenti su un'appliance Cisco Email Security Appliance (ESA).
Nota: questo articolo è una prova di concetto e viene fornito come base di esempio. Benché questi passaggi siano stati testati con successo, questo articolo è destinato principalmente a scopi dimostrativi e illustrativi. Gli script personalizzati non rientrano nell'ambito e nella supportabilità di Cisco. L'assistenza tecnica Cisco non scriverà, aggiornerà o risolverà i problemi relativi agli script esterni personalizzati in alcun momento.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Script del sistema operativo e pianificazione delle attività
- Configurazione e procedure della coppia di chiavi SSH
Come posso automatizzare o creare script per i backup dei file di configurazione?
Il file di configurazione viene generato in modo dinamico quando si usa saveconfig o mailconfig dalla CLI o le opzioni di backup associate tramite la GUI (Amministrazione del sistema > File di configurazione). Per avere un backup efficace che sia in grado di essere caricato e applicato ad un ESA, è meglio "smascherare" le password. In questo modo, l'accessorio potrà inserire nel file di configurazione una forma con hash delle password per gli account amministrativi locali. Per questo motivo, non è possibile copiare semplicemente un file di configurazione di esecuzione dal dispositivo. Questo metodo consente di accedere all'accessorio, eseguire un comando per creare dinamicamente la configurazione corrente e salvare o inviare una copia del file in un percorso remoto, senza alcun intervento da parte dell'utente. Una volta completata questa operazione, è possibile ripetere o pianificare l'esecuzione di questa operazione a intervalli regolari.
Per eseguire il backup rapido e automatico dei file di configurazione con password non mascherate:
- Generare una coppia di chiavi SSH da usare e verificare che sia possibile accedere all'appliance tramite SSH senza dover immettere manualmente una password.
- Creare uno script per accedere all'accessorio, salvare la configurazione e copiarla (o inviarla per posta).
Nota: una logica simile può essere applicata in qualsiasi linguaggio di script del sistema operativo, ad esempio VB o script batch per Windows.
Salvataggio della configurazione su un host specificato mediante saveconfig
#! /bin/bash
#
# Simple script to save the ESA config, then copy locally via SCP.
#
# $HOSTNAME can be either FQDN or IP address.
HOSTNAME=[FQDN OR IP ADDRESS]
# $USERNAME assumes that you have preconfigured SSH key from this host to your ESA.
USERNAME=admin
FILENAME=`ssh $USERNAME@$HOSTNAME "saveconfig yes" | grep xml | sed -e 's/\/
configuration\///g' | sed 's/\.$//g' | tr -d "\""`
scp $USERNAME@$HOSTNAME:/configuration/$FILENAME .
Una volta reso eseguibile lo script, dovrebbe essere visualizzato un messaggio simile al seguente:
jsmith@linux_server:~$ ./esa_backup
C000V-564D1A718795ACFED603-1A77BAD60A5A-20140902T222913.xml 100% 158KB 157.9KB/
s 00:00
jsmith@linux_server:~$ ls -la
total 1196
drwx------ 10 jsmith jsmith 40960 Sep 2 22:29 .
drwxr-xr-x 13 root root 4096 Aug 13 22:22 ..
-rw-rw---- 1 jsmith jsmith 161642 Sep 2 22:29 C000V-564D1A718795ACFED603-
1A77BAD60A5A-20140902T222913.xml
Il comando ls -la elenca il contenuto della directory sul sistema locale o sull'host. È necessario verificare il nome del file, l'indicatore orario e le dimensioni complessive del file XML.
Invio della configurazione tramite e-mail a un indirizzo usando mailconfig
#! /bin/bash
#
# Simple script to email the ESA config to pre-specified email address.
#
# $HOSTNAME can be either FQDN or IP address.
HOSTNAME=[FQDN OR IP ADDRESS]
# $USERNAME assumes that you have preconfigured SSH key from this host to your ESA.
USERNAME=admin
# $MAILDEST is preconfigured email address
MAILDEST=backups@example.com
ssh $USERNAME@$HOSTNAME 'mailconfig $MAILDEST yes'
Pianificare l'attività per l'esecuzione regolare (UNIX/Linux)
Utilizzare cron (UNIX/Linux) per avviare il processo regolarmente. Cron è guidato da un file crontab (tabella cron), un file di configurazione che specifica i comandi della shell da eseguire periodicamente in base a una determinata pianificazione. I file crontab vengono memorizzati dove vengono conservati gli elenchi dei job e le altre istruzioni per il daemon cron.
Il file di configurazione cron di UNIX/Linux in genere utilizza questo formato:
minuto (0-59), ora (0-23, 0 = mezzanotte), giorno (1-31), mese (1-12), giorno feriale (0-6, 0 = domenica), comando
Una buona voce di esempio per eseguire questo script ogni giorno alle 2:00 del mattino sarebbe:
00 02 * * * /home/jsmith/esa_backup
Come è possibile automatizzare o creare script per i backup dei file di configurazione da un sistema Windows?
La procedura seguente consente di eseguire regolarmente il backup del file di configurazione da un sistema Windows.
- Installare l'emulatore di terminale PuTTY.
- Creare un file di testo denominato "send_config" con il comando mailconfig e un indirizzo e-mail valido. (per semplicità, inseriscilo in C:\)
mailconfig example@example.com
- Creare un file di testo denominato "send_config_batch" con il seguente comando PuTTy. (per semplicità, inseriscilo anche in C:\)
C:\putty.exe -ssh hostname -l admin -pw password -m C:\send_config.txt
exit
Nota: accertarsi di cambiare il nome host in FQDN o indirizzo IP della ESA e la password nella password effettiva per l'account admin.
Pianificare l'attività per l'esecuzione regolare (Windows)
Utilizzando Utilità di pianificazione o uno strumento di pianificazione simile in Windows, individuare e aggiungere "send_config_batch" alle attività pianificate di Windows.
Il file di configurazione ESA verrà inviato all'indirizzo specificato nel file di testo "send_config" come specificato.
Nota: questo articolo è una prova di concetto e viene fornito come base di esempio. Benché questi passaggi siano stati testati con successo, questo articolo è destinato principalmente a scopi dimostrativi e illustrativi. Gli script personalizzati non rientrano nell'ambito e nella supportabilità di Cisco. L'assistenza tecnica Cisco non scriverà, aggiornerà o risolverà i problemi relativi agli script esterni personalizzati in alcun momento.
Informazioni correlate