2FA වෙත යන්න (ASA SSL VPN සඳහා ද්වි-සාධක සත්‍යාපනය)

ආයතනික පරිසරයකට දුරස්ථ ප්‍රවේශයක් ලබා දීමේ අවශ්‍යතාවය වැඩි වැඩියෙන් මතුවෙමින් පවතී, එය ඔබේ සංවිධානයේ විශේෂිත සේවාදායකයකට ප්‍රවේශය අවශ්‍ය වන්නේ ඔබේ පරිශීලකයන් හෝ හවුල්කරුවන්ද යන්න නොසලකා.

මෙම අරමුණු සඳහා, බොහෝ සමාගම් VPN තාක්‍ෂණය භාවිතා කරයි, එය සංවිධානයේ දේශීය සම්පත් වෙත ප්‍රවේශය ලබා දීමේ විශ්වාසදායක ආරක්ෂිත ක්‍රමයක් බව ඔප්පු වී ඇත.

මගේ සමාගම ව්යතිරේකයක් නොවූ අතර, අපි බොහෝ අය මෙන් මෙම තාක්ෂණය භාවිතා කරමු. තවද, වෙනත් බොහෝ අය මෙන්, අපි දුරස්ථ ප්‍රවේශ ද්වාරයක් ලෙස Cisco ASA 55xx භාවිතා කරමු.

දුරස්ථ පරිශීලකයින් සංඛ්යාව වැඩි වන විට, අක්තපත්ර නිකුත් කිරීමේ ක්රියා පටිපාටිය සරල කිරීමට අවශ්ය වේ. නමුත් ඒ සමඟම, මෙය ආරක්ෂාවට හානි නොවන පරිදි සිදු කළ යුතුය.

අප සඳහාම, අපි එක් වරක් මුරපද භාවිතා කරමින් Cisco SSL VPN හරහා සම්බන්ධ වීමට ද්වි-සාධක සත්‍යාපනය භාවිතා කිරීමේ විසඳුමක් සොයා ගත්තෙමු. අවශ්‍ය මෘදුකාංග සඳහා අවම කාලයක් සහ ශුන්‍ය පිරිවැයකින් එවැනි විසඳුමක් සංවිධානය කරන්නේ කෙසේදැයි මෙම ප්‍රකාශනය ඔබට කියනු ඇත (ඔබේ යටිතල ව්‍යුහයේ දැනටමත් Cisco ASA තිබේ නම්).

කෙටි පණිවුඩ හරහා මුරපදය යැවීම හෝ දෘඩාංග සහ මෘදුකාංග යන දෙකෙහිම (උදාහරණයක් ලෙස, ජංගම දුරකථනයක) ටෝකන භාවිතයෙන් ඒවා ලබා ගැනීම සඳහා විකල්ප රාශියක් ඉදිරිපත් කරන අතරම, එක්-වරක් මුරපද ජනනය කිරීම සඳහා කොටු විසඳුම් වලින් වෙළඳපල පිරී ඇත. නමුත් මුදල් ඉතිරි කිරීමට ඇති ආශාව සහ මගේ සේවායෝජකයා සඳහා මුදල් ඉතිරි කිරීමට ඇති ආශාව, වත්මන් අර්බුදය තුළ, එක් වරක් මුරපද උත්පාදනය කිරීම සඳහා සේවාවක් ක්රියාත්මක කිරීම සඳහා නිදහස් ක්රමයක් සොයා ගැනීමට මට බල කෙරුනි. එය නොමිලේ වුවද, වාණිජ විසඳුම් වලට වඩා පහත් නොවේ (මෙහිදී අපි වෙන් කරවා ගත යුතුය, මෙම නිෂ්පාදනයට වාණිජ අනුවාදයක් ද ඇති බව සඳහන් කරමින්, නමුත් අපගේ පිරිවැය මුදලින් ශුන්‍ය වනු ඇති බවට අපි එකඟ විය).

එබැවින්, අපට අවශ්ය වනු ඇත:

- වෙබය හරහා සේවාදායකයට ප්‍රවේශ වීම සඳහා බහුOTP, FreeRADIUS සහ nginx යන මෙවලම් කට්ටලයක් සහිත Linux රූපයක් (http://download.multiotp.net/ - මම VMware සඳහා සූදානම් කළ රූපයක් භාවිතා කළෙමි)
- ක්රියාකාරී නාමාවලි සේවාදායකය
— Cisco ASA ම (පහසුව සඳහා, මම ASDM භාවිතා කරමි)
— TOTP යාන්ත්‍රණයට සහය දක්වන ඕනෑම මෘදුකාංග ටෝකනයක් (උදාහරණයක් ලෙස, මම Google Authenticator භාවිතා කරමි, නමුත් එකම FreeOTP කරනු ඇත)

රූපය දිග හැරෙන ආකාරය පිළිබඳ විස්තර වලට මම නොයමි. එහි ප්‍රතිඵලයක් ලෙස, ඔබට දැනටමත් ස්ථාපනය කර ඇති multiOTP සහ FreeRADIUS සමඟ එක්ව වැඩ කිරීමට වින්‍යාස කර ඇති සහ OTP පරිපාලනය සඳහා වෙබ් අතුරු මුහුණතක් සහිත Debian Linux ලැබෙනු ඇත.

පියවර 1. අපි පද්ධතිය ආරම්භ කර එය ඔබගේ ජාලය සඳහා වින්‍යාස කරන්නෙමු
පෙරනිමියෙන්, පද්ධතිය මූල මූල අක්තපත්‍ර සමඟ පැමිණේ. පළමු ලොගින් වීමෙන් පසු root පරිශීලක මුරපදය වෙනස් කිරීම හොඳ අදහසක් යැයි මම සිතමි. ඔබට ජාල සැකසුම් වෙනස් කිරීමටද අවශ්‍ය වේ (පෙරනිමියෙන් එය '192.168.1.44' ද්වාරය සමඟ '192.168.1.1' වේ). ඊට පසු, ඔබට පද්ධතිය නැවත ආරම්භ කළ හැකිය.

අපි Active Directory එකේ user කෙනෙක් හදමු ප්ලොට්, මුරපදය සමඟ MySuperPassword.

පියවර 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

එක් වරක් pin එකක් ඇතුල් කිරීමේදී වසම් මුරපදයක් අවශ්‍යද යන්න තීරණය කරයි (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]"

Active Directory හි සෙවුම් හිමිකම් ඇති පරිශීලකයෙකු සඳහන් කරන්න

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

Active Directory වෙත සම්බන්ධ වීමට පරිශීලක මුරපදය සඳහන් කරන්න

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

සක්‍රීය නාමාවලියට සම්බන්ධ වීමට කල් ඉකුත්වීම සැකසීම

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

අපි පරිශීලක ආයාත මෙහෙයුම සඳහා කාල සීමාවක් නියම කරමු

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

Active Directory සම්බන්ධතා වින්‍යාසය සක්‍රිය කිරීම

./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 සමඟ වැඩ කිරීමට multiOTP දැනටමත් වින්‍යාස කර ඇත, ඉතිරිව ඇත්තේ පරීක්ෂණ ක්‍රියාත්මක කිරීම සහ FreeRADIUS වින්‍යාස ගොනුවට අපගේ VPN ද්වාරය පිළිබඳ තොරතුරු එක් කිරීම පමණි.

අපි නැවත සේවාදායක කොන්සෝලය වෙත, නාමාවලිය වෙත /usr/local/bin/multiotp/, ඇතුලත් කරන්න:

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

වඩාත් සවිස්තරාත්මක ලොග් කිරීම ඇතුළුව.

FreeRADIUS සේවාලාභීන්ගේ වින්‍යාස ගොනුවේ (/etc/freeradius/clinets.conf) සම්බන්ධ සියලුම රේඛා අදහස් දක්වන්න දේශීයව සහ ඇතුළත් කිරීම් දෙකක් එකතු කරන්න:

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 = දුරකථනයේ යෙදුම මගින් අපට ලබා දී ඇති මුරපදය, දේශීයව = RADIUS සේවාදායක ලිපිනය, 1812 - RADIUS සේවාදායක වරාය, පරීක්ෂා කිරීම - 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. අපගේ බහු OTP සේවාදායකය කණ්ඩායමට එක් කරන්න:

2FA වෙත යන්න (ASA SSL VPN සඳහා ද්වි-සාධක සත්‍යාපනය)
3. අපි සංස්කරණය කරනවා සම්බන්ධතා පැතිකඩ, සක්‍රීය නාමාවලි සේවාදායක කණ්ඩායම ප්‍රධාන සත්‍යාපන සේවාදායකය ලෙස සැකසීම:

2FA වෙත යන්න (ASA SSL VPN සඳහා ද්වි-සාධක සත්‍යාපනය)
4. ටැබ් උසස් -> සත්‍යාපනය අපි සක්‍රීය නාමාවලි සේවාදායක කණ්ඩායම ද තෝරා ගනිමු:

2FA වෙත යන්න (ASA SSL VPN සඳහා ද්වි-සාධක සත්‍යාපනය)
5. ටැබ් උසස් -> ද්විතියික සත්‍යාපනය, බහුOTP සේවාදායකය ලියාපදිංචි කර ඇති සාදන ලද සේවාදායක කණ්ඩායම තෝරන්න. සැසියේ පරිශීලක නාමය ප්‍රාථමික AAA සේවාදායක කණ්ඩායමෙන් උරුම වූ බව සලකන්න:

2FA වෙත යන්න (ASA SSL VPN සඳහා ද්වි-සාධක සත්‍යාපනය)
සැකසුම් යොදන්න සහ

පියවර 6, එනම් අවසාන එක
SLL VPN සඳහා ද්වි-සාධක සත්‍යාපනය ක්‍රියා කරන්නේ දැයි පරීක්ෂා කරමු:

2FA වෙත යන්න (ASA SSL VPN සඳහා ද්වි-සාධක සත්‍යාපනය)
Voila! Cisco AnyConnect VPN සේවාලාභියා හරහා සම්බන්ධ වන විට, ඔබෙන් දෙවන, එක් වරක් මුරපදයක් ඉල්ලා සිටිනු ඇත.

මෙම ලිපිය යමෙකුට උපකාරී වනු ඇතැයි මම බලාපොරොත්තු වෙමි, සහ මෙය භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳව යමෙකුට සිතීමට ආහාරයක් ලබා දෙනු ඇතැයි මම බලාපොරොත්තු වෙමි. නොමිලේ OTP සේවාදායකය, වෙනත් කාර්යයන් සඳහා. ඔබට අවශ්‍ය නම් අදහස් දැක්වීමේදී බෙදා ගන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න