المقدمة
يصف هذا وثيقة كيف أن يشكل LUA نص تنفيذي أن يكشف شهادة معلم أن يتلقى مستعمل عندما يحاول أن يربط إلى ال VPN.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- مركز إدارة جدار الحماية الآمن (FMC)
- تكوين VPN للوصول عن بعد (RAVPN)
- ترميز البرنامج النصي ل LUA الأساسي
- شهادات SSL الأساسية
- سياسة الوصول الديناميكي (DAP)
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
- Secure Firewall، الإصدار 7.7.0
- Secure Firewall Management Center، الإصدار 7.7.0
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
DAP هو ميزة قوية تتيح لمسؤولي الشبكة تحديد سياسات التحكم في الوصول متعددة المستويات استنادا إلى سمات مختلفة للمستخدمين والأجهزة التي تحاول الاتصال بالشبكة. تتمثل إحدى القدرات الأساسية لبرنامج المساعدة الإنمائية في القدرة على إنشاء سياسات تقيم الشهادات الرقمية المثبتة على أجهزة العميل. تعمل هذه الشهادات كطريقة آمنة لمصادقة المستخدمين والتحقق من توافق الأجهزة.
ضمن واجهة FMC الآمنة من Cisco، يمكن للمسؤولين تكوين سياسات DAP لتقييم معلمات شهادات معينة مثل:
- الموضوع
- مصدر
- الاسم البديل للموضوع
- الرقم التسلسلي
- مخزن الشهادات
ومع ذلك، فإن خيارات تقييم الشهادة المتوفرة من خلال واجهة المستخدم الرسومية (GUI) ل FMC محدودة بهذه السمات المحددة مسبقا. يعني هذا التحديد أنه إذا أراد المسؤول فرض سياسات تستند إلى معلومات شهادة أكثر تفصيلا أو مخصصة، مثل حقول معينة داخل الشهادة أو الملحقات المخصصة، فلا يمكن تحقيق ذلك باستخدام تكوين DAP القياسي وحده.
وللتغلب على هذا التحديد، يدعم جدار الحماية الآمن من Cisco تكامل البرمجة النصية ل LUA داخل DAP. توفر النصوص التفاعلية LUA المرونة للوصول إلى سمات شهادات إضافية غير مكشوفة من خلال واجهة FMC وتقييمها. تمكن هذه الإمكانية المسؤولين من تنفيذ سياسات وصول أكثر تطورا وتخصيصا استنادا إلى بيانات الترخيص التفصيلية.
من خلال الاستفادة من البرمجة النصية ل LUA، يصبح من الممكن تحليل حقول الترخيص خارج المعلمات الافتراضية، مثل أسماء المؤسسة، الملحقات المخصصة، أو البيانات الأولية للشهادات الأخرى. وتعزز هذه القدرة الموسعة على التقييم الأمن من خلال السماح بتكييف السياسات بدقة لتلائم متطلبات المنظمة، وضمان عدم السماح إلا للعملاء الحاصلين على شهادات يستوفون معايير محددة ومفصلة بالوصول.
لذلك، في هذا المستند، يتم تكوين برنامج نصي ل LUA لتقييم المعلمة Organization داخل شهادة عميل من خلال زيادة إمكانيات البرمجة النصية ل LUA.
التكوين
1.سجل الدخول إلى واجهة المستخدم الرسومية (GUI) ل FMC، ثم انتقل من لوحة المعلومات إلى الأجهزة > نهج الوصول الديناميكي في القائمة.

2.افتح سياسة DAP المطبقة على تكوين RAPN.

3. قم بتحرير السجل المطلوب لتكوين البرنامج النصي LUA بالنقر فوق اسم السجل.

4. ضمن السجل المحدد، انتقل إلى علامة التبويب خيارات متقدمة لإدخال برنامج LOA النصي الذي يقيم معلمات الشهادة المطلوبة. بعد تكوين البرنامج النصي، انقر حفظ لتطبيق التغييرات. بمجرد حفظ التغييرات في سجل DAP، قم بنشر النهج لدفع التكوين الذي تم تحديثه إلى جهاز FTD.

ملاحظة: تم تصميم الرمز المقدم في هذه المقالة لتقييم الشهادات المثبتة على جهاز العميل، والتحقق بشكل خاص من وجود شهادة تتطابق معلمة المنظمة الخاصة بها داخل حقل الموضوع مع القيمة Cisco.
assert(function()
local match_pattern = "cisco"
for k,v in pairs (endpoint.certificate.user) do
match_value = v.subject_o
if(type(match_value) == "string") then
if(string.find(match_value,match_pattern) ~= nil) then
return true
end
end
end
return false
end){}
- يقوم البرنامج النصي بتعريف متغير match_pattern تم تعيينه إلى Cisco، وهو اسم المؤسسة الهدف الذي سيتم العثور عليه.
- يتكرر عبر كل شهادات المستخدم المتوفرة على نقطة النهاية باستخدام تكرار حلقي.
- لكل شهادة، تستخرج حقل المؤسسة (subject_o).
- يتحقق مما إذا كان حقل المؤسسة عبارة عن سلسلة، ثم يبحث عن match_pattern بداخله.
- إذا تم العثور على تطابق، يقوم البرنامج النصي بإرجاع true، مما يشير إلى مطابقة الشهادة لمعايير النهج.
- في حالة عدم العثور على شهادة مطابقة بعد التحقق من كل الشهادات، يرجع البرنامج النصي خطأ، مما يؤدي إلى رفض النهج للوصول.
يتيح هذا النهج للمسؤولين تنفيذ منطق التحقق من صحة الشهادات المخصص بما يتجاوز المعلمات القياسية التي تم تعريفها بواسطة واجهة المستخدم الرسومية (GUI) التابعة ل FMC.
التحقق من الصحة
قم بتشغيل الأمر more dap.xml للتحقق من وجود الرمز في تكوين DAP على FTD.
firepower# more dap.xml
Record 1
and
assert(function()
local match_pattern = "cisco"
for k,v in pairs (endpoint.certificate.user) do
match_value = v.subject_o
if(type(match_value) == "string") then
if(string.find(match_value,match_pattern) ~= nil) then
return true
end
end
end
return false
end) {}