소개
이 문서에서는 외부 호스트가 Cisco ESA(Email Security Appliance)에 대해 업데이트를 수행하고 검색할 수 있는 스크립트를 생성하는 것과 관련된 기본 개념 및 이해에 대해 설명합니다.
참고: 이 문서는 개념 증명이며 예시 자료로 제공됩니다. 이러한 단계가 성공적으로 테스트되었지만 이 문서는 주로 데모 및 설명을 위한 것입니다. 맞춤형 스크립트는 Cisco의 범위 및 지원 가능성 밖에 있습니다. Cisco Technical Assistance는 언제든지 맞춤형 외부 스크립트를 작성, 업데이트 또는 트러블슈팅하지 않습니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- 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 테이블) 파일에 의해 구동됩니다. crontab 파일은 작업 목록 및 cron 데몬에 대한 기타 지침이 보관되는 위치에 저장됩니다.
UNIX/Linux cron 구성 파일은 일반적으로 다음 형식을 따릅니다.
minute(0-59), hour(0-23, 0 = 자정), day(1-31), month(1-12), weekday(0-6, 0 = 일요일), 명령
따라서 매일 오전 2:00에 이 스크립트를 실행하는 좋은 예제 항목은 다음과 같습니다.
00 02 * * * /home/jsmith/esa_backup
Windows 시스템에서 컨피그레이션 파일 백업을 자동화하거나 스크립팅하려면 어떻게 해야 합니까?
다음 절차를 사용하면 Windows 시스템에서 컨피그레이션 파일을 정기적으로 백업할 수 있습니다.
- 터미널 에뮬레이터 PuTTY를 설치합니다.
- "send_config"라는 이름의 텍스트 파일을 mailconfig 명령과 유효한 이메일 주소로 만듭니다. (단순화를 위해 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 주소로 변경하고 관리자 계정의 실제 비밀번호로 변경해야 합니다.
작업이 정기적으로 실행되도록 예약(Windows)
작업 일정 관리자나 Windows의 유사한 일정 관리 도구를 사용하여 "send_config_batch"를 찾아 Windows의 예약된 작업에 추가합니다.
ESA 컨피그레이션 파일은 지정된 대로 "send_config" 텍스트 파일에 지정된 주소로 전송됩니다.
참고: 이 문서는 개념 증명이며 예시 자료로 제공됩니다. 이러한 단계가 성공적으로 테스트되었지만 이 문서는 주로 데모 및 설명을 위한 것입니다. 맞춤형 스크립트는 Cisco의 범위 및 지원 가능성 밖에 있습니다. Cisco Technical Assistance는 언제든지 맞춤형 외부 스크립트를 작성, 업데이트 또는 트러블슈팅하지 않습니다.
관련 정보