تنفيذ مفهوم الوصول عن بعد الآمن للغاية

استمرار سلسلة المقالات حول موضوع التنظيم الوصول عن بعد VPN الوصول لا يسعني إلا مشاركة تجربة نشر مثيرة للاهتمام تكوين VPN آمن للغاية. تم طرح مهمة غير تافهة من قبل عميل واحد (يوجد مخترعون في القرى الروسية) ، ولكن تم قبول التحدي بشكل خلاق. والنتيجة هي مفهوم مثير للاهتمام بالخصائص التالية:

  1. عدة عوامل للحماية من استبدال الجهاز الطرفي (بربط صارم للمستخدم) ؛
    • تقييم امتثال جهاز الكمبيوتر الخاص بالمستخدم مع UDID المخصص لجهاز الكمبيوتر المسموح به في قاعدة المصادقة ؛
    • مع MFA باستخدام PC UDID من الشهادة للمصادقة الثانوية عبر Cisco DUO (يمكنك برغي أي متوافق مع SAML / Radius);
  2. مصادقة متعددة العوامل:
    • شهادة المستخدم مع التحقق من صحة المجال والمصادقة الثانوية لأحدهم ؛
    • تسجيل الدخول (غير قابل للتغيير ، مأخوذ من الشهادة) وكلمة المرور ؛
  3. تقدير حالة المضيف المتصل (الموقف)

مكونات الحل المستخدمة:

  • Cisco ASA (بوابة VPN) ؛
  • Cisco ISE (المصادقة / التفويض / المحاسبة ، تقدير الحالة ، كاليفورنيا) ؛
  • Cisco DUO (مصادقة متعددة العوامل) (يمكنك برغي أي متوافق مع SAML / Radius);
  • Cisco AnyConnect (وكيل متعدد الأغراض لمحطات العمل ونظام التشغيل المحمول) ؛

لنبدأ بمتطلبات العميل:

  1. يجب أن يكون المستخدم قادرًا على تنزيل عميل AnyConnect من بوابة VPN من خلال مصادقة تسجيل الدخول / كلمة المرور الخاصة به ، ويجب تثبيت جميع وحدات AnyConnect الضرورية تلقائيًا وفقًا لسياسة المستخدم ؛
  2. يجب أن يكون المستخدم قادرًا على إصدار شهادة تلقائيًا (بالنسبة لأحد السيناريوهات ، يكون السيناريو الرئيسي هو إصدار يدوي وملء على جهاز كمبيوتر شخصي) ، لكنني قمت بتنفيذ الإصدار التلقائي للعرض التوضيحي (لم يفت الأوان على إزالته أبدًا).
  3. يجب أن تتم المصادقة الأساسية على عدة مراحل ، أولاً يتم توثيق الشهادة مع تحليل الحقول المطلوبة وقيمها ، ثم تسجيل الدخول / كلمة المرور ، هذه المرة فقط يجب استبدال اسم المستخدم المحدد في حقل الشهادة في نافذة تسجيل الدخول اسم الموضوع (CN) بدون امكانية التحرير.
  4. تحتاج إلى التأكد من أن الجهاز الذي تقوم بتسجيل الدخول منه هو كمبيوتر محمول مشترك تم إصداره للمستخدم للوصول عن بُعد ، ولا شيء آخر. (تم إجراء العديد من الاختلافات لتلبية هذا المطلب)
  5. يجب تقييم حالة الجهاز المتصل (في هذه المرحلة ، جهاز الكمبيوتر) مع فحص الجدول الضخم الكامل لمتطلبات العملاء (التلخيص):
    • الملفات وخصائصها ؛
    • إدخالات التسجيل ؛
    • تصحيحات نظام التشغيل من القائمة المتوفرة (مزيد من تكامل SCCM) ؛
    • توافر برنامج مكافحة الفيروسات الخاص بشركة مصنعة معينة ومدى ملاءمة التوقيعات ؛
    • نشاط بعض الخدمات ؛
    • وجود بعض البرامج المثبتة ؛

بادئ ذي بدء ، أقترح أن تنظر بالتأكيد إلى عرض الفيديو للتنفيذ الناتج في يوتيوب (5 دقائق).

أقترح الآن النظر في تفاصيل التنفيذ التي لم يتم تناولها في مقطع الفيديو.

لنعد ملف تعريف AnyConnect:

مثال على إنشاء ملف تعريف (من حيث عنصر القائمة في ASDM) الذي قدمته سابقًا في مقالتي حول الإعداد مجموعة موازنة تحميل VPN. الآن أريد أن أشير بشكل منفصل إلى الخيارات التي نحتاجها:

في ملف التعريف ، حدد بوابة VPN واسم ملف التعريف للاتصال على العميل النهائي:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

لنقم بإعداد الإصدار التلقائي للشهادة من جانب الملف الشخصي ، مع تحديد ، على وجه الخصوص ، معلمات الشهادة ، وهو أمر نموذجي ، انتبه إلى المجال الأحرف الأولى (I)، حيث يتم إدخال قيمة محددة يدويًا أنت فعلت جهاز الاختبار (معرّف الجهاز الفريد الذي تم إنشاؤه بواسطة عميل Cisco AnyConnect).

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

هنا أريد إجراء استطراد غنائي ، نظرًا لأن هذه المقالة تصف المفهوم ، لأغراض العرض التوضيحي ، إليك UDID لإصدار شهادة في حقل الأحرف الأولى من ملف تعريف AnyConnect. بالطبع ، في الحياة الواقعية ، إذا قمت بذلك ، فسيحصل جميع العملاء على شهادة بنفس UDID في هذا المجال ولن يعمل شيء معهم ، لأنهم يحتاجون إلى UDID الخاص بجهاز الكمبيوتر الخاص بهم. لا يقوم AnyConnect ، للأسف ، بتنفيذ استبدال حقل UDID في ملف تعريف طلب الشهادة من خلال متغير البيئة ، كما هو الحال ، على سبيل المثال ، مع المتغير ٪مستخدم٪.

وتجدر الإشارة إلى أن العميل (في هذا السيناريو) يخطط مبدئيًا لإصدار الشهادات يدويًا باستخدام UDID المحدد إلى أجهزة الكمبيوتر الشخصية المحمية من تلقاء نفسه ، وهو ما لا يمثل مشكلة بالنسبة له. ومع ذلك ، بالنسبة لمعظمنا ، نريد الأتمتة (حسنًا ، بالنسبة لي ، هذا مؤكد =)).

وهذا ما يمكنني تقديمه من حيث الأتمتة. إذا لم يكن من الممكن إصدار شهادة تلقائيًا بعد ، فإن AnyConnect تحل محل UDID ديناميكيًا ، فهناك طريقة أخرى تتطلب القليل من التفكير الإبداعي والأيدي الماهرة - سأخبرك بالمفهوم. أولاً ، دعنا نلقي نظرة على كيفية تكوين UDID على أنظمة تشغيل مختلفة بواسطة وكيل AnyConnect:

  • Windows - تجزئة SHA-256 لتركيبة مفتاح التسجيل DigitalProductID و Machine SID
  • OSX - SHA-256 hash PlatformUUID
  • لينكس - تجزئة SHA-256 للمعرف الفريد العمومي لقسم الجذر.
  • أبل دائرة الرقابة الداخلية - SHA-256 hash PlatformUUID
  • أندرويد - انظر الوثيقة على صلة

وفقًا لذلك ، نقوم بعمل برنامج نصي لنظام التشغيل Windows الخاص بشركتنا ، باستخدام هذا البرنامج النصي ، نحسب UDID محليًا من المدخلات المعروفة ونشكل طلبًا لإصدار شهادة عن طريق إدخال UDID هذا في الحقل المطلوب ، بالمناسبة ، يمكنك أيضًا استخدام جهاز شهادة صادرة عن AD (إضافة مصادقة مزدوجة بشهادة إلى النظام شهادة متعددة).

دعنا نجهز الإعدادات من جانب Cisco ASA:

لنقم بإنشاء TrustPoint لخادم ISE CA ، وسوف يصدر شهادات للعملاء. لن أفكر في إجراء استيراد Key-Chain ، هناك مثال موصوف في مقالة الإعداد الخاصة بي مجموعة موازنة تحميل VPN.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

قمنا بإعداد التوزيع عبر Tunnel-Group استنادًا إلى القواعد وفقًا للحقول الموجودة في الشهادة المستخدمة للمصادقة. أيضًا ، تم هنا تكوين ملف تعريف AnyConnect ، الذي قمنا به في المرحلة الأخيرة. يرجى ملاحظة أنني أستخدم القيمة سيكيوريبانك-RA، لنقل المستخدمين بشهادة صادرة إلى مجموعة أنفاق البنك الآمن-VPN، يرجى ملاحظة أن لدي هذا الحقل في عمود طلب شهادة ملف تعريف AnyConnect.

tunnel-group-map enable rules
!
crypto ca certificate map OU-Map 6
 subject-name attr ou eq securebank-ra
!
webvpn
 anyconnect profiles SECUREBANK disk0:/securebank.xml
 certificate-group-map OU-Map 6 SECURE-BANK-VPN
!

قم بإعداد خادم المصادقة. في حالتي ، هذا هو ISE للمرحلة الأولى من المصادقة و DUO (Radius Proxy) باعتباره MFA.

! CISCO ISE
aaa-server ISE protocol radius
 authorize-only
 interim-accounting-update periodic 24
 dynamic-authorization
aaa-server ISE (inside) host 192.168.99.134
 key *****
!
! DUO RADIUS PROXY
aaa-server DUO protocol radius
aaa-server DUO (inside) host 192.168.99.136
 timeout 60
 key *****
 authentication-port 1812
 accounting-port 1813
 no mschapv2-capable
!

نقوم بإنشاء سياسات المجموعة ومجموعات الأنفاق ومكوناتها المساعدة:

مجموعة النفق DefaultWEBVPNG المجموعة سيتم استخدامه بشكل أساسي لتنزيل عميل AnyConnect VPN وإصدار شهادة مستخدم باستخدام وظيفة SCEP-Proxy لـ ASA ، ولهذا قمنا بتنشيط الخيارات المناسبة على كل من مجموعة النفق نفسها وعلى سياسة المجموعة المرتبطة تحميل AC، وعلى ملف تعريف AnyConnect المحمل (حقول إصدار الشهادة ، إلخ). نشير أيضًا في سياسة المجموعة هذه إلى الحاجة إلى التنزيل وحدة وضعية ISE.

مجموعة النفق البنك الآمن-VPN سيتم استخدامه تلقائيًا بواسطة العميل عند المصادقة باستخدام الشهادة الصادرة في الخطوة السابقة ، حيث أنه وفقًا لخريطة الشهادة ، سيقع الاتصال في مجموعة النفق هذه. سأخبرك عن الخيارات الشيقة هنا:

  • مصادقة ثانوية خادم مجموعة DUO # تعيين المصادقة الثانوية على خادم DUO (Radius Proxy)
  • اسم المستخدم من شهادة CN # استخدم حقل CN للشهادة للمصادقة الأولية لوراثة تسجيل دخول المستخدم
  • اسم المستخدم الثانوي من الشهادة أنا # للمصادقة الثانوية على خادم DUO ، استخدم اسم المستخدم المستخرج والحقول الأولى (I) للشهادة.
  • عميل اسم المستخدم الملء المسبق # جعل اسم المستخدم مملوءًا مسبقًا في نافذة المصادقة دون إمكانية التغيير
  • عميل اسم المستخدم الثانوي - ما قبل الملء - إخفاء دفع كلمة المرور الشائعة # إخفاء نافذة إدخال تسجيل الدخول / كلمة المرور لمصادقة DUO الثانوية واستخدم طريقة الإخطار (sms / push / phone) بدلاً من حقل كلمة المرور لطلب المصادقة - doc هنا

!
access-list posture-redirect extended permit tcp any host 72.163.1.80 
access-list posture-redirect extended deny ip any any
!
access-list VPN-Filter extended permit ip any any
!
ip local pool vpn-pool 192.168.100.33-192.168.100.63 mask 255.255.255.224
!
group-policy SECURE-BANK-VPN internal
group-policy SECURE-BANK-VPN attributes
 dns-server value 192.168.99.155 192.168.99.130
 vpn-filter value VPN-Filter
 vpn-tunnel-protocol ssl-client 
 split-tunnel-policy tunnelall
 default-domain value ashes.cc
 address-pools value vpn-pool
 webvpn
  anyconnect ssl dtls enable
  anyconnect mtu 1300
  anyconnect keep-installer installed
  anyconnect ssl keepalive 20
  anyconnect ssl rekey time none
  anyconnect ssl rekey method ssl
  anyconnect dpd-interval client 30
  anyconnect dpd-interval gateway 30
  anyconnect ssl compression lzs
  anyconnect dtls compression lzs
  anyconnect modules value iseposture
  anyconnect profiles value SECUREBANK type user
!
group-policy AC-DOWNLOAD internal
group-policy AC-DOWNLOAD attributes
 dns-server value 192.168.99.155 192.168.99.130
 vpn-filter value VPN-Filter
 vpn-tunnel-protocol ssl-client 
 split-tunnel-policy tunnelall
 default-domain value ashes.cc
 address-pools value vpn-pool
 scep-forwarding-url value http://ise.ashes.cc:9090/auth/caservice/pkiclient.exe
 webvpn
  anyconnect ssl dtls enable
  anyconnect mtu 1300
  anyconnect keep-installer installed
  anyconnect ssl keepalive 20
  anyconnect ssl rekey time none
  anyconnect ssl rekey method ssl
  anyconnect dpd-interval client 30
  anyconnect dpd-interval gateway 30
  anyconnect ssl compression lzs
  anyconnect dtls compression lzs
  anyconnect modules value iseposture
  anyconnect profiles value SECUREBANK type user
!
tunnel-group DefaultWEBVPNGroup general-attributes
 address-pool vpn-pool
 authentication-server-group ISE
 accounting-server-group ISE
 default-group-policy AC-DOWNLOAD
 scep-enrollment enable
tunnel-group DefaultWEBVPNGroup webvpn-attributes
 authentication aaa certificate
!
tunnel-group SECURE-BANK-VPN type remote-access
tunnel-group SECURE-BANK-VPN general-attributes
 address-pool vpn-pool
 authentication-server-group ISE
 secondary-authentication-server-group DUO
 accounting-server-group ISE
 default-group-policy SECURE-BANK-VPN
 username-from-certificate CN
 secondary-username-from-certificate I
tunnel-group SECURE-BANK-VPN webvpn-attributes
 authentication aaa certificate
 pre-fill-username client
 secondary-pre-fill-username client hide use-common-password push
 group-alias SECURE-BANK-VPN enable
 dns-group ASHES-DNS
!

بعد ذلك ، دعنا ننتقل إلى ISE:

قمنا بإعداد مستخدم محلي (يمكنك أيضًا استخدام AD / LDAP / ODBC ، وما إلى ذلك) ، من أجل التبسيط ، قمت بإنشاء مستخدم محلي في ISE نفسه وقمت بتعيينه إلى الحقل وصف UDID للكمبيوتر الشخصي التي يُسمح له بتسجيل الدخول منها عبر VPN. في حالة استخدام المصادقة المحلية على ISE ، سأقتصر على جهاز واحد فقط ، نظرًا لعدم وجود العديد من الحقول ، ولكن في قواعد بيانات المصادقة الخاصة بطرف ثالث ، لن يكون لدي مثل هذه القيود.

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

لنلقِ نظرة على سياسة التفويض ، وهي مقسمة إلى أربع مراحل من الاتصال:

  • المرحلة 1 - سياسة تنزيل وكيل AnyConnect وإصدار شهادة
  • المرحلة 2 - سياسة المصادقة الأساسية تسجيل الدخول (من الشهادة) / كلمة المرور + الشهادة مع التحقق من صحة UDID
  • المرحلة 3 - المصادقة الثانوية عبر Cisco DUO (MFA) بواسطة UDID كاسم مستخدم + تقييم الحالة
  • المرحلة 4 - التفويض النهائي بالدولة:
    • متوافق
    • التحقق من صحة UDID (من الشهادة + الربط بتسجيل الدخول) ،
    • سيسكو DUO MFA
    • مصادقة تسجيل الدخول ؛
    • مصادقة الشهادة ؛

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

دعونا نلقي نظرة على حالة مثيرة للاهتمام UUID_VALIDATED، يبدو فقط أن المستخدم المصادق عليه جاء بالفعل من جهاز كمبيوتر مع UDID مرتبط مسموح به في هذا المجال الوصف الحساب ، تبدو الشروط كما يلي:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

يبدو ملف تعريف التفويض المستخدم في المراحل 1,2,3،XNUMX،XNUMX كما يلي:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

يمكنك التحقق بالضبط من كيفية وصول UDID من عميل AnyConnect من خلال النظر في تفاصيل جلسة العميل في ISE. سنرى بالتفصيل أن AnyConnect من خلال الآلية أسيدكس لا يرسل بيانات حول النظام الأساسي فحسب ، بل يرسل أيضًا UDID للجهاز كـ سيسكو-AV-PAIR:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

انتبه للشهادة الصادرة للمستخدم والميدان الأحرف الأولى (I)، والذي يتم استخدامه لتسجيل الدخول لمصادقة MFA الثانوية على Cisco DUO:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

على جانب DUO Radius Proxy ، يمكننا أن نرى بوضوح في السجل كيف يسير طلب المصادقة ، يتم استخدام UDID كاسم مستخدم:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

من بوابة DUO ، نرى حدث مصادقة ناجح:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

وفي خصائص المستخدم التي قمت بتعيينها ALIAS، والذي كنت أستخدمه لتسجيل الدخول ، بدوره ، هذا هو UDID للكمبيوتر المسموح به لتسجيل الدخول:

تنفيذ مفهوم الوصول عن بعد الآمن للغاية

نتيجة لذلك ، حصلنا على:

  • المصادقة متعددة العوامل للمستخدم والجهاز ؛
  • الحماية من استبدال جهاز المستخدم ؛
  • تقييم حالة الجهاز.
  • إمكانية زيادة التحكم بشهادة آلة المجال ، وما إلى ذلك ؛
  • حماية شاملة لمكان العمل البعيد مع وحدات الأمان المنتشرة تلقائيًا ؛

روابط لمقالات في سلسلة Cisco VPN:

المصدر: www.habr.com

إضافة تعليق