소개
이 문서에서는 Cisco Secure Email and Web Manager(SMA)의 구성을 저장하는 기본 개념의 스크립트 생성에 대해 설명합니다.
사전 요구 사항
요구 사항
참고: 이 문서는 개념 증명이며 예시 자료로 제공됩니다. 이러한 단계가 성공적으로 테스트되었지만 이 문서는 주로 데모 및 설명을 목적으로 합니다. 맞춤형 스크립트는 Cisco의 범위 및 지원 가능성 밖에 있습니다. Cisco Technical Assistance Center는 언제든지 맞춤형 외부 스크립트를 작성, 업데이트 또는 트러블슈팅할 수 없습니다. 스크립트를 시도하고 구성하기 전에 최종 스크립트를 구성할 때 스크립팅 지식이 있는지 확인하십시오.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
수동 컨피그레이션 파일 백업
컨피그레이션 백업은 명령을 사용하여 수동으로 저장할 수 있습니다 saveconfig
또는 mailconfig
CLI에서 또는 SMA GUI > System Administration > Configuration File
.
마스크 암호는 어플라이언스가 컨피그레이션 파일의 로컬 관리 계정에 대한 비밀번호의 해시 형식을 사용할 수 없으므로 어플라이언스가 컨피그레이션을 로드할 수 없습니다.
SMA에 로드하고 적용할 수 있는 효과적인 백업을 위해서는 암호를 암호화하는 것이 가장 좋습니다.
그 후에는 파일이 각 시스템의 컨피그레이션에 저장되었다는 알림이 표시됩니다.
sma01.local> saveconfig
Choose the passphrase option:
1. Mask passphrases (Files with masked passphrases cannot be loaded with loadconfig command)
2. Encrypt passphrases
[1]> 2
The file M100V-420DF14148D16EXXXXXX-BF70C4XXXXXX-20230419T103106.xml
has been saved in the configuration directory on machine "sma01.local".
컨피그레이션 파일 백업을 자동화하거나 스크립팅하는 방법은?
원하는 출력은 사용자 개입 없이 어플라이언스에 액세스하여 명령을 실행하여 현재 컨피그레이션을 생성한 다음 원격으로 저장하거나 메일 사본을 전송하는 것입니다.
이 작업을 효율적으로 수행하려면 다음을 수행해야 합니다.
- 비밀번호를 수동으로 입력하지 않고도 SSH 키 쌍을 생성합니다.
- 어플라이언스에 로그인하고 컨피그레이션을 저장한 다음 원격으로 또는 우편으로 보낼 스크립트를 생성합니다.
참고: 유사한 논리는 VB 또는 Windows용 배치 스크립트와 같은 OS 스크립팅 언어로 적용될 수 있습니다.
SSH 키 쌍 생성
이를 위해 프라이빗/퍼블릭 RSA 키를 생성해야 합니다. 이 작업은 다음을 사용하여 수행할 수 있습니다.
ssh-keygen -b 2048 -t rsa -f ~/.ssh/
지정된 호스트에 컨피그레이션을 저장하는 스크립트
다음은 다음 작업에 사용할 수 있는 스크립트의 예입니다.
- SSH를 통해 SMA에 로그인합니다.
- 암호 암호화에 대한 컨피그레이션을 저장합니다.
- SCP(Secure Copy Protocol) 프로토콜을 사용하여 원격 호스트에서 출력을 보냅니다.
스크립트에는 비즈니스 요구 사항에 따라 수정해야 하는 변수가 포함되어 있습니다.
- HOSTNAME은 SMA의 FQDN(Fully Qualified Domain Name) 또는 IP 주소입니다.
- USERNAME은 SMA에서 사전 구성된 사용자 이름 계정입니다.
- BACKUP_PATH는 구성을 저장해야 하는 원하는 디렉토리입니다.
참고: 모든 구성에 앞서 스크립팅 지식과 이러한 변수에 대한 올바른 이해를 확보하십시오.
스크립트가 생성되면 실행 파일로 만들고 스크립트를 실행합니다.
chmod +x sma_backup.sh
./sma_backup.sh
#!/usr/bin/env bash
#
# Simple script to save the SMA config, then copy locally via SCP.
#
# $HOSTNAME can be either FQDN or IP address.
HOSTNAME= [FQDN/IP ADDRESS of SMA]
#
# $USERNAME assumes that you have preconfigured SSH key from this host to your SMA.
USERNAME=admin
#
# $BACKUP_PATH is the directory location on the local system.
BACKUP_PATH= [/local/path/as/desired]
#
# $FILENAME contains the actual script that calls the SMA and issues the 'saveconfig 2' command.
# The rest of the string removes the unnecessary part and isolates the name of the configuration file <model>-<serial number>-<timestamp>.xml.
#
FILENAME=$(ssh -q $USERNAME@$HOSTNAME 'saveconfig 2' | awk '/xml/ {print $3}')
#
# Notification that new generated config file saved locally.
echo
echo "Processing SMA config ${FILENAME}"
#
# SCP saves the configuration to the respective folder that has been defined under "BACKUP_PATH"
scp -q ${USERNAME}@${HOSTNAME}:/configuration/${FILENAME} ${BACKUP_PATH}
#
# Notification that configuration saved properly on the desired folder.
echo "Saving ${FILENAME} under path ${BACKUP_PATH}"
#
# </SCRIPT>
#
스크립트의 출력은 다음 형식이어야 합니다.
etrianti@linux:~$ ./sma_backup.sh
Processing SMA config M100V-420DF14148D16EXXXXXX-BF70C4XXXXXX-20230419T103106.xml
Saving M100V-420DF14148D16EXXXXXX-BF70C4XXXXXX-20230419T103106.xml under path /home/etrianti/
정기적으로 작업이 실행되도록 예약(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 = 일요일), 명령
매일 오전 1:00에 이 스크립트를 실행하는 좋은 예제 항목은 다음과 같습니다.
00 01 * * * /home/etrianti/sma_backup.sh
문제 해결
- Use
cli_logs
스크립트가 올바르게 실행되었는지 검토하고 수행된 작업을 평가하려면 다음을 수행합니다.
User
login
사용자가 SMA에 성공적으로 로그인할 수 있었음을 정의합니다.
executed batch command: 'saveconfig 2'
에서는 컨피그레이션을 저장하기 위해 스크립트에서 실행된 명령을 보여줍니다.
scp -f /configuration/
SMA에서 가져온 컨피그레이션을 정의합니다
스크립트의 성공적인 호출의 예:
sma01.local> tail cli_logs
Press Ctrl-C to stop.
Thu Apr 20 12:25:33 2023 Info: PID 61539: User admin login from 10.61.94.7 on 172.16.200.30
Thu Apr 20 12:25:34 2023 Info: PID 61539: User admin executed batch command: 'saveconfig 2'
Thu Apr 20 12:25:39 2023 Info: PID 61582: User admin login from 10.61.94.7 on 172.16.200.30
Thu Apr 20 12:25:39 2023 Info: PID 61582: User admin executed batch command: 'scp -f /configuration/M100V-420DF14148D16EXXXXXX-BF70C4XXXXXX-20230419T103106.xml'
- Add 명령
set -x
스크립트 상단에서 bash에서 디버그 모드를 활성화하고 스크립트가 제대로 실행되는지 확인합니다. 명령 set
Bash 스크립트에서 특정 플래그를 활성화하여 스크립트에 특정 동작과 특성이 포함되도록 할 수 있습니다.
주의: "welcome" 메시지가 구성된 SMA CLI > adminaccessconfig for appliance administration login
에서는 스크립트가 SCP를 실행하도록 허용하지 않습니다. 이 경우 환영 메시지는 제거되어야 하지만 배너 메시지에는 문제가 없습니다.
관련 정보