소개
이 문서에서는 Cisco ESA(Email Security Appliance)에 대한 업데이트를 수행하고 검색할 외부 호스트에 대한 스크립트를 생성하는 것과 관련된 기본 개념 및 이해에 대해 설명합니다.
참고:이 문서는 개념 증명으로, 예로서 제공됩니다.이 단계는 성공적으로 테스트되었지만, 이 문서는 주로 데모 및 그림 용도로 제공됩니다.맞춤형 스크립트는 Cisco의 범위와 지원 범위를 벗어납니다.Cisco 기술 지원에서는 언제든지 맞춤형 외부 스크립트를 작성, 업데이트 또는 트러블슈팅하지 않습니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- OS 스크립팅 및 작업 예약
- SSH 키 쌍 구성 및 절차
구성 파일 백업을 자동화하거나 스크립팅하려면 어떻게 해야 합니까?
컨피그레이션 파일은 CLI에서 saveconfig 또는 mailconfig를 사용하거나 GUI(System Administration(시스템 관리) > Configuration File(컨피그레이션 파일)을 통해 관련 백업 옵션을 사용할 때 동적으로 생성됩니다. ESA에 로드 및 적용할 수 있는 효과적인 백업을 보유하려면 비밀번호를 "마스크 해제"하는 것이 가장 좋습니다.이렇게 하면 어플라이언스에서 로컬 관리 계정에 대한 해시된 형식의 비밀번호를 컨피그레이션 파일에 배치할 수 있습니다.따라서 디바이스에서 플랫 "실행 중인 컨피그레이션" 파일을 복사하면 안 됩니다.이 방법을 사용하면 먼저 어플라이언스에 액세스하고, 현재 컨피그레이션을 동적으로 빌드하는 명령을 실행하고, 사용자의 개입 없이 원격으로 이 파일의 복사본을 저장하거나 메일로 보낼 수 있습니다.이 작업이 완료되면 이 작업을 정기적으로 반복하거나 예약할 수 있습니다.
비밀번호가 마스크 처리되지 않은 구성 파일을 빠르고 자동으로 백업하려면
- 사용할 SSH 키 쌍을 생성하고 비밀번호를 수동으로 입력하지 않고도 SSH를 통해 어플라이언스에 액세스할 수 있는지 확인합니다.
- 어플라이언스에 로그인하고, 컨피그레이션을 저장하고, 복사하거나 메일로 보낼 스크립트를 만듭니다.
참고:VB 또는 Windows용 일괄 처리 스크립트와 같은 OS 스크립팅 언어로 유사한 논리를 적용할 수 있습니다.
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 .
스크립트를 실행 가능하게 만들면 다음과 유사한 내용이 표시됩니다.
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
ls -la 명령을 실행하면 로컬 시스템 또는 호스트에 있는 디렉토리의 내용이 나열됩니다. 파일 이름, 타임스탬프 및 전체 XML 파일 크기를 확인해야 합니다.
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'
작업을 정기적으로 실행하도록 예약(UNIX/Linux)
cron(UNIX/Linux)을 사용하여 작업을 정기적으로 시작합니다. cron은 지정된 일정에서 주기적으로 실행할 셸 명령을 지정하는 구성 파일인 crontab(cron 테이블) 파일에 의해 구동됩니다.cron 데몬에 대한 작업 목록 및 기타 지침이 유지되는 cron 탭 파일이 저장됩니다.
UNIX/Linux cron 구성 파일은 일반적으로 다음 형식을 따릅니다.
분(0-59), 시간(0-23, 0 = 자정), 일(1-31), 월(1-12), 평일(0-6, 0 = 일요일), 명령
따라서 매일 오전 2시에 이 스크립트를 실행하는 좋은 예제 항목은 다음과 같습니다.
00 02 * * * /home/jsmith/esa_backup
Windows 시스템에서 구성 파일 백업을 자동화하거나 스크립팅하려면 어떻게 해야 합니까?
다음 절차에 따라 Windows 시스템에서 구성 파일을 정기적으로 백업할 수 있습니다.
- 터미널 에뮬레이터 PuTTY를 설치합니다.
- mailconfig 명령 및 유효한 이메일 주소를 사용하여 "send_config"라는 텍스트 파일을 생성합니다. (간소화를 위해 C:\ 아래에 배치하십시오.)
mailconfig example@example.com
- 다음 PuTTy 명령을 사용하여 "send_config_batch"라는 텍스트 파일을 생성합니다. (간소화를 위해 C:\에도 붙여 넣으십시오.)
C:\putty.exe -ssh hostname -l admin -pw password -m C:\send_config.txt
exit
참고:호스트 이름을 ESA의 FQDN 또는 IP 주소로 변경하고 admin 계정의 실제 비밀번호로 비밀번호를 변경해야 합니다.
작업을 정기적으로 실행하도록 예약(Windows)
Windows에서 작업 스케줄러 또는 유사한 스케줄링 도구를 사용하여 Windows의 예약된 작업에 "send_config_batch"를 찾아 추가합니다.
ESA 컨피그레이션 파일은 지정된 대로 "send_config" 텍스트 파일에 지정된 주소로 전송됩니다.
참고:이 문서는 개념 증명으로, 예로서 제공됩니다.이러한 단계를 성공적으로 테스트한 경우 이 문서는 주로 데모 및 그림 용도로 사용됩니다. 사용자 지정 스크립트는 Cisco의 범위와 지원 범위를 벗어납니다. Cisco 기술 지원에서는 언제든지 사용자 지정 외부 스크립트를 작성, 업데이트 또는 트러블슈팅하지 않습니다.
관련 정보