تنظیم کے موضوع پر مضامین کا سلسلہ جاری ہے۔ ریموٹ رسائی VPN رسائی میں مدد نہیں کر سکتا لیکن اپنے دلچسپ تعیناتی کے تجربے کا اشتراک کر سکتا ہوں۔ انتہائی محفوظ VPN کنفیگریشن. ایک گاہک کی طرف سے ایک غیر معمولی کام پیش کیا گیا تھا (روسی دیہات میں موجد ہیں)، لیکن چیلنج کو قبول کیا گیا اور تخلیقی طور پر لاگو کیا گیا۔ نتیجہ مندرجہ ذیل خصوصیات کے ساتھ ایک دلچسپ تصور ہے:
ٹرمینل ڈیوائس کے متبادل کے خلاف تحفظ کے کئی عوامل (صارف کے لیے سخت پابندی کے ساتھ)؛
تصدیقی ڈیٹا بیس میں اجازت یافتہ پی سی کے تفویض کردہ UDID کے ساتھ صارف کے پی سی کی تعمیل کا اندازہ لگانا؛
Cisco DUO کے ذریعے ثانوی تصدیق کے لیے سرٹیفکیٹ سے PC UDID کا استعمال کرتے ہوئے MFA کے ساتھ (آپ کسی بھی SAML/Radius سے مطابقت رکھنے والے کو منسلک کر سکتے ہیں);
کثیر عنصر کی توثیق:
ان میں سے ایک کے خلاف فیلڈ کی تصدیق اور ثانوی تصدیق کے ساتھ صارف کا سرٹیفکیٹ؛
لاگ ان (غیر تبدیل شدہ، سرٹیفکیٹ سے لیا گیا) اور پاس ورڈ؛
منسلک میزبان کی حالت کا اندازہ لگانا (کرنسی)
استعمال شدہ حل کے اجزاء:
سسکو ASA (VPN گیٹ وے)؛
Cisco ISE (تصدیق / اجازت / اکاؤنٹنگ، ریاستی تشخیص، CA)؛
سسکو DUO (ملٹی فیکٹر تصدیق) (آپ کسی بھی SAML/Radius سے مطابقت رکھنے والے کو منسلک کر سکتے ہیں);
Cisco AnyConnect (ورک سٹیشنز اور موبائل OS کے لیے کثیر مقصدی ایجنٹ)؛
آئیے گاہک کی ضروریات کے ساتھ شروع کریں:
صارف کو، اپنے لاگ ان/پاس ورڈ کی توثیق کے ذریعے، VPN گیٹ وے سے AnyConnect کلائنٹ کو ڈاؤن لوڈ کرنے کے قابل ہونا چاہیے؛ تمام ضروری AnyConnect ماڈیولز صارف کی پالیسی کے مطابق خود بخود انسٹال ہونے چاہئیں؛
صارف کو خود بخود ایک سرٹیفکیٹ جاری کرنے کے قابل ہونا چاہئے (ایک منظرنامے کے لیے، اہم منظر نامے میں دستی جاری کرنا اور پی سی پر اپ لوڈ کرنا ہے)، لیکن میں نے مظاہرے کے لیے خودکار مسئلہ نافذ کیا (اسے ہٹانے میں کبھی دیر نہیں ہوئی)۔
بنیادی توثیق کئی مراحل میں ہونی چاہیے، پہلے ضروری فیلڈز اور ان کی اقدار کے تجزیہ کے ساتھ سرٹیفکیٹ کی توثیق ہوتی ہے، پھر لاگ ان/پاس ورڈ، صرف اس بار لاگ ان ونڈو میں سرٹیفکیٹ کے خانے میں مخصوص صارف کا نام داخل کیا جانا چاہیے۔ موضوع کا نام (CN) ترمیم کرنے کی صلاحیت کے بغیر۔
آپ کو یہ یقینی بنانا ہوگا کہ جس ڈیوائس سے آپ لاگ ان ہو رہے ہیں وہ کارپوریٹ لیپ ٹاپ ہے جو صارف کو ریموٹ رسائی کے لیے جاری کیا گیا ہے، نہ کہ کچھ اور۔ (اس ضرورت کو پورا کرنے کے لیے کئی آپشنز بنائے گئے ہیں)
کنیکٹنگ ڈیوائس کی حالت (اس مرحلے پر پی سی) کا اندازہ کسٹمر کی ضروریات کی ایک پوری بھاری میز کی جانچ کے ساتھ کیا جانا چاہئے (خلاصہ):
فائلیں اور ان کی خصوصیات؛
رجسٹری اندراجات؛
فراہم کردہ فہرست سے OS پیچ (بعد میں SCCM انضمام)؛
ایک مخصوص صنعت کار سے اینٹی وائرس کی دستیابی اور دستخطوں کی مطابقت؛
بعض خدمات کی سرگرمی؛
بعض نصب شدہ پروگراموں کی دستیابی؛
شروع کرنے کے لیے، میں تجویز کرتا ہوں کہ آپ یقینی طور پر اس کے نتیجے میں عمل درآمد کے ویڈیو مظاہرے کو دیکھیں یوٹیوب (5 منٹ).
اب میں ان نفاذ کی تفصیلات پر غور کرنے کی تجویز کرتا ہوں جو ویڈیو کلپ میں شامل نہیں ہیں۔
آئیے AnyConnect پروفائل تیار کریں:
میں نے پہلے ترتیب پر اپنے مضمون میں پروفائل بنانے کی ایک مثال (ASDM میں مینو آئٹم کے لحاظ سے) دی تھی۔ VPN لوڈ بیلنسنگ کلسٹر. اب میں الگ سے ان اختیارات کو نوٹ کرنا چاہوں گا جن کی ہمیں ضرورت ہوگی:
پروفائل میں، ہم اختتامی کلائنٹ سے جڑنے کے لیے VPN گیٹ وے اور پروفائل نام کی نشاندہی کریں گے:
آئیے پروفائل کی طرف سے ایک سرٹیفکیٹ کے خودکار اجراء کو ترتیب دیتے ہیں، خاص طور پر، سرٹیفکیٹ کے پیرامیٹرز کی نشاندہی کرتے ہیں اور، جو عام ہے، فیلڈ پر توجہ دیں۔ ابتدائیہ (I)، جہاں ایک مخصوص قدر دستی طور پر درج کی جاتی ہے۔ آپ نے کیا ٹیسٹ مشین (منفرد ڈیوائس شناخت کنندہ جو Cisco AnyConnect کلائنٹ کے ذریعہ تیار کیا جاتا ہے)۔
یہاں میں ایک شعری اختلاف کرنا چاہتا ہوں، کیونکہ یہ مضمون اس تصور کو بیان کرتا ہے؛ مظاہرے کے مقاصد کے لیے، سرٹیفکیٹ جاری کرنے کے لیے UDID AnyConnect پروفائل کے ابتدائی فیلڈ میں درج کیا گیا ہے۔ بلاشبہ، حقیقی زندگی میں، اگر آپ ایسا کرتے ہیں، تو تمام کلائنٹس کو اس فیلڈ میں ایک ہی UDID کے ساتھ ایک سرٹیفکیٹ ملے گا اور ان کے لیے کچھ بھی کام نہیں کرے گا، کیونکہ انہیں اپنے مخصوص PC کے UDID کی ضرورت ہے۔ AnyConnect، بدقسمتی سے، ابھی تک UDID فیلڈ کے متبادل کو ماحولیاتی متغیر کے ذریعے سرٹیفکیٹ کی درخواست پروفائل میں لاگو نہیں کرتا ہے، جیسا کہ یہ کرتا ہے، مثال کے طور پر، متغیر کے ساتھ %USER%.
یہ بات قابل غور ہے کہ صارف (اس منظر نامے کا) ابتدائی طور پر ایسے پروٹیکٹڈ پی سی کو دستی موڈ میں دیے گئے UDID کے ساتھ آزادانہ طور پر سرٹیفکیٹ جاری کرنے کا ارادہ رکھتا ہے، جو اس کے لیے کوئی مسئلہ نہیں ہے۔ تاہم، ہم میں سے اکثر کے لیے ہم آٹومیشن چاہتے ہیں (اچھا، میرے لیے یہ سچ ہے =))۔
اور یہ وہی ہے جو میں آٹومیشن کے لحاظ سے پیش کر سکتا ہوں۔ اگر AnyConnect ابھی تک متحرک طور پر UDID کو تبدیل کرکے خود بخود سرٹیفکیٹ جاری کرنے کے قابل نہیں ہے، تو پھر ایک اور طریقہ ہے جس کے لیے تھوڑی تخلیقی سوچ اور ہنر مند ہاتھوں کی ضرورت ہوگی - میں آپ کو تصور بتاؤں گا۔ سب سے پہلے، آئیے دیکھتے ہیں کہ AnyConnect ایجنٹ کے ذریعے مختلف آپریٹنگ سسٹمز پر UDID کیسے تیار کیا جاتا ہے:
ونڈوز — DigitalProductID اور مشین SID رجسٹری کلید کے امتزاج کا SHA-256 ہیش
اس کے مطابق، ہم اپنے کارپوریٹ ونڈوز OS کے لیے ایک اسکرپٹ بناتے ہیں، اس اسکرپٹ کے ساتھ ہم مقامی طور پر معلوم ان پٹس کا استعمال کرتے ہوئے UDID کا حساب لگاتے ہیں اور اس UDID کو مطلوبہ فیلڈ میں داخل کرکے سرٹیفکیٹ جاری کرنے کی درخواست کرتے ہیں، ویسے، آپ مشین بھی استعمال کرسکتے ہیں۔ AD کی طرف سے جاری کردہ سرٹیفکیٹ (اسکیم میں سرٹیفکیٹ کا استعمال کرتے ہوئے دوہری تصدیق شامل کرکے ایک سے زیادہ سرٹیفکیٹ).
آئیے سسکو اے ایس اے کی طرف ترتیبات تیار کریں:
آئیے ISE CA سرور کے لیے ایک TrustPoint بنائیں، یہ وہی ہوگا جو کلائنٹس کو سرٹیفکیٹ جاری کرے گا۔ میں Key-chain درآمد کے طریقہ کار پر غور نہیں کروں گا؛ ایک مثال سیٹ اپ پر میرے مضمون میں بیان کی گئی ہے۔ VPN لوڈ بیلنسنگ کلسٹر.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
ہم سرٹیفکیٹ میں موجود فیلڈز کے مطابق قواعد کی بنیاد پر سرٹیفکیٹ گروپ کے ذریعے تقسیم کو ترتیب دیتے ہیں جو تصدیق کے لیے استعمال ہوتے ہیں۔ ہم نے پچھلے مرحلے پر جو AnyConnect پروفائل بنایا تھا وہ بھی یہاں ترتیب دیا گیا ہے۔ براہ کرم نوٹ کریں کہ میں قدر استعمال کر رہا ہوں۔ SECUREBANK-RA، جاری کردہ سرٹیفکیٹ والے صارفین کو ٹنل گروپ میں منتقل کرنے کے لیے سیکیور-بینک-وی پی اینبراہ کرم نوٹ کریں کہ میرے پاس یہ فیلڈ AnyConnect پروفائل سرٹیفکیٹ کی درخواست کے کالم میں ہے۔
تصدیقی سرورز کو ترتیب دینا۔ میرے معاملے میں، یہ تصدیق کے پہلے مرحلے کے لیے 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
!
ہم گروپ پالیسیاں اور ٹنل گروپس اور ان کے معاون اجزاء بناتے ہیں:
ٹنل گروپ ڈیفالٹWEBVPNGگروپ بنیادی طور پر AnyConnect VPN کلائنٹ کو ڈاؤن لوڈ کرنے اور ASA کے SCEP-Proxy فنکشن کا استعمال کرتے ہوئے صارف کا سرٹیفکیٹ جاری کرنے کے لیے استعمال کیا جائے گا؛ اس کے لیے ہمارے پاس ٹنل گروپ اور متعلقہ گروپ پالیسی دونوں پر متعلقہ آپشنز کو فعال کیا گیا ہے۔ AC- ڈاؤن لوڈ کریں۔، اور بھری ہوئی AnyConnect پروفائل پر (سرٹیفکیٹ جاری کرنے کے لیے فیلڈز وغیرہ)۔ اس گروپ پالیسی میں بھی ہم ڈاؤن لوڈ کرنے کی ضرورت کی نشاندہی کرتے ہیں۔ ISE پوسچر ماڈیول.
ٹنل گروپ سیکیور-بینک-وی پی این پچھلے مرحلے میں جاری کردہ سرٹیفکیٹ کے ساتھ تصدیق کرتے وقت کلائنٹ کے ذریعہ خود بخود استعمال کیا جائے گا، کیونکہ، سرٹیفکیٹ کے نقشے کے مطابق، کنکشن خاص طور پر اس ٹنل گروپ پر پڑے گا۔ میں یہاں آپ کو دلچسپ اختیارات کے بارے میں بتاؤں گا:
سیکنڈری-توثیق-سرور-گروپ DUO # DUO سرور (ریڈیس پراکسی) پر ثانوی توثیق سیٹ کریں
صارف نام سے سرٹیفکیٹ سی این # بنیادی توثیق کے لیے، ہم صارف لاگ ان کو وراثت میں حاصل کرنے کے لیے سرٹیفکیٹ کے CN فیلڈ کا استعمال کرتے ہیں۔
ثانوی صارف نام سے سرٹیفکیٹ I # DUO سرور پر ثانوی توثیق کے لیے، ہم سرٹیفکیٹ کے نکالے گئے صارف نام اور ابتدائی (I) فیلڈز استعمال کرتے ہیں۔
پری فل صارف نام کلائنٹ # صارف نام کو تبدیل کرنے کی صلاحیت کے بغیر تصدیق ونڈو میں پہلے سے بھرا ہوا بنائیں
سیکنڈری-پری-فل-یوزر نیم کلائنٹ کو چھپائیں استعمال-عام-پاس ورڈ پش # ہم ثانوی توثیق DUO کے لیے لاگ ان/پاس ورڈ ان پٹ ونڈو کو چھپاتے ہیں اور نوٹیفکیشن کا طریقہ استعمال کرتے ہیں (sms/push/phone) - پاس ورڈ فیلڈ کے بجائے تصدیق کی درخواست کرنے کے لیے ڈاک یہاں
!
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 اسٹیج - بنیادی توثیق کی پالیسی لاگ ان (سرٹیفکیٹ سے)/پاس ورڈ + یو ڈی آئی ڈی کی توثیق کے ساتھ سرٹیفکیٹ
3 اسٹیج - ثانوی توثیق بذریعہ Cisco DUO (MFA) UDID بطور صارف نام + ریاستی تشخیص
4 اسٹیج - حتمی اجازت ریاست میں ہے:
شکایت؛
UDID کی توثیق (سرٹیفکیٹ + لاگ ان بائنڈنگ سے)،
سسکو DUO MFA؛
لاگ ان کے ذریعے تصدیق؛
سرٹیفکیٹ کی تصدیق؛
آئیے ایک دلچسپ حالت دیکھتے ہیں۔ UUID_VALIDATEDایسا لگتا ہے کہ توثیق کرنے والا صارف درحقیقت کسی PC سے آیا ہے جس میں فیلڈ سے منسلک UDID کی اجازت ہے Description اکاؤنٹ، حالات اس طرح نظر آتے ہیں:
1,2,3 مراحل میں استعمال ہونے والی اجازت کا پروفائل درج ذیل ہے:
آپ ISE میں کلائنٹ سیشن کی تفصیلات دیکھ کر بالکل چیک کر سکتے ہیں کہ AnyConnect کلائنٹ سے UDID ہمارے پاس کیسے آتا ہے۔ تفصیل سے ہم دیکھیں گے کہ میکانزم کے ذریعے AnyConnect ACIDEX نہ صرف پلیٹ فارم کے بارے میں معلومات بھیجتا ہے بلکہ ڈیوائس کا UDID بھی بھیجتا ہے۔ Cisco-AV-PAIR:
آئیے صارف اور فیلڈ کو جاری کردہ سرٹیفکیٹ پر توجہ دیں۔ ابتدائیہ (I)، جسے Cisco DUO پر سیکنڈری MFA تصدیق کے لیے لاگ ان کے طور پر لینے کے لیے استعمال کیا جاتا ہے:
لاگ میں DUO Radius Proxy سائیڈ پر ہم واضح طور پر دیکھ سکتے ہیں کہ تصدیق کی درخواست کیسے کی جاتی ہے، یہ UDID کو بطور صارف نام استعمال کرتے ہوئے آتا ہے:
DUO پورٹل سے ہم ایک کامیاب تصدیقی ایونٹ دیکھتے ہیں:
اور صارف کی خصوصیات میں میں نے اسے ترتیب دیا ہے۔ عرف، جسے میں نے لاگ ان کے لیے استعمال کیا، بدلے میں، یہ پی سی کا یو ڈی آئی ڈی ہے جسے لاگ ان کے لیے اجازت دی گئی ہے:
نتیجے کے طور پر ہمیں ملا:
کثیر عنصر صارف اور آلہ کی توثیق؛
صارف کے آلے کی جعل سازی کے خلاف تحفظ؛
ڈیوائس کی حالت کا اندازہ لگانا؛
ڈومین مشین سرٹیفکیٹ وغیرہ کے ساتھ کنٹرول میں اضافہ کا امکان؛
خود کار طریقے سے تعینات سیکورٹی ماڈیولز کے ساتھ جامع دور دراز کام کی جگہ پر تحفظ؛