はじめに
このドキュメントでは、Cisco Secure Email and Web Manager(SMA)から設定を保存するためのスクリプト作成の基本的な概念について説明します。
前提条件
要件
注:この記事は概念実証であり、サンプルとして提供されています。これらの手順は正常にテストされていますが、この記事は主にデモンストレーションと説明を目的としています。カスタムスクリプトは、シスコの対象範囲外であり、シスコのサポート対象外です。Cisco Technical Assistance Center(TAC)は、カスタムの外部スクリプトの作成、更新、トラブルシューティングをいつでも行うことはできません。 スクリプトを作成する前に、最終的なスクリプトを作成する際にスクリプトの知識があることを確認してください。
次の項目に関する知識があることが推奨されます。
設定ファイルの手動バックアップ
設定のバックアップは、コマンドを使用して手動で保存できます 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キーペアを生成するPuTTYgen for Windows
- Unix/Linux/OS X用のターミナル/CLIの「ssh-keygen」:
ssh-keygen -b 2048 -t rsa -f ~/.ssh/
指定したホストに設定を保存するスクリプト
次に、使用できるスクリプトの例を示します。
- SSHを介してSMAにログインします。
- パスフレーズを暗号化するために設定を保存します。
- Secure Copy Protocol(SCP)プロトコルを使用して、リモートホストで出力を送信します。
スクリプトには、ビジネスニーズに基づいて変更する必要がある変数が含まれています。
- HOSTNAMEは、SMAの完全修飾ドメイン名(FQDN)または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構成ファイルは、通常は次の形式です。
分(0 ~ 59)、時(0 ~ 23、0 =深夜)、日(1 ~ 31)、月(1 ~ 12)、曜日(0 ~ 6、0 =日曜日)、コマンド
このスクリプトを毎日午前1時に実行する場合の良い例は、次のようになります。
00 01 * * * /home/etrianti/sma_backup.sh
トラブルシュート
- 利用
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'
- コマンドの追加
set -x
スクリプトの先頭で、bashのデバッグモードを有効にし、スクリプトが正しく実行されることを確認します。 set
bashスクリプトで特定のフラグを有効にして、スクリプトに特定の動作と特性を持たせることができます。
注意:SMAの「ようこそ」メッセージは、 CLI > adminaccessconfig for appliance administration login
は、スクリプトによるSCPの実行を許可しません。 この場合、バナーメッセージに問題はありませんが、ウェルカムメッセージを削除する必要があります。
関連情報