المقدمة
يصف هذا المستند المفاهيم الأساسية والفهم المرتبط بإنشاء برامج نصية لمضيف خارجي لتنفيذ التحديثات وطلبها مقابل جهاز أمان البريد الإلكتروني Cisco Email Security Appliance (ESA).
ملاحظة: تعتبر هذه المادة دليلا على المفهوم، وهي تقدم كمثال على ذلك. وفي حين ان هذه الخطوات جرى إختبارها بنجاح، فإن هذه المقالة هي في المقام الاول لأغراض الايضاح والإيضاح. البرامج النصية المخصصة خارج نطاق Cisco وقابليتها للدعم. لن تقوم "المساعدة التقنية ل Cisco" بكتابة البرامج النصية الخارجية المخصصة أو تحديثها أو أستكشاف الأخطاء وإصلاحها في أي وقت.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- البرمجة النصية لنظام التشغيل وجدولة المهام
- تكوين وإجراءات زوج مفاتيح SSH
كيف يمكنني أتمتة عمليات النسخ الاحتياطي لملف التكوين أو كتابته؟
يتم إنشاء ملف التكوين بشكل ديناميكي عند إستخدام SaveConfig أو mailConfig من واجهة سطر الأوامر، أو خيارات النسخ الاحتياطي المرتبطة من خلال واجهة المستخدم الرسومية (إدارة النظام > ملف التكوين). للحصول على نسخ إحتياطي فعال يمكن تحميله وتطبيقه على ESA، من الأفضل "إلغاء قناع" كلمات المرور. وهذا يسمح للجهاز بوضع نموذج مجزأ من كلمات المرور للحسابات الإدارية المحلية في ملف التكوين. ولهذا السبب، لا يمكننا ببساطة نسخ ملف "تكوين جار" مسطح من الجهاز. تتيح لنا هذه الطريقة الوصول أولا إلى الجهاز، وإصدار أمر لبناء التكوين الحالي بشكل ديناميكي، وحفظ نسخة من هذا الملف أو إرسالها بالبريد في مكان ما عن بعد، دون أي تدخل من المستخدم. وحالما يتحقق ذلك، يمكننا عندئذ ان نكرر أو نبرمج هذه المهمة لتجري على أساس قانوني.
لإجراء نسخ إحتياطي لملفات التكوين بسرعة وتلقائيا باستخدام كلمات مرور غير مقنعة:
- قم بإنشاء زوج مفاتيح SSH لاستخدامه، وتحقق من إمكانية الوصول إلى الجهاز عبر SSH دون الاضطرار إلى إدخال كلمة مرور يدويا.
- قم بإنشاء برنامج نصي لتسجيل الدخول إلى الجهاز وحفظ التكوين ونسخه (أو إرساله بالبريد).
ملاحظة: يمكن تطبيق منطق مماثل في أي لغة برمجة نصية لنظام التشغيل مثل VB أو البرامج النصية التجميعية لنظام التشغيل Windows.
حفظ التكوين على مضيف محدد باستخدام 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)
إستخدم كرون (UNIX/Linux) لبدء المهمة بشكل منتظم. يتم تشغيل Cron بواسطة ملف crontab (جدول cron)، وهو ملف تكوين يحدد أوامر shell ليتم تشغيله بشكل دوري على جدول معين. يتم تخزين ملفات crontab حيث يتم الاحتفاظ بقوائم المهام والتعليمات الأخرى إلى البرنامج الخفي للعميل.
عادة ما يتبع ملف التكوين UNIX/Linux cron هذا التنسيق:
دقيقة (0-59)، ساعة (0-23، 0 = منتصف الليل)، يوم (1-31)، شهر (1-12)، يوم الأسبوع (0-6، 0 = الأحد)، أمر
لذا فإن إدخال مثال جيد لتشغيل هذا النص كل يوم في الساعة 2:00 صباحا سيبدو مثل:
00 02 * * * /home/jsmith/esa_backup
كيف يمكنني أتمتة نسخ ملف التكوين الاحتياطية من نظام Windows أو كتابته؟
باستخدام الإجراء التالي، يمكنك إجراء نسخ إحتياطي لملف التكوين بشكل منتظم من نظام التشغيل Windows.
- قم بتثبيت PuTTY لممثل الوحدة الطرفية.
- قم بإنشاء ملف نصي باسم "send_config" باستخدام الأمر mailconfig وعنوان البريد الإلكتروني الصحيح. (من أجل البساطة، ضعها تحت C:\)
mailconfig example@example.com
- قم بإنشاء ملف نصي باسم "send_config_batch" باستخدام الأمر PuTTy التالي. (من أجل البساطة، ضعها أيضا تحت C:\)
C:\putty.exe -ssh hostname -l admin -pw password -m C:\send_config.txt
exit
ملاحظة: تأكد من تغيير اسم المضيف إلى FQDN أو عنوان IP الخاص ب ESA، وكلمة المرور إلى كلمة المرور الفعلية الخاصة بك لحساب المسؤول.
جدولة المهمة للتشغيل بشكل منتظم (في Windows)
باستخدام "جدولة المهام" أو أداة جدولة مماثلة في Windows، ابحث عن "send_config_batch" وقم بإضافته إلى المهام المجدولة ل Windows.
سيتم إرسال ملف تكوين ESA إلى العنوان المحدد في الملف النصي "send_config" كما هو محدد.
ملاحظة: تعتبر هذه المادة دليلا على المفهوم، وهي تقدم كمثال على ذلك. وفي حين ان هذه الخطوات جرى إختبارها بنجاح، فإن هذه المقالة هي في المقام الاول لأغراض الايضاح والإيضاح. البرامج النصية المخصصة خارج نطاق Cisco وقابليتها للدعم. لن تقوم "المساعدة التقنية ل Cisco" بكتابة البرامج النصية الخارجية المخصصة أو تحديثها أو أستكشاف الأخطاء وإصلاحها في أي وقت.
معلومات ذات صلة