المقدمة
يصف هذا المستند المفهوم الأساسي لإنشاء البرنامج النصي لحفظ تكوين من Cisco Secure Email and Web Manager (SMA).
المتطلبات الأساسية
المتطلبات
ملاحظة: تعتبر هذه المادة دليلا على المفهوم، وهي تقدم كمثال على ذلك. وفي حين ان هذه الخطوات جرى إختبارها بنجاح، فإن القصد من هذه المقالة هو بشكل رئيسي الايضاح والإيضاح. البرامج النصية المخصصة خارج نطاق Cisco وقابليتها للدعم. يتعذر على مركز المساعدة التقنية ل Cisco كتابة البرامج النصية الخارجية المخصصة أو تحديثها أو أستكشاف الأخطاء وإصلاحها في أي وقت. قبل أن تحاول إنشاء أي نصوص تنفيذية، تأكد من أن لديك معرفة البرمجة النصية عندما تقوم ببناء النص النهائي.
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
النسخ الاحتياطي لملف التكوين اليدوي
يمكن حفظ النسخ الاحتياطي للتكوين يدويا باستخدام الأمر saveconfig
أو mailconfig
من واجهة سطر الأوامر، أو من خلال 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.
إنشاء زوج مفاتيح SSH
لهذا الغرض، يلزم إنشاء مفتاح (مفاتيح) RSA خاص/عام. ويمكن تحقيق ذلك باستخدام ما يلي:
ssh-keygen -b 2048 -t rsa -f ~/.ssh/
برنامج نصي لحفظ التكوين إلى مضيف محدد
هذا مثال على نص تنفيذي يمكن إستخدامه ل:
- سجل الدخول إلى SMA عبر SSH.
- احفظ التكوين لتشفير عبارات المرور.
- إرسال الإخراج على المضيف البعيد باستخدام بروتوكول النسخ الآمن (SCP).
يحتوي البرنامج النصي على متغيرات، والتي يجب تعديلها بناء على إحتياجات العمل.
- اسم المضيف هو اسم المجال المؤهل بالكامل (FQDN) أو عنوان IP الخاص ب SMA.
- اسم المستخدم هو حساب اسم المستخدم المكون مسبقا على 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)
إستخدم كرون (UNIX/Linux) لبدء المهمة بشكل منتظم. يتم تشغيل Cron بواسطة ملف crontab (جدول cron)، وهو ملف تكوين يحدد أوامر shell ليتم تشغيله بشكل دوري على جدول معين. يتم تخزين ملفات crontab حيث يتم الاحتفاظ بقوائم المهام والتعليمات الأخرى إلى البرنامج الخفي للعميل.
عادة ما يكون ملف تكوين UNIX/Linux cron بهذا التنسيق:
دقيقة (0-59)، ساعة (0-23، 0 = منتصف الليل)، يوم (1-31)، شهر (1-12)، يوم الأسبوع (0-6، 0 = الأحد)، أمر
يبدو إدخال مثال جيد لتشغيل هذا النص التنفيذي كل يوم في الساعة 1:00 صباحا:
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
في أعلى البرنامج النصي، لتمكين وضع تصحيح الأخطاء في الأساسي وتأكيد تشغيل البرنامج النصي بشكل صحيح. الأمر set
يتيح لك تمكين علامات معينة في النص البرمجي ل Bash بحيث يكون للنص سلوكيات وخصائص معينة.
تحذير: SMA مع رسالة "ترحيب" مكونة ضمن CLI > adminaccessconfig for appliance administration login
، لا يسمح للبرنامج النصي بتشغيل SCP. في هذه الحالة، يجب إزالة رسالة الترحيب، بينما لا توجد مشكلة مع رسالة الشعار.
معلومات ذات صلة