Einleitung
In diesem Dokument werden die grundlegenden Konzepte und Kenntnisse im Zusammenhang mit der Erstellung von Skripts für einen externen Host zur Durchführung und Abfrage von Updates für eine Cisco E-Mail-Security-Appliance (ESA) beschrieben.
Hinweis: Dieser Artikel dient als Basis für eine Machbarkeitsstudie. Obwohl diese Schritte erfolgreich getestet wurden, dient dieser Artikel in erster Linie zu Demonstrations- und Illustrationszwecken. Benutzerdefinierte Skripte sind nicht Bestandteil des Leistungsumfangs und der Unterstützung von Cisco. Der technische Kundendienst von Cisco kann keine benutzerdefinierten externen Skripts erstellen, aktualisieren oder Fehler beheben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Betriebssystem-Skripting und Aufgabenplanung
- Konfiguration und Verfahren von SSH-Keypaaren
Wie kann ich Backups von Konfigurationsdateien automatisieren oder als Skript erstellen?
Die Konfigurationsdatei wird dynamisch generiert, wenn saveconfig oder mailconfig aus der CLI oder die zugehörigen Sicherungsoptionen über die GUI verwendet werden (Systemverwaltung > Konfigurationsdatei). Um ein effektives Backup zu haben, das geladen und auf eine ESA angewendet werden kann, ist es am besten, die Kennwörter zu "entmasken". Auf diese Weise kann die Appliance eine gehashte Form der Kennwörter für die lokalen Administratorkonten in die Konfigurationsdatei einfügen. Aus diesem Grund können wir nicht einfach eine flache "laufende Konfigurations"-Datei vom Gerät kopieren. Diese Methode ermöglicht es uns, zunächst auf die Appliance zuzugreifen, einen Befehl zur dynamischen Erstellung der aktuellen Konfiguration auszugeben und eine Kopie dieser Datei an einem entfernten Ort zu speichern oder per E-Mail zu versenden, ohne dass ein Benutzereingriff erforderlich ist. Anschließend können wir diese Aufgabe wiederholen oder planen, um sie regelmäßig durchzuführen.
So sichern Sie schnell und automatisch Konfigurationsdateien mit nicht maskiertem Kennwort:
- Generieren Sie ein zu verwendendes SSH-Schlüsselpaar, und stellen Sie sicher, dass Sie über SSH auf Ihre Appliance zugreifen können, ohne manuell ein Kennwort eingeben zu müssen.
- Erstellen Sie ein Skript für die Anmeldung bei der Appliance, speichern Sie die Konfiguration, und kopieren Sie sie (oder senden Sie sie per E-Mail).
Hinweis: Eine ähnliche Logik kann in jeder Skriptsprache des Betriebssystems angewendet werden, z. B. in VB- oder Batch-Skripts für Windows.
Speichern der Konfiguration auf einem angegebenen Host mithilfe von 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 .
Wenn Sie das Skript ausführbar machen, sollten Sie Folgendes sehen:
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
Wenn Sie den Befehl ls -la ausführen, wird der Inhalt des Verzeichnisses auf Ihrem lokalen System oder Host aufgelistet. Überprüfen Sie den Dateinamen, den Zeitstempel und die XML-Gesamtdateigröße.
Versenden der Konfiguration an eine E-Mail-Adresse mithilfe von 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'
Planen der regelmäßigen Ausführung der Aufgabe (UNIX/Linux)
Verwenden Sie cron (UNIX/Linux), um Ihre Arbeit regelmäßig aufzunehmen. Cron wird von einer Crontab-Datei (Cron-Tabelle) gesteuert, einer Konfigurationsdatei, die Shell-Befehle angibt, die regelmäßig nach einem bestimmten Zeitplan ausgeführt werden sollen. Die Crontab-Dateien werden dort gespeichert, wo die Joblisten und andere Anweisungen für den Cron-Daemon gespeichert werden.
Die UNIX/Linux-Cron-Konfigurationsdatei hat in der Regel folgendes Format:
Minute (0-59), Stunde (0-23, 0 = Mitternacht), Tag (1-31), Monat (1-12), Wochentag (0-6, 0 = Sonntag), Befehl
Ein guter Beispieleintrag, um dieses Skript jeden Tag um 02:00 Uhr auszuführen, sieht wie folgt aus:
00 02 * * * /home/jsmith/esa_backup
Wie kann ich Konfigurationsdatei-Backups von einem Windows-System automatisieren oder als Skript erstellen?
Mit dem folgenden Verfahren können Sie die Konfigurationsdatei regelmäßig von einem Windows-System aus sichern.
- Installieren Sie den Terminal-Emulator PuTTY.
- Erstellen Sie eine Textdatei namens "send_config" mit dem Befehl mailconfig und einer gültigen E-Mail-Adresse. (Der Einfachheit halber unter C:\)
mailconfig example@example.com
- Erstellen Sie eine Textdatei mit dem Namen "send_config_batch" mit dem folgenden PuTy-Befehl. (Der Einfachheit halber auch unter C:\)
C:\putty.exe -ssh hostname -l admin -pw password -m C:\send_config.txt
exit
Hinweis: Stellen Sie sicher, dass Sie den Hostnamen in FQDN oder die IP-Adresse Ihrer ESA und das Kennwort in Ihr tatsächliches Kennwort für das Administratorkonto ändern.
Planen der regelmäßigen Ausführung des Tasks (Windows)
Suchen Sie mithilfe der Aufgabenplanung oder eines ähnlichen Planungstools in Windows nach dem Befehl "send_config_batch", und fügen Sie ihn zu den geplanten Aufgaben von Windows hinzu.
Die ESA-Konfigurationsdatei wird wie angegeben an die in der Textdatei "send_config" angegebene Adresse gesendet.
Hinweis: Dieser Artikel dient als Basis für eine Machbarkeitsstudie. Obwohl diese Schritte erfolgreich getestet wurden, dient dieser Artikel in erster Linie zu Demonstrations- und Illustrationszwecken. Benutzerdefinierte Skripte sind nicht Bestandteil des Leistungsumfangs und der Unterstützung von Cisco. Der technische Kundendienst von Cisco kann keine benutzerdefinierten externen Skripts erstellen, aktualisieren oder Fehler beheben.
Zugehörige Informationen