AWS Client VPN සම්බන්ධයි, නමුත් EC2 තවමත් ප්රතිචාර දක්වන්නේ නැත
සම්බන්ධයි යනු සහතිකය හෝ SAML පිවිසුම සාර්ථක වූ බව පමණි. අවසර නීති, endpoint මාර්ග සහ ආරක්ෂක කණ්ඩායම් එකින් එක පෞද්ගලික සත්කාරකයට යන මාර්ගයේ කොටසක් ආරක්ෂා කරයි.
මගේ ලැප්ටොප් සම්බන්ධයි යැයි පෙන්විය. AWS Client VPN සේවාදායකය එහි හරිත තත්ත්වය පෙන්විය, endpoint එකක් සැසියක් වාර්තා කළේය, එසේ වුවත් මට පෞද්ගලික උපජාලයක EC2 අවස්ථාවක MongoDB වරාය විවෘත කළ නොහැකි විය. කිසිවක් පැහැදිලිව කැඩී නොතිබුණි: සහතිකය වලංගු විය, පැතිකඩ කොන්සෝලයෙන් පැමිණියේය, සහ උමග රථවාහන රැගෙන ගියේය. වැරැද්ද මගේ විය, මක්නිසාද යත් මා සම්බන්ධයි යන්න අනුමත ලෙස කියවමින් සිටි බැවිනි.
පිවිසුම එක් ප්රශ්නයකට පමණක් පිළිතුරු දෙයි: මෙම අනන්යතාවයට සැසියක් ස්ථාපිත කළ හැකිද? ඉන් පසු සියල්ල තීරණය කරන්නේ ඔබේ සහතිකය කිසිදා නොදකින වෙනම නීති ය. සත්යාපනය සමත් වන සැසිය සහ ළඟා වන පැකට්ටුව යනු වෙනස් සාර්ථකත්වයන් දෙකකි, ඒවා අතර ඇති පරතරය තමයි VPN ක්රියාත්මකයි නමුත් සත්කාරකයට ළඟා විය නොහැක වැනි බොහෝ පැමිණිලි ජීවත් වන තැන.
පහත පරීක්ෂණ මා දැන් භාවිතා කරන අනුපිළිවෙලයි.
සම්බන්ධිත සැසියක් සැබවින්ම ඔප්පු කරන්නේ කුමක්ද
Handshake අතරතුර endpoint සේවාදායක සහතිකය එහි trust store එකට එරෙහිව වලංගු කරයි, නැතහොත් SAML වින්යාස කර ඇති විට බ්රවුසරය ඔබේ අනන්යතා සපයන්නා වෙත යොමු කරයි. එය සමත් වුවහොත් සේවාදායකයට endpoint හි සේවාදායක CIDR එකෙන් ලිපිනයක් ලැබෙන අතර කොන්සෝලය සක්රීය සම්බන්ධතාවක් පෙන්වයි. එම හුවමාරුවේ කිසිදු මොහොතක 10.0.4.17 වෙත 27017 වරායෙන් ළඟා විය හැකිද යන්න කිසිවෙකු නොඅසයි.
ගමනාන්තයක් සඳහා අවසරය endpoint හි වෙනම වස්තුවකි. සෑම ප්රවාහයක්ම අවසර නීති සමඟ ගැලපෙන අතර සෑම නීතියක්ම ගමනාන්ත CIDR එක නීතිය ලබා දී ඇති කණ්ඩායම සමඟ යුගල කරයි. කිසිදු නීතියක් ගමනාන්තය ආවරණය නොකරන්නේ නම්, endpoint සැසිය පිළිගෙන රථවාහන ඉවත දමයි. බැනරයක් නැත, නැවත සම්බන්ධ වීමේ ලූපයක් නැත, සහ ප්රතික්ෂේප කළා යැයි පවසන කිසිවක් සේවාදායක අතුරුමුහුණතේ නැත.
අවසර නීතිය VPC සමඟ නොව, සම්පත් සමඟ සසඳන්න
නීති ලැයිස්තුගත කර ඒවා අවස්ථාවට සැබවින්ම ඇති ලිපිනය අසල තබන්න:
aws ec2 describe-client-vpn-authorization-rules \
--client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6a7b8ප්රතිදානය සෑම නීතියකටම ගමනාන්ත CIDR එකක් සහ කණ්ඩායම් ID එකක් පෙන්වයි. එහි අසාර්ථකතා දෙකක් සැඟවී ඇත. නීතිය 10.0.0.0/16 ට අවසර දිය හැකි අතර අවස්ථාව 10.1.0.0/16 හි peer කළ VPC එකක පිහිටා තිබිය හැක; peering මාර්ගය පවතී, නමුත් දෙවන පරාසය සඳහා කිසිවෙකු අවසර නීතියක් ලියා නැත. නැතහොත් නීතිය පරිශීලකයා නාමාවලියේ සාමාජිකයෙකු වන නමුත් endpoint ඇගයීමට ලක් කරන කණ්ඩායමේ නොවන නාමාවලි කණ්ඩායමකට යොමු කරයි.
ගමනාන්තය ආවරණය කරන පටුම නීතිය ලියන්න, සහ දෙවන CIDR ඇත්තටම අවශ්ය විට පමණක් දෙවන නීතිය එක් කරන්න. ඉක්මන් ආරම්භයකින් එන පුළුල් 0.0.0.0/0 නීතිය ක්රියා කරයි, එබැවින්ම එය නිෂ්පාදනය දක්වා නොනැසී පවතින අතර ආකෘතිය සඟවයි.
පැකට්ටුව චලනය වේද යන්න තීරණය කරන්නේ මාර්ග වගු දෙකකි
endpoint මාර්ගයක් ගමනාන්ත CIDR එක endpoint සම්බන්ධ වී ඇති උපජාලයකට සිතියම් කරයි. එය මාර්ගයේ අඩකි. උපජාලයේම මාර්ග වගුව තවමත් පැකට්ටුව ඉදිරියට යවන ආකාරය දැන සිටිය යුතුය, සහ ගමනාන්තය peering සම්බන්ධතාවක, transit gateway එකක හෝ site-to-site උමගකින් ළඟා විය හැකි පරාසයක පිටුපස ඇති මොහොතේ එය වැදගත් වේ.
aws ec2 describe-client-vpn-routes \
--client-vpn-endpoint-id cvpn-endpoint-0a1b2c3d4e5f6a7b8ගමනාන්තය සම්පත් CIDR එකට ගැලපෙන සහ ඉලක්කය සම්බන්ධිත උපජාලයක් වන මාර්ගයක් සොයන්න. මාර්ගය නොමැති නම් එක් කරන්න. එය තිබියදීත් සත්කාරකය නිහඬ නම්, පරතරය VPC පැත්තේ ය, එබැවින් සම්බන්ධතා උපජාලයේ මාර්ග වගුව සමඟ සසඳන්න.
සේවාදායක පැත්තේ එක් සැකසුමක් උමග නොකඩා මාර්ගගත කිරීම කඩයි: route-nopull අඩංගු පැතිකඩක්. මෙම උපදෙස OpenVPN මත පදනම් වූ සේවාදායකයට සර්වරය තල්ලු කරන මාර්ග නොසලකා හරින ලෙස පවසයි, එබැවින් අතුරුමුහුණත එයටම ඇති endpoint ලිපිනය සමඟ පමණක් ඉහළ එන අතර ගමනාන්තයට මාර්ගයක්ම නැත. Linux හි ip route show හෝ macOS හි netstat -rn භාවිතා කර tun අතුරුමුහුණත හරහා මාර්ගයක් ඇත්දැයි පරීක්ෂා කරන්න. නොමැති නම්, අපනයනය කළ පැතිකඩෙන් route-nopull ඉවත් කර තල්ලු කළ මාර්ග යෙදෙන පරිදි නැවත සම්බන්ධ වන්න.
ආරක්ෂක කණ්ඩායම් ඔබේ සේවාදායක ලිපිනය නොදකිති
මම අවසර දීමට සම්පූර්ණ දහවලක් වැරදි ලෙස තබාගෙන සිටි කොටස මෙයයි. උපජාලයකට සම්බන්ධ IPv4 endpoint එකක් සඳහා, සේවාව සේවාදායකයේ මූලාශ්ර ලිපිනය එම උපජාලයේ endpoint හි ජාල අතුරුමුහුණතේ ලිපිනයට පරිවර්තනය කරයි. අවස්ථාවට ළඟා වන පැකට්ටුව ඔබේ සේවාදායකය පෙන්වූ ලිපිනය රැගෙන නොයයි, එබැවින් සේවාදායක තටාකය, කියමු 172.16.0.0/22, අවසර දෙන ආරක්ෂක කණ්ඩායම් නීතිය කිසිවක් සමඟ නොගැලපේ.
වරායට සේවාදායක CIDR එකෙන් නොව, සම්බන්ධතාවයේ අතුරුමුහුණතට සවි කර ඇති endpoint හි ආරක්ෂක කණ්ඩායමෙන් අවසර දෙන්න. කණ්ඩායමට යොමු වීම ලිපිනය දෘඩ කේතනය කිරීමට වඩා ටිකාක් පවතී, මක්නිසාද අතුරුමුහුණතේ ලිපිනය ඔබේ පාලනයේ නැති බැවිනි. ජාල ACL තත්ත්ව රහිත ය, එබැවින් අභිරුචි සටහන් ඇති තැන ඇතුළට සහ පිටතට යන දිශා දෙකම ප්රවාහයට අවසර දිය යුතුය.
අවස්ථාවේ පෞද්ගලික ලිපිනයට ද සම්බන්ධ වන්න. පොදු IP පැකට්ටුව VPC එකෙන් පිටතට ගෙන වෙනත් නීති සහිත වෙනත් මාර්ගයකින් ආපසු ගෙන එයි, එබැවින් පොදු ලිපිනයේ පරීක්ෂණය පෞද්ගලික මාර්ගය ගැන කිසිවක් නොකියයි.
පළමු අසාර්ථකත්වයේදී නතර වන හුදකලා කිරීමේ අනුපිළිවෙල
මේවා අනුපිළිවෙලට කර එකක් අසාර්ථක වන තැන නවතින්න. සෑම පියවරක්ම සියලු ස්තර නොව, එක් ස්තරයක් බැහැර කරයි.
- සැසිය භාවිතා කළේ කුමන අනන්යතාවයද සහ endpoint ඇගයීමට ලක් කරන්නේ කුමන කණ්ඩායමද යන්න තහවුරු කරන්න. එක් trust store එකක සහතිකයක් නාමාවලියෙන් එන SAML ප්රකාශයක් හා සමාන ප්රධාන පාර්ශ්වයක් නොවේ.
- අවසර නීතියක් එම කණ්ඩායම සඳහා සම්පත් CIDR එක ආවරණය කරන බව තහවුරු කරන්න.
- endpoint මාර්ගයක් පවතින බවත් එය සම්බන්ධිත උපජාලයක් ඉලක්ක කරන බවත්, පසුව උපජාලයේ මාර්ග වගුවට තවදුරටත් යැවිය හැකි බවත් තහවුරු කරන්න.
- ආරක්ෂක කණ්ඩායම වරායට සේවාදායක තටාකයෙන් නොව, endpoint අතුරුමුහුණතින් අවසර දෙන බව තහවුරු කරන්න.
- යෙදුම් ගැටලුව සේවාදායක මාර්ග ගැටලුවෙන් වෙන් කිරීමට VPC ඇතුළතින්, එම උපජාලයේ තවත් අවස්ථාවක SSM සැසියක් සමඟ පරීක්ෂා කරන්න.
පියවර තීරණාත්මක නොවන විට මා රැඳෙන්නේ මෙම වගුවේය:
| Symptom | Layer to inspect |
|---|---|
| Client shows connected, host times out, no byte growth on the interface | Authorization rule, then security group |
| Ping fails but a TCP connect to the port succeeds | ICMP is blocked; not an access failure |
| Tunnel reconnects every few minutes | Two machines sharing one client certificate |
| Works on one laptop, fails on another | Local profile has route-nopull or stale pushed routes |
ගිණුමේ විස්තර දෙකක් අවසර අසාර්ථකත්වයක් මෙන් පෙනෙන රෝග ලක්ෂණ ඇති කරයි. සෑම පරිශීලකයෙකුටම වෙනම සේවාදායක සහතිකයක් අවශ්යය. එකක් යන්ත්ර දෙකක බෙදාගැනීමෙන් සැසි එකිනෙක තල්ලු කරයි, ප්රතිඵලය ප්රතික්ෂේපයක් නොව නැවත සම්බන්ධ වීමේ ලූපයකි. නව endpoint එකක් සාදන විට කොන්සෝලය DNS නාමයක් පෙන්වයි, එය සමහර සේවාදායක අනුවාද endpoint පිටුවේ පෙන්වන අහඹු උපසර්ගය සමඟ පමණක් පිළිගනී, එබැවින් නැවත ගොඩනැගීම වෙනුවට සම්පූර්ණ නාමය පිටපත් කරන්න.
පස්වන පියවර ඔබව අවහිර කරන්නේ නම්, කිසිවක් වෙනස් කිරීමට පෙර endpoint හි සම්බන්ධතා ලොගය ගෙන අවසර සටහන් කියවන්න. ලොගය පරීක්ෂා කළ ගමනාන්තය සහ ගැලපුණු හෝ නොගැලපුණු නීතිය නම් කරයි, එය ස්තර හතරක ප්රශ්නය එක් පිළිතුරකට තල්ලු කරයි.