2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)

کارپوریٹ ماحول تک دور دراز تک رسائی فراہم کرنے کی ضرورت زیادہ سے زیادہ ابھر رہی ہے، اس سے قطع نظر کہ یہ آپ کے صارفین یا شراکت دار ہیں جنہیں آپ کی تنظیم میں کسی خاص سرور تک رسائی کی ضرورت ہے۔

ان مقاصد کے لیے، زیادہ تر کمپنیاں VPN ٹیکنالوجی کا استعمال کرتی ہیں، جس نے خود کو تنظیم کے مقامی وسائل تک رسائی فراہم کرنے کا ایک قابل اعتماد طریقے سے محفوظ طریقہ ثابت کیا ہے۔

میری کمپنی بھی اس سے مستثنیٰ نہیں تھی، اور ہم، بہت سے دوسرے لوگوں کی طرح، اس ٹیکنالوجی کو استعمال کرتے ہیں۔ اور، بہت سے دوسرے لوگوں کی طرح، ہم Cisco ASA 55xx کو ریموٹ ایکسیس گیٹ وے کے طور پر استعمال کرتے ہیں۔

جیسے جیسے دور دراز کے صارفین کی تعداد بڑھ رہی ہے، اسناد کے اجراء کے طریقہ کار کو آسان بنانے کی ضرورت ہے۔ لیکن ایک ہی وقت میں، یہ حفاظت سے سمجھوتہ کیے بغیر کیا جانا چاہیے۔

اپنے لیے، ہم نے سسکو ایس ایس ایل وی پی این کے ذریعے جڑنے کے لیے، ایک وقتی پاس ورڈز کا استعمال کرتے ہوئے دو عنصری تصدیق کے استعمال میں ایک حل تلاش کیا۔ اور یہ اشاعت آپ کو بتائے گی کہ ضروری سافٹ ویئر کے لیے کم سے کم وقت اور صفر لاگت کے ساتھ اس طرح کے حل کو کیسے ترتیب دیا جائے (بشرطیکہ آپ کے انفراسٹرکچر میں پہلے سے ہی Cisco ASA موجود ہو)۔

مارکیٹ ون ٹائم پاس ورڈ بنانے کے لیے باکسڈ سلوشنز سے بھری پڑی ہے، جب کہ انھیں حاصل کرنے کے لیے بہت سارے اختیارات پیش کیے جاتے ہیں، چاہے وہ SMS کے ذریعے پاس ورڈ بھیجنا ہو یا ٹوکنز، دونوں ہارڈ ویئر اور سافٹ ویئر (مثال کے طور پر، موبائل فون پر)۔ لیکن پیسے بچانے کی خواہش اور میرے آجر کے لیے پیسے بچانے کی خواہش نے، موجودہ بحران میں، مجھے مجبور کیا کہ میں ایک وقتی پاس ورڈ بنانے کے لیے ایک سروس کو لاگو کرنے کا مفت طریقہ تلاش کروں۔ جو، مفت ہونے کے باوجود، تجارتی حل سے زیادہ کمتر نہیں ہے (یہاں ہمیں ایک ریزرویشن کرنا چاہیے، یہ نوٹ کرتے ہوئے کہ اس پروڈکٹ کا تجارتی ورژن بھی ہے، لیکن ہم نے اتفاق کیا کہ ہماری لاگت، رقم میں، صفر ہوگی)۔

لہذا، ہمیں ضرورت ہو گی:

- ایک لینکس امیج جس میں ٹولز کے بلٹ ان سیٹ ہیں - ملٹی او ٹی پی، فری ریڈیئس اور اینجینکس، ویب کے ذریعے سرور تک رسائی کے لیے (http://download.multiotp.net/ - میں نے VMware کے لیے ایک ریڈی میڈ امیج استعمال کیا)
- ایکٹو ڈائریکٹری سرور
- سسکو ASA خود (سہولت کے لئے، میں ASDM استعمال کرتا ہوں)
- کوئی بھی سافٹ ویئر ٹوکن جو TOTP میکانزم کو سپورٹ کرتا ہے (مثال کے طور پر، میں Google Authenticator استعمال کرتا ہوں، لیکن وہی FreeOTP کرے گا)

میں اس کی تفصیلات میں نہیں جاؤں گا کہ تصویر کیسے سامنے آتی ہے۔ نتیجے کے طور پر، آپ کو ملٹی او ٹی پی اور فری ریڈیئس کے ساتھ ڈیبین لینکس موصول ہوگا، جو ایک ساتھ کام کرنے کے لیے ترتیب دیا گیا ہے، اور OTP انتظامیہ کے لیے ایک ویب انٹرفیس۔

مرحلہ 1۔ ہم سسٹم کو شروع کرتے ہیں اور اسے آپ کے نیٹ ورک کے لیے ترتیب دیتے ہیں۔
پہلے سے طے شدہ طور پر، سسٹم روٹ روٹ اسناد کے ساتھ آتا ہے۔ میرے خیال میں سب نے اندازہ لگایا ہے کہ پہلے لاگ ان کے بعد روٹ صارف کا پاس ورڈ تبدیل کرنا اچھا خیال ہوگا۔ آپ کو نیٹ ورک کی ترتیبات کو بھی تبدیل کرنے کی ضرورت ہے (بطور ڈیفالٹ یہ گیٹ وے '192.168.1.44' کے ساتھ '192.168.1.1' ہے)۔ اس کے بعد آپ سسٹم کو ریبوٹ کر سکتے ہیں۔

آئیے ایکٹو ڈائریکٹری میں صارف بنائیں او پی پیپاس ورڈ کے ساتھ مائی سپر پاس ورڈ.

مرحلہ 2۔ کنکشن قائم کریں اور ایکٹو ڈائریکٹری صارفین کو درآمد کریں۔
ایسا کرنے کے لیے، ہمیں کنسول تک اور براہ راست فائل تک رسائی کی ضرورت ہے۔ multiotp.php، جس کا استعمال کرتے ہوئے ہم کنکشن کی ترتیبات کو ایکٹو ڈائریکٹری میں ترتیب دیں گے۔

ڈائریکٹری پر جائیں۔ /usr/local/bin/multiotp/ اور باری باری درج ذیل کمانڈز پر عمل کریں:

./multiotp.php -config default-request-prefix-pin=0

اس بات کا تعین کرتا ہے کہ آیا ون ٹائم پن (0 یا 1) داخل کرتے وقت اضافی (مستقل) پن کی ضرورت ہے

./multiotp.php -config default-request-ldap-pwd=0

اس بات کا تعین کرتا ہے کہ آیا ون ٹائم پن (0 یا 1) داخل کرتے وقت ڈومین پاس ورڈ کی ضرورت ہے

./multiotp.php -config ldap-server-type=1

LDAP سرور کی قسم کی نشاندہی کی گئی ہے (0 = باقاعدہ LDAP سرور، ہمارے معاملے میں 1 = ایکٹو ڈائریکٹری)

./multiotp.php -config ldap-cn-identifier="sAMAccountName"

اس فارمیٹ کی وضاحت کرتا ہے جس میں صارف نام پیش کرنا ہے (یہ قدر ڈومین کے بغیر صرف نام ظاہر کرے گی)

./multiotp.php -config ldap-group-cn-identifier="sAMAccountName"

ایک ہی چیز، صرف ایک گروپ کے لیے

./multiotp.php -config ldap-group-attribute="memberOf"

یہ تعین کرنے کا طریقہ بتاتا ہے کہ آیا صارف کسی گروپ سے تعلق رکھتا ہے۔

./multiotp.php -config ldap-ssl=1

کیا مجھے LDAP سرور سے محفوظ کنکشن استعمال کرنا چاہئے (یقیناً، ہاں!)

./multiotp.php -config ldap-port=636

LDAP سرور سے مربوط ہونے کے لیے پورٹ

./multiotp.php -config ldap-domain-controllers=adSRV.domain.local

آپ کا ایکٹو ڈائریکٹری سرور کا پتہ

./multiotp.php -config ldap-base-dn="CN=Users,DC=domain,DC=local"

ہم اشارہ کرتے ہیں کہ ڈومین میں صارفین کی تلاش کہاں سے شروع کی جائے۔

./multiotp.php -config ldap-bind-dn="[email protected]"

ایک ایسے صارف کی وضاحت کریں جس کے پاس ایکٹو ڈائریکٹری میں تلاش کے حقوق ہوں۔

./multiotp.php -config ldap-server-password="MySuperPassword"

ایکٹو ڈائرکٹری سے جڑنے کے لیے صارف پاس ورڈ کی وضاحت کریں۔

./multiotp.php -config ldap-network-timeout=10

ایکٹو ڈائرکٹری سے منسلک ہونے کا ٹائم آؤٹ سیٹ کرنا

./multiotp.php -config ldap-time-limit=30

ہم نے صارف کی درآمد کے عمل کے لیے ایک وقت کی حد مقرر کی ہے۔

./multiotp.php -config ldap-activated=1

ایکٹو ڈائرکٹری کنکشن کنفیگریشن کو چالو کرنا

./multiotp.php -debug -display-log -ldap-users-sync

ہم ایکٹو ڈائریکٹری سے صارفین کو درآمد کرتے ہیں۔

مرحلہ 3۔ ٹوکن کے لیے ایک QR کوڈ بنائیں
یہاں سب کچھ انتہائی سادہ ہے۔ براؤزر میں OTP سرور کا ویب انٹرفیس کھولیں، لاگ ان کریں (منتظم کے لیے ڈیفالٹ پاس ورڈ تبدیل کرنا نہ بھولیں!)، اور "پرنٹ" بٹن پر کلک کریں:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
اس کارروائی کا نتیجہ ایک صفحہ ہوگا جس میں دو QR کوڈ ہوں گے۔ ہم ڈھٹائی سے ان میں سے پہلے کو نظر انداز کرتے ہیں (گوگل مستند / مستند / 2 قدموں کی تصدیق کنندہ کے پرکشش نوشتہ کے باوجود)، اور پھر ہم دلیری سے دوسرے کوڈ کو فون پر ایک سافٹ ویئر ٹوکن میں اسکین کرتے ہیں:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
(ہاں، میں نے جان بوجھ کر QR کوڈ کو خراب کر دیا تاکہ اسے پڑھنے کے قابل نہ بنایا جا سکے)۔

ان کارروائیوں کو مکمل کرنے کے بعد، آپ کی درخواست میں ہر تیس سیکنڈ میں چھ ہندسوں کا پاس ورڈ تیار ہونا شروع ہو جائے گا۔

اس بات کا یقین کرنے کے لئے، آپ اسے اسی انٹرفیس میں چیک کر سکتے ہیں:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
اپنے فون پر ایپلیکیشن سے اپنا صارف نام اور ایک بار کا پاس ورڈ درج کرکے۔ کیا آپ کو مثبت جواب ملا؟ تو ہم آگے بڑھتے ہیں۔

مرحلہ 4۔ FreeRADIUS آپریشن کی اضافی ترتیب اور جانچ
جیسا کہ میں نے اوپر ذکر کیا ہے، ملٹی او ٹی پی کو پہلے سے ہی FreeRADIUS کے ساتھ کام کرنے کے لیے کنفیگر کر دیا گیا ہے، جو کچھ باقی ہے وہ ہے ٹیسٹ چلانا اور ہمارے VPN گیٹ وے کے بارے میں معلومات FreeRADIUS کنفیگریشن فائل میں شامل کرنا۔

ہم سرور کنسول پر، ڈائریکٹری میں واپس آتے ہیں۔ /usr/local/bin/multiotp/درج کریں:

./multiotp.php -config debug=1
./multiotp.php -config display-log=1

مزید تفصیلی لاگنگ سمیت۔

FreeRADIUS کلائنٹس کنفیگریشن فائل میں (/etc/freeradius/clinets.conf) سے متعلق تمام لائنوں پر تبصرہ کریں۔ localhost اور دو اندراجات شامل کریں:

client localhost {
        ipaddr = 127.0.0.1
        secret          = testing321
        require_message_authenticator = no
}

- ٹیسٹ کے لیے

client 192.168.1.254/32 {
        shortname =     CiscoASA
        secret =        ConnectToRADIUSSecret
}

- ہمارے VPN گیٹ وے کے لیے۔

FreeRADIUS کو دوبارہ شروع کریں اور لاگ ان کرنے کی کوشش کریں:

radtest username 100110 localhost 1812 testing321

جہاں کا صارف کا نام = صارف نام، 100110 = فون پر ایپلی کیشن کے ذریعہ ہمیں دیا گیا پاس ورڈ، localhost = RADIUS سرور کا پتہ، 1812 - RADIUS سرور پورٹ، test321 - RADIUS سرور کلائنٹ پاس ورڈ (جس کی ہم نے تشکیل میں وضاحت کی ہے)۔

اس کمانڈ کا نتیجہ تقریباً اس طرح نکلے گا:

Sending Access-Request of id 44 to 127.0.0.1 port 1812
        User-Name = "username"
        User-Password = "100110"
        NAS-IP-Address = 127.0.1.1
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=44, length=20

اب ہمیں یہ یقینی بنانے کی ضرورت ہے کہ صارف کامیابی کے ساتھ تصدیق شدہ ہے۔ ایسا کرنے کے لیے، ہم خود multiotp کے لاگ کو دیکھیں گے۔

tail /var/log/multiotp/multiotp.log

اور اگر آخری اندراج ہے تو:

2016-09-01 08:58:17     notice  username  User    OK: User username successfully logged in from 127.0.0.1
2016-09-01 08:58:17     debug           Debug   Debug: 0 OK: Token accepted from 127.0.0.1

پھر سب کچھ ٹھیک ہو گیا اور ہم مکمل کر سکتے ہیں۔

مرحلہ 5: Cisco ASA کو ترتیب دیں۔
آئیے اس بات سے اتفاق کرتے ہیں کہ ہمارے پاس پہلے سے ہی SLL VPN کے ذریعے رسائی کے لیے ایک کنفیگرڈ گروپ اور پالیسیاں موجود ہیں، جو ایکٹو ڈائریکٹری کے ساتھ مل کر ترتیب دی گئی ہیں، اور ہمیں اس پروفائل کے لیے دو فیکٹر تصدیق شامل کرنے کی ضرورت ہے۔

1. ایک نیا AAA سرور گروپ شامل کریں:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
2. ہمارے ملٹی او ٹی پی سرور کو گروپ میں شامل کریں:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
3. ہم ترمیم کرتے ہیں۔ کنکشن پروفائل، ایکٹو ڈائریکٹری سرور گروپ کو مرکزی تصدیقی سرور کے طور پر ترتیب دینا:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
4. ٹیب میں۔ اعلی درجے کی -> توثیق ہم ایکٹو ڈائریکٹری سرور گروپ کو بھی منتخب کرتے ہیں:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
5. ٹیب میں۔ اعلی درجے کی -> سیکنڈری توثیق، تخلیق کردہ سرور گروپ کو منتخب کریں جس میں ملٹی او ٹی پی سرور رجسٹرڈ ہے۔ نوٹ کریں کہ سیشن کا صارف نام بنیادی AAA سرور گروپ سے وراثت میں ملا ہے:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
ترتیبات کو لاگو کریں اور

مرحلہ 6، عرف آخری
آئیے چیک کریں کہ آیا دو عنصر کی توثیق SLL VPN کے لیے کام کرتی ہے:

2FA پر جائیں (ASA SSL VPN کے لیے دو عنصر کی تصدیق)
Voila! Cisco AnyConnect VPN کلائنٹ کے ذریعے جڑتے وقت، آپ سے ایک سیکنڈ، ون ٹائم پاس ورڈ بھی طلب کیا جائے گا۔

مجھے امید ہے کہ یہ مضمون کسی کی مدد کرے گا، اور یہ کہ کسی کو اس کے استعمال کے بارے میں سوچنے کے لیے غذا فراہم کرے گا، مفت OTP سرور، دوسرے کاموں کے لیے۔ اگر آپ چاہیں تو کمنٹس میں شیئر کریں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں