RADIUS OpenVPN වෙත සම්බන්ධ කිරීම: ප්ලගින් ද ස්ක්රිප්ට් හුක් ද?
පැරණි RADIUS ප්ලගින් සම්පාදනය කළ සේවාදායක බිල්ඩ් එකට බැඳී ඇත. auth-user-pass-verify හුක් එය වෙනුවට එන නමුත් විශ්වාසය ඔබේ ස්ක්රිප්ට් වෙතට ගෙන යයි.
ප්ලගින් තවමත් වර්තමාන බිල්ඩ්වලට වඩා පැරණි ත්රෙඩ්වල නිර්දේශ කෙරේ, සහ ඊයේ සම්පාදනය කළ සේවාදායකයක එය පූරණය වන විට අසාර්ථක වේ. මෙය මාර්ගයකින් නිවැරදි කළ හැකි වින්යාස දෝෂයක් නොවේ. ප්ලගින් සහ ස්ක්රිප්ට් හුක් එකම ගැටලුව විවිධ ස්තරවල විසඳයි, සහ එකකින් අනෙකට මාරු වීමෙන් ස්ථාපනය කළ යුතු දේ, සේවාදායක අවසර සමඟ ධාවනය වන දේ, සහ අසාර්ථක පිවිසුමක් ඔබට ඇත්තටම පවසන දේ වෙනස් වේ.
මිථ්යාව: ප්ලගින් යනු සහාය දක්වන මාර්ගයයි
ප්ලගින් යනු OpenVPN ක්රියාවලියට පූරණය වන හවුල් වස්තුවක්, එබැවින් එය එම ක්රියාවලිය විවෘත කරන අතුරුමුහුණතට ගැලපිය යුතුය. බිල්ඩ් වෙනස් වේ, ඇසුරුම්කරණය වෙනස් වේ, සහ පැරණි අතුරුමුහුණතකට සම්පාදනය කළ පුස්තකාලය පූරණය වීම ප්රතික්ෂේප කරයි. සේවාදායක වින්යාසයේ කිසිවකට එම පරතරය පිරවිය නොහැක, එබැවින් "radiusplugin පමණක් ස්ථාපනය කරන්න" යන උපදෙස ආරම්භ නොවන සේවාදායකයකින් අවසන් වේ.
ස්ක්රිප්ට් හුක් ඒ වෙනුවට ක්රියාවලියෙන් පිටත සිටී. OpenVPN වැඩසටහනක් ධාවනය කරයි, එයට අක්තපත්ර ලබා දෙයි සහ තීන්දුවක් කියවයි. එම වෙන්වීම නිසා එය උත්ශ්රේණිකරණ හරහා ජීවත් වේ, සහ එයම එය ප්ලගින් කිසිදා නොවූ ආකාරයෙන් ඔබේ වගකීම බවට පත් කරයි.
කිසිදු ප්රවේශයක් එහි ඉදිකිරීම අනුව වඩා ආරක්ෂිත නොවේ. එකක් ඩීමන් තුළ විදේශීය කේත ධාවනය කරයි; අනෙක අක්තපත්ර අතේ තබාගෙන ඔබේ කේතය එහි අසල ධාවනය කරයි. නිවැරදි ප්රශ්නය වන්නේ මෙම අවදානම් දෙකෙන් ඔබට සැබවින්ම කළමනාකරණය කළ හැක්කේ කුමක්ද යන්නයි.
ප්ලගින් එකට බැඳ තිබූ දේ
ප්ලගින් සතුව RADIUS සත්කාරකය, හවුල් රහස, නැවත උත්සාහ ගණන සහ කාල සීමාව සහිත තමන්ගේම වින්යාස ගොනුවක් තිබුණි, සහ සේවාදායක වින්යාසය එය එක් පේළියකින් යොමු කළේය. අක්තපත්ර හැසිරවීම සේවාදායක ක්රියාවලිය තුළම රැඳී තිබුණි, එනම් මුරපදය පරිපාලකයාට ආරක්ෂා කළ යුතු ක්රියාවලි සීමාවක් කිසිදා තරණය නොකළේය.
මිල වූයේ සම්බන්ධ බැඳීමයි. සෑම OpenVPN උත්ශ්රේණිකරණයක්ම නොගැළපෙන අතුරුමුහුණතක අවදානමක් ගෙන දුන්නේය, සහ ඇසුරුම නැවත ගොඩනඟන සෑම බෙදාහැරීමක්ම තවදුරටත් නොගැළපෙන පුස්තකාලයක් නිපදවීමේ අවදානමක් ගෙන දුන්නේය. එය සිදුවූ විට, අසාර්ථකත්වය ශබ්දාකාරී සහ ක්ෂණික වේ, සහ එය නිර්මාණයේ එකම දයාවයි.
එවැනි ප්ලගින් තවමත් ඔබේ බිල්ඩ් එකේ පූරණය වන්නේ නම්, එය කුඩා ක්රියාකාරී මතුපිට විය හැක. එය ගොඩනගා ඇති අතුරුමුහුණත තහවුරු කරන්න, ඔබ පරීක්ෂා කළ බිල්ඩ් එකට එය ඇමිණ තබන්න, සහ ඕනෑම උත්ශ්රේණිකරණයක් සාමාන්ය ඇසුරුම් යාවත්කාලීනයක් නොව සම්පූර්ණ පිවිසුම් පරීක්ෂණයක් අවශ්ය වෙනසක් ලෙස සලකන්න.
ස්ක්රිප්ට් හුක් ඇත්තටම විශ්වාස කරන්නේ කුමක්ද
හුක් auth-user-pass-verify සහ බෙදාහැරීමේ යාන්ත්රණයක් සමඟ වින්යාස කෙරේ: පරිසර විචල්ය හෝ තාවකාලි ගොනුවක්. පරිසර ආකාරයේදී OpenVPN ට script-security 3 අවශ්ය වේ, එය ස්ක්රිප්ට්වලට මුරපදය හෙළිදරව් කිරීමට ඉඩ දෙන ලේඛනගත මට්ටමයි. එම මට්ටම පෙරනිමියේ හිතාමතා දුර්වල කිරීමකි, සහ එය හේතුවක් සමඟ අමුණා ඇති අවසරයක් ලෙස සැලකිය යුතුය.
ස්ක්රිප්ට් ස්පර්ශ කරන සියල්ල එම විශ්වාසය උරුම කරගනී. එය root හිමිකම් ඇති, කණ්ඩායමට හෝ වෙනත් අයට ලිවිය නොහැකි, නිරපේක්ෂ මාර්ගයකින් යොමු කරන ලද, සහ විශ්වාස නොකළ අගයක් shell එකට ළඟා වන කිසිදු ස්ථානයකින් තොර විය යුතුය. සෑම විචල්යයක්ම උද්ධෘත ලකුණු තුළ තබන්න, අනපේක්ෂිත අක්ෂර ප්රතික්ෂේප කරන්න, සහ ලබා දුන් පරිශීලක නාමයෙන් කිසිදා විධානයක් ගොඩනඟන්න එපා. සෑම පිවිසුම් උත්සාහයකදීම root ලෙස ධාවනය වන ස්ක්රිප්ට් එකක් එම ගුණාංග හතර නිසාම එක් විමර්ශනයකට සුදුසුය.
ls -l /usr/local/sbin/radius-auth.sh
stat -c '%U %a' /usr/local/sbin/radius-auth.sh
ගොනු බෙදාහැරීමේ ආකාරය පරිසර උරුම ගැටලුව මඟහරින අතර සීමිත අවසර සහිත තාවකාලි ගොනුවක් හරහා ස්ක්රිප්ට් වෙත අක්තපත්ර ලබා දෙයි. ඔබේ සේවාලාභියා එයට සහාය දක්වන්නේ නම්, එය සාමාන්යයෙන් වඩා හොඳ පෙරනිමියයි, නමුත් අසාර්ථක විට පිරිසිදු කිරීමට තවත් වස්තුවක් එකතු කරයි.
පිටවීම් කේත තීරණය කරන්නේ ඔබ විවෘතව අසාර්ථක වේද යන්නයි
ස්ක්රිප්ටයේ පිටවීම් තත්ත්වය තීන්දුවයි: ශුන්ය පිළිගනී, ශුන්ය නොවන දේ ප්රතික්ෂේප කරයි. ගැටලු ඇති කරන රටාව වන්නේ RADIUS ප්රතිචාරයේ නිශ්චිත පිළිගැනීම් ටෝකනයක් ඇති විට පමණක් පිළිගෙන අනෙක් සියල්ලට අසාර්ථකත්වය ලබා දෙන shell ස්ක්රිප්ටයකි, මන්ද එය සිදුවීම් තුනක් එකම පිළිතුරකට ඒකාබද්ධ කරයි. වැරදි මුරපදය, ළඟා විය නොහැකි සේවාදායකය සහ විකෘති ප්රතිචාරය සියල්ලම එකම ප්රතික්ෂේපයක් බවට පත් වේ.
හුක් පිළිගැනීම හෝ ප්රතික්ෂේපය පමණක් ලබා දිය හැකි වුවද එම අවස්ථා ස්ක්රිප්ටයේ වෙන් කරන්න. පසුතල ප්රතිඵලය වෙන වෙනම සටහන් කරන්න, කාල සීමා සහ ප්රවාහන දෝෂ පිළිබඳව අනතුරු අඟවන්න, සහ සේවාව වැටී ඇති නිසාද නැතහොත් පරිශීලකයින් වැරදි ලෙස ටයිප් කරන නිසාද සත්යාපනය අසාර්ථක වන්නේ යැයි අධීක්ෂණයේ පැහැදිලි කරන්න.
පුරුදු දෙකක් ඉතිරිය සුවපත් කරයි. RADIUS අධිකාරිය නම්, මුරපදය පරීක්ෂා කරන එකම ස්ථානය එය විය යුතුය, මන්ද සෙවන වගුවක් එකම ප්රශ්නයට පිළිතුරු දෙකක් සාදයි, දෙවැන්න කිසිවෙකු නොබලන ප්රහාර මතුපිටකි. තවද හුක් සෑම නැවත උත්සාහයකදීම නැවත කැඳවන බව මතක තබාගන්න, එබැවින් මන්දගාමී ස්ක්රිප්ටයක් සහ ඉවසීමක් නැති සේවාලාභියෙක් RADIUS පැත්තේ ප්රමාදයක් හෝ ප්රතිපත්තියක් නොදැමුවහොත් මුරපද අනුමාන කිරීම සඳහා වර්ධකයක් බවට පත් වේ.
සහතිකය නැති වූ විට ඔබ අත්හරින්නේ කුමක්ද
මෙම හැඩයේ බොහෝ යෙදවීම් සේවාලාභී සහතික පරීක්ෂාව සම්පූර්ණයෙන්ම විසන්ධි කරයි, පරිශීලක නාමයක් සහ මුරපදයක් සේවාලාභියාගේ මුළු හිමිකම ලෙස තබයි. එම සැකසීම සමඟ අතුරුදහන් වන්නේ සහතික මත පදනම් වූ අනන්යතාවයයි. නාලිකාව සංකේතනය වී පවතී, නමුත් සේවාලාභියා නම් කරන එකම දේ RADIUS තීන්දුවයි. පෙර සහතික විෂයයක් මත රඳා පැවති ඕනෑම පහළ ගලන කිසිවක් දැන් පරිශීලක නාමය මත රඳා පැවතිය යුතුය.
අනන්යතාවය සත්යාපනය නොකළ සහකරුට අත්දැකීම පරීක්ෂා කිරීමට හෝ ගලා ඒමට නොහැකි වන පරිදි පාලන නාලිකා ආරක්ෂාව තබා ගන්න, සහ පරිශීලකයාට වින්යාසය පොදු නාමය මත රඳා පවතින විට username-as-common-name භාවිත කරන්න. කළමනාකරණය කරන ලද ද්වාර බොහෝ විට මෙය වෙනස් ලෙස විසඳයි, RADIUS සමඟ EAP-TLS කථා කරන ද්වාරයක සහතික සත්යාපනය අවසන් කරයි, සහ එම අවස්ථාවේදී මෙම සේවාදායක නිර්දේශ කිසිවක් අදාළ නොවේ. අසල්වැසි නිෂ්පාදනයේ නොව ඔබේම වේදිකාව ලේඛනගත කරන ආකෘතිය පිටපත් කරන්න. වැදගත් නිර්දේශ ප්රමාණවත් ලෙස වෙනස් වන බැවින් ඒවා මිශ්ර කිරීමෙන් විග්රහ වන සහ පසුව කිසිවෙකු සත්යාපනය නොකරන වින්යාසයක් ඇති වේ.