1 වන කොටස: පුරනය වන්නේ කෙසේද?
සත්යාපනය සඳහා සේවාදායක පැත්තේ ඇති ස්ක්රිප්ටයකට අගයන් තැපැල් කරන පිවිසුම් + මුරපද HTML පෝරමයක් සාදා ගන්නේ කෙසේදැයි ඔබ දැනටමත් දන්නා බව අපි උපකල්පනය කරමු. පහත දැක්වෙන කොටස් හොඳ ප්රායෝගික සත්යාපනය සඳහා රටා සහ වඩාත් සුලභ ආරක්ෂක වළලු වළක්වා ගන්නේ කෙසේද යන්න සමඟ කටයුතු කරනු ඇත.
HTTPS වෙතද නැතහොත් HTTPS වෙතද?
සම්බන්ධතාවය දැනටමත් සුරක්ෂිත නොවන්නේ නම් (එනම්, එස්එස්එල් / ටීඑල්එස් භාවිතා කරමින් එච්ටීටීපීඑස් හරහා උමං කර ඇත), ඔබේ පිවිසුම් පෝරමයේ අගයන් පැහැදිලි පා text යෙන් යවනු ලැබේ, එමඟින් බ්රව්සරය සහ වෙබ් සේවාදායකය අතර ඇති රේඛාව සවන් දෙන ඕනෑම කෙනෙකුට පිවිසුම් කියවීමේ හැකියාව ලැබේ. තුලින්. මෙම වර්ගයේ වයර් ටැප් කිරීම සාමාන්යයෙන් රජයන් විසින් සිදු කරනු ලැබේ, නමුත් පොදුවේ ගත් කල, අපි මෙය පැවසීම හැර 'අයිති' වයර් අමතන්නේ නැත: HTTPS භාවිතා කරන්න.
සාරාංශයක් ලෙස, පිවිසීමේදී වයර් ටැප් / පැකට් මංකොල්ලකෑමෙන් ආරක්ෂා වීමට ඇති එකම ප්රායෝගික ක්රමය වන්නේ HTTPS හෝ වෙනත් සහතික මත පදනම් වූ සංකේතාංකන ක්රමයක් (උදාහරණයක් ලෙස TLS ) හෝ ඔප්පු කළ සහ පරීක්ෂා කළ අභියෝග-ප්රතිචාර දැක්වීමේ ක්රමයක් භාවිතා කිරීමයි (නිදසුනක් ලෙස, ඩිෆි-හෙල්මන් පදනම් වූ SRP). වෙනත් ඕනෑම ක්රමයක් සවන් දෙන ප්රහාරකයෙකුට පහසුවෙන් වළක්වා ගත හැකිය .
ඇත්ත වශයෙන්ම, ඔබ ටිකක් ප්රායෝගික නොවන බව ලබා ගැනීමට කැමති නම්, ඔබට යම් ආකාරයක ද්වි-සාධක සත්යාපන යෝජනා ක්රමයක් ද භාවිතා කළ හැකිය (උදා: ගූගල් ඔටෙන්ටිකේටර් ඇප්, භෞතික 'සීතල යුද විලාසිතාවේ' කේත පොතක් හෝ ආර්එස්ඒ යතුරු උත්පාදක ඩොන්ගල්). නිවැරදිව යෙදුනහොත්, මෙය අනාරක්ෂිත සම්බන්ධතාවයකින් පවා ක්රියා කළ හැකි නමුත්, එස්එස්එල් නොව, සාධක දෙකක සත්යාපනය ක්රියාත්මක කිරීමට දේව් කැමති වනු ඇතැයි සිතීම දුෂ්කර ය.
(නොකරන්න) ඔබේම ජාවාස්ක්රිප්ට් සංකේතනය / හැෂිං රෝල් කරන්න
ඔබේ වෙබ් අඩවියේ SSL සහතිකයක් සැකසීමේ (දැන් වළක්වා ගත හැකි ) පිරිවැය සහ තාක්ෂණික දුෂ්කරතා සැලකිල්ලට ගෙන, සමහර සංවර්ධකයින් අනාරක්ෂිත වයරයක් හරහා පැහැදිලි පා log මාලා ප්රවේශ වීම වළක්වා ගැනීම සඳහා තමන්ගේම බ්රව්සරයේ හැෂිං හෝ සංකේතාංකන යෝජනා ක්රම රෝල් කිරීමට පෙළඹේ.
මෙය උතුම් චින්තනයක් වන අතර, එය ඉහත සඳහන් එකක් සමඟ සංයුක්ත නොවන්නේ නම් එය අත්යවශ්යයෙන්ම නිෂ් less ල ය (සහ එය ආරක්ෂක දෝෂයක් විය හැකිය ) - එනම්, ශක්තිමත් සංකේතනයකින් රේඛාව සුරක්ෂිත කිරීම හෝ උත්සාහ කළ හා පරීක්ෂා කළ අභියෝග-ප්රතිචාරයක් භාවිතා කිරීම යාන්ත්රණය (එය කුමක්දැයි ඔබ නොදන්නේ නම්, එය ඔප්පු කිරීමට වඩාත්ම දුෂ්කර, සැලසුම් කිරීමට වඩාත්ම දුෂ්කර සහ ඩිජිටල් ආරක්ෂාව පිළිබඳ සංකල්ප ක්රියාත්මක කිරීමට වඩාත්ම දුෂ්කර එකක් බව දැන ගන්න).
මුරපදය හෙළිදරව් කිරීමට එරෙහිව මුරපදය හැෂ් කිරීම effective ලදායී විය හැකි බව සත්යයක් වුවත් , එය නැවත ධාවනය කිරීම, මෑන්-ඉන්-ද-මිඩ්ල් ප්රහාර / කොල්ලකෑම් (ප්රහාරකයාට ඔබේ අනාරක්ෂිත HTML පිටුවට බයිට් කිහිපයක් එන්නත් කළ හැකි නම් එය ඔබගේ ළඟා වීමට පෙර බ්රව්සරය, ඔවුන්ට ජාවාස්ක්රිප්ට් හි ඇති හැෂිං ගැන සරලව අදහස් දැක්විය හැකිය), හෝ තිරිසන් බල ප්රහාර (ඔබ ප්රහාරකයාට පරිශීලක නාමය, ලුණු සහ හැෂ් මුරපදය යන දෙකම භාර දෙන බැවින්).
මනුෂ්යත්වයට එරෙහි කැප්චස්
කැප්චා යනු එක් විශේෂිත ප්රහාරක කාණ්ඩයක් මැඩපැවැත්වීමට ය: ස්වයංක්රීය ශබ්දකෝෂය / තිරිසන් බලය අත්හදා බැලීම සහ දෝෂය මිනිස් ක්රියාකරුවෙකු නොමැතිව. මෙය සැබෑ තර්ජනයක් බවට කිසිදු සැකයක් නැත, කෙසේ වෙතත්, කැප්චා අවශ්ය නොවන, විශේෂයෙන් නිසි ලෙස සැලසුම් කර ඇති සේවාදායක පාර්ශව පිවිසුම් තෙරපුම් යෝජනා ක්රම අවශ්ය නොවන පරිදි එය සමඟ ගනුදෙනු කිරීමේ ක්රම තිබේ - අපි පසුව ඒවා සාකච්ඡා කරමු.
කැප්චා ක්රියාත්මක කිරීම එක හා සමානව නිර්මාණය වී නැති බව දැන ගන්න; ඒවා බොහෝ විට මිනිසුන්ට විසඳිය නොහැකි ඒවා වන අතර ඒවායින් බොහොමයක් බොට් වලට එරෙහිව අකාර්යක්ෂම වේ, ඒවා සියල්ලම ලාභ තුන්වන ලෝකයේ ශ්රමයට එරෙහිව අකාර්යක්ෂම වේ ( OWASP ට අනුව , වර්තමාන දහඩිය දැමීමේ අනුපාතය පරීක්ෂණ 500 කට ඩොලර් 12 කි), සහ සමහර ක්රියාත්මක කිරීම් විය හැකිය සමහර රටවල තාක්ෂණිකව නීති විරෝධී ය ( OWASP සත්යාපන වංචා පත්රය බලන්න ). ඔබ CAPTCHA භාවිතා කළ යුතු නම්, ගූගල් හි reCAPTCHA භාවිතා කරන්න , එය අර්ථ දැක්වීම අනුව OCR- අමාරු බැවින් (එය දැනටමත් OCR- වැරදි වර්ගීකරණය කළ පොත් පරිලෝකන භාවිතා කරන බැවින්) සහ පරිශීලක-හිතකාමී වීමට දැඩි උත්සාහයක් දරයි.
පුද්ගලිකව, මම කැප්චස් කරදරකාරී යැයි සොයා ගැනීමට නැඹුරු වන අතර, පරිශීලකයෙකු කිහිප වතාවක් ලොග් වීමට අපොහොසත් වූ විට සහ ප්රමාද ප්රමාදයන් උපරිම වූ විට පමණක් ඒවා අවසාන උපක්රමයක් ලෙස භාවිතා කරමි. මෙය පිළිගත හැකි තරම් කලාතුරකින් සිදුවන අතර එය සමස්තයක් ලෙස පද්ධතිය ශක්තිමත් කරයි.
මුරපද ගබඩා කිරීම / පිවිසුම් සත්යාපනය කිරීම
මෑත වසරවල අප දැක ඇති ඉහළ ප්රසිද්ධියක් ලබා ඇති හක්ක සහ පරිශීලක දත්ත කාන්දු වීමෙන් පසුව මෙය අවසාන වශයෙන් පොදු දැනුමක් විය හැකිය, නමුත් එය පැවසිය යුතුය: මුරපද ඔබේ දත්ත ගබඩාවේ පැහැදිලි පා in වල ගබඩා නොකරන්න. SQL එන්නත් කිරීම මඟින් පරිශීලක දත්ත සමුදායන් සාමාන්යයෙන් හැක් කර, කාන්දු වී හෝ ලබා ගනී, ඔබ අමු, සරල පෙළ මුරපද ගබඩා කරන්නේ නම්, එය ඔබගේ පිවිසුම් ආරක්ෂාව සඳහා ක්ෂණික ක්රීඩාවකි.
ඔබට මුරපදය ගබඩා කළ නොහැකි නම්, පිවිසුම් පෝරමයෙන් පළ කරන ලද පිවිසුම් + මුරපද සංයෝජනය නිවැරදි දැයි ඔබ පරීක්ෂා කරන්නේ කෙසේද? පිළිතුර වන්නේ ව්යුත්පන්න ශ්රිතයක් භාවිතයෙන් හෑෂ් කිරීමයි . නව පරිශීලකයෙකු නිර්මාණය කරන විට හෝ මුරපදයක් වෙනස් කළ විට, ඔබ මුරපදය ගෙන එය ආර්ගොන් 2, බීක්රිප්ට්, ස්ක්රිප්ට් හෝ පීබීකේඩීඑෆ් 2 වැනි කේඩීඑෆ් හරහා ධාවනය කර, පැහැදිලි පා password ය මුරපදය ("නිවැරදි අශ්වාරෝහක බැටරිස්ටැපල්") දිගු අහඹු ලෙස පෙනෙන නූලක් බවට පත් කරයි. , එය ඔබගේ දත්ත ගබඩාවේ ගබඩා කිරීමට වඩා ආරක්ෂිත වේ. පුරනය වීමක් සත්යාපනය කිරීම සඳහා, ඔබ ඇතුලත් කළ මුරපදය මත එකම හැෂ් ශ්රිතය ක්රියාත්මක කරයි, මේ වතාවේ ලුණු තුළට ගොස් එහි ප්රති has ලයක් ලෙස ඇති හැෂ් නූල් ඔබේ දත්ත ගබඩාවේ ගබඩා කර ඇති අගයට සංසන්දනය කරන්න. Argon2, bcrypt සහ scrypt දැනටමත් හැෂ් සමඟ ලුණු ගබඩා කරන්න. වැඩි විස්තර සඳහා sec.stackexchange හි මෙම ලිපිය බලන්න .
ලුණු භාවිතා කිරීමට හේතුව එය තුළම සේදීම ප්රමාණවත් නොවීමයි - දේදුන්න මේසවලට එරෙහිව හැෂ් ආරක්ෂා කිරීම සඳහා ඊනියා 'ලුණු' එක් කිරීමට ඔබට අවශ්ය වනු ඇත . එකම ලෑලි අගයක් ලෙස හරියටම ගැලපෙන මුරපද දෙකක් ලුණු effectively ලදායී ලෙස වළක්වයි, ප්රහාරකයෙකු මුරපද අනුමාන ප්රහාරයක් සිදු කරන්නේ නම් මුළු දත්ත ගබඩාවම එකවර ධාවනය කිරීම වළක්වයි.
මුරපද ආචයනය සඳහා ගුප්ත ලේඛන හැෂ් භාවිතා නොකළ යුතුය, මන්ද පරිශීලකයා විසින් තෝරාගත් මුරපද ප්රමාණවත් තරම් ශක්තිමත් නොවේ (එනම් සාමාන්යයෙන් ප්රමාණවත් එන්ට්රොපිය අඩංගු නොවේ) සහ මුරපද අනුමාන කිරීමේ ප්රහාරයක් සාපේක්ෂව කෙටි කාලයක් තුළදී ප්රහාරකයන්ට හැෂ් වෙත ප්රවේශය ඇත. කේඩීඑෆ් භාවිතා කරන්නේ මේ නිසාය - මේවා effectively ලදායි ලෙස “යතුර දිගු කරයි” , එයින් අදහස් කරන්නේ ප්රහාරකයෙකු කරන සෑම මුරපදයක්ම අනුමාන කරන්නේ හැෂ් ඇල්ගොරිතමයේ බහුවිධ පුනරාවර්තනයන් ඇති කිරීමට ය, උදාහරණයක් ලෙස 10,000 වතාවක්, එමඟින් ප්රහාරකයා මුරපදය 10,000 ගුණයකින් මන්දගාමී යැයි අනුමාන කරයි.
සැසි දත්ත - "ඔබ ස්පයිඩර්මන් 69 ලෙස ලොග් වී ඇත"
සේවාදායකයා ඔබගේ පරිශීලක දත්ත ගබඩාවට එරෙහිව පිවිසුම් සහ මුරපදය සත්යාපනය කර ගැලපීමක් සොයාගත් පසු, බ්රව්සරය සත්යාපනය කර ඇති බව මතක තබා ගැනීමට පද්ධතියට ක්රමයක් අවශ්ය වේ. මෙම කරුණ කවදා හෝ ගබඩා කළ යුත්තේ සැසි දත්තවල සේවාදායක පැත්ත පමණි.
සැසි දත්ත පිළිබඳව ඔබට නුහුරු නම්, එය ක්රියාත්මක වන ආකාරය මෙන්න: අහඹු ලෙස ජනනය කරන ලද නූලක් කල් ඉකුත් වන කුකියක් තුළ ගබඩා කර ඇති අතර සේවාදායකයේ ගබඩා කර ඇති දත්ත එකතුවක් - සැසි දත්ත - යොමු කිරීමට භාවිතා කරයි. ඔබ MVC රාමුවක් භාවිතා කරන්නේ නම්, මෙය නිසැකවම දැනටමත් හසුරුවා ඇත.
හැකි නම්, බ්රවුසරයට යවන විට සැසි කුකියේ ආරක්ෂිත සහ HTTP පමණක් ධජ සකසා ඇති බවට වග බලා ගන්න. HttpOnly ධජය XSS ප්රහාරය හරහා කියවන කුකියට එරෙහිව යම් ආරක්ෂාවක් සපයයි. ආරක්ෂිත ධජය මඟින් කුකිය ආපසු එවනු ලබන්නේ HTTPS හරහා පමණක් වන අතර එමඟින් ජාල මංකොල්ලකෑම් ප්රහාර වලින් ආරක්ෂා වේ. කුකියේ වටිනාකම පුරෝකථනය නොකළ යුතුය. නොපවතින සැසිය පිලිබඳව සඳහන් කුකීස් ඉදිරිපත් කර ඇති අවස්ථාවකදී, එහි අගය වැළැක්වීම සඳහා වහා මාරු කළ යුතුය සැසිය එල්බී .
දෙවන කොටස: පුරනය වී ඇති ආකාරය - කුප්රකට "මාව මතක තබා ගන්න" පිරික්සුම් කොටුව
නිරන්තර පිවිසුම් කුකීස් ("මාව මතක තබා ගන්න" ක්රියාකාරිත්වය) අවදානම් කලාපයකි; එක් අතකින්, පරිශීලකයින් ඒවා හැසිරවිය යුතු ආකාරය තේරුම් ගත් විට ඒවා සම්ප්රදායික පිවිසුම් මෙන් මුළුමනින්ම ආරක්ෂිත වේ; අනෙක් අතට, ඒවා නොසැලකිලිමත් පරිශීලකයින්ගේ දැවැන්ත ආරක්ෂක අවදානමක් වන අතර, ඒවා පොදු පරිගණකවල භාවිතා කර ලොග්අවුට් වීමට අමතක කළ හැකි අතර බ්රව්සර් කුකීස් යනු කුමක්දැයි හෝ ඒවා මකා දැමිය හැක්කේ කෙසේදැයි නොදන්නේ ය.
පුද්ගලිකව, මම නිතිපතා පිවිසෙන වෙබ් අඩවි සඳහා නිරන්තර පිවිසුම් වලට කැමතියි, නමුත් ඒවා ආරක්ෂිතව හැසිරවිය යුතු ආකාරය මම දනිමි. ඔබේ පරිශීලකයින් එයම දන්නා බව ඔබ ධනාත්මක නම්, ඔබට පිරිසිදු හෘද සාක්ෂියක් ඇතිව නිරන්තර පිවිසුම් භාවිතා කළ හැකිය. එසේ නොවේ නම් - හොඳයි, එවිට ඔවුන්ගේ පිවිසුම් අක්තපත්ර ගැන නොසැලකිලිමත් වන පරිශීලකයින් අනවසරයෙන් ඇතුළුවුවහොත් එය තමන් මතට ගෙන එනු ඇතැයි යන දර්ශනයට ඔබ දායක විය හැකිය. එය අපගේ පරිශීලකයාගේ නිවෙස්වලට ගොස් මුහුණුපොතේ ඇති පෝස්ට්-ඉට් සටහන් සියල්ලම ඔවුන්ගේ මොනිටරයේ අද්දර පෙලගැසී ඇති මුරපද සමඟ ඉරා දැමීම වැනි නොවේ.
ඇත්ත වශයෙන්ම, සමහර පද්ධතිවලට කිසිදු ගිණුමක් හැක් කිරීමට ඉඩ දිය නොහැක ; එවැනි පද්ධති සඳහා, නිරන්තර පිවිසුම් තිබීම සාධාරණීකරණය කළ හැකි ක්රමයක් නොමැත.
නිරන්තර පිවිසුම් කුකීස් ක්රියාත්මක කිරීමට ඔබ තීරණය කරන්නේ නම්, ඔබ එය කරන්නේ මෙයයි:
පළමුව, මෙම විෂය පිළිබඳ පැරගන් මුල පිරීමේ ලිපිය කියවීමට යම් කාලයක් ගත කරන්න . ඔබට මූලද්රව්ය පොකුරක් නිවැරදිව ලබා ගැනීමට අවශ්ය වනු ඇති අතර, ලිපිය සෑම එකක්ම පැහැදිලි කිරීමේ විශාල කාර්යයක් කරයි.
වඩාත් සුලභ අන්තරායන්ගෙන් එකක් නැවත අවධාරණය කිරීම සඳහා, ඔබේ දත්ත ගබඩාවේ ස්ථිර ලොජින් කුකී (ටෝකන්) ගබඩා නොකරන්න, එය හෑෂ් එකක් පමණි! පිවිසුම් ටෝකනය මුරපද සමාන වේ, එබැවින් ප්රහාරකයකු ඔබේ දත්ත ගබඩාවට අත තැබුවහොත්, ඔවුන්ට ඕනෑම ගිණුමකට ප්රවේශ වීම සඳහා ටෝකන භාවිතා කළ හැකිය, ඒවා පැහැදිලි පා lo මාලා-මුරපද සංයෝජන මෙන්. එබැවින්, නිරන්තර පිවිසුම් ටෝකන ගබඩා කිරීමේදී ( https://security.stackexchange.com/a/63438/5002 අනුව දුර්වල හැෂ් එකක් මේ සඳහා හොඳ වනු ඇත) භාවිතා කරන්න.
3 වන කොටස: රහස් ප්රශ්න භාවිතා කිරීම
'රහස් ප්රශ්න' ක්රියාත්මක නොකරන්න . 'රහස් ප්රශ්න' විශේෂාංගය ආරක්ෂක විරෝධී රටාවකි. MUST-READ ලැයිස්තුවෙන් අංක 4 සබැඳියෙන් කඩදාසි කියවන්න. යාහූට පසුව ඔබට සාරා පලින්ගෙන් ඒ ගැන විමසන්න. මීට පෙර පැවති ජනාධිපතිවරණ ව්යාපාරයකදී ඊමේල් ගිණුම හැක් වී ඇත්තේ ඇගේ ආරක්ෂක ප්රශ්නයට පිළිතුර වූ නිසාය ... “වාසිලා උසස් පාසල”!
පරිශීලක-විශේෂිත ප්රශ්න සමඟ වුවද, බොහෝ පරිශීලකයින් තෝරා ගැනීමට බොහෝ දුරට ඉඩ ඇත:
මවගේ විවාහක නම හෝ ප්රියතම සුරතලා වැනි 'සම්මත' රහස් ප්රශ්නයක්
ඕනෑම කෙනෙකුට ඔවුන්ගේ බ්ලොග් අඩවියෙන්, ලින්ක්ඩ්ඉන් පැතිකඩෙන් හෝ ඊට සමාන දෑ ඔසවා තැබිය හැකි සරල කරුණු
ඔවුන්ගේ මුරපදය අනුමාන කරනවාට වඩා පිළිතුරු දීමට පහසු ඕනෑම ප්රශ්නයකට. ඕනෑම හොඳ මුරපදයක් සඳහා, ඔබට සිතාගත හැකි සෑම ප්රශ්නයක්ම එයයි
අවසාන වශයෙන්, ආරක්ෂක ප්රශ්න ඔවුන්ගේ සියලු ආකාර සහ වෙනස්කම් වල සහජයෙන්ම අනාරක්ෂිත වන අතර කිසිදු හේතුවක් නිසා සත්යාපන යෝජනා ක්රමයක භාවිතා නොකළ යුතුය.
ආරක්ෂිත ප්රශ්න පවා කැලෑවල පැවතීමට සැබෑ හේතුව නම්, නැවත සක්රිය කිරීමේ කේතයක් ලබා ගැනීම සඳහා විද්යුත් තැපෑලට ප්රවේශ විය නොහැකි පරිශීලකයින්ගෙන් උපකාරක ඇමතුම් කිහිපයක පිරිවැය ඔවුන් පහසුවෙන් ඉතිරි කිරීමයි. මෙය ආරක්ෂාව සහ සාරා පාලින්ගේ කීර්තියේ වියදමින්. එය වටිනවා? බොහෝ විට නැත.
4 වන කොටස: අමතක වූ මුරපද ක්රියාකාරිත්වය
අමතක වූ / නැතිවූ පරිශීලක මුරපද හැසිරවීම සඳහා ඔබ කිසි විටෙකත් ආරක්ෂක ප්රශ්න භාවිතා නොකළ යුත්තේ මන්දැයි මම දැනටමත් සඳහන් කර ඇත්තෙමි ; පරිශීලකයින්ගේ සැබෑ මුරපද ඔබ කිසි විටෙකත් විද්යුත් තැපැල් නොකළ යුතු බව නොකියයි. මෙම ක්ෂේත්රය තුළ වළක්වා ගැනීම සඳහා අවම වශයෙන් තවත් බොහෝ පොදු අන්තරායන් දෙකක් ඇත:
අමතක වූ මුරපදයක් ස්වයංක්රීයව ශක්තිමත් මුරපදයකට නැවත සකසන්න එපා - එවැනි මුරපද මතක තබා ගැනීම දුෂ්කර ය, එයින් අදහස් කරන්නේ පරිශීලකයා එය වෙනස් කිරීම හෝ ලිවීම කළ යුතු බවයි - දීප්තිමත් කහ පැහැති පෝස්ට්-ඉට් මත ඔවුන්ගේ මොනිටරයේ අද්දර. නව මුරපදයක් සැකසීම වෙනුවට, පරිශීලකයින්ට වහාම නව එකක් තෝරා ගැනීමට ඉඩ දෙන්න - එය ඔවුන්ට කෙසේ හෝ කිරීමට අවශ්යය. (මෙයට ව්යතිරේකයක් වනුයේ පරිශීලකයන් මුරපද කළමණාකරුවෙකු විශ්වීයව මුරපද ගබඩා කිරීම / කළමනාකරණය කිරීම සඳහා භාවිතා කරන්නේ නම් එය සාමාන්යයෙන් ලිවීමකින් තොරව මතක තබා ගත නොහැකි වනු ඇත).
නැතිවූ මුරපද කේතය / ටෝකනය සැමවිටම දත්ත ගබඩාවේ හෑෂ් කරන්න. නැවත එය ප්රහාරකයා ඔබගේ දත්ත සමුදාය මත තම අත් වී නඩුවේ hashed විය යුතුය නිසා, මෙම කේතය, සමාන වූ මුරපදය තවත් උදාහරණයක්. නැතිවූ මුරපද කේතයක් ඉල්ලා සිටින විට, සාමාන්ය පෙළ කේතය පරිශීලකයාගේ විද්යුත් තැපැල් ලිපිනයට යවන්න, ඉන්පසු එය හෑෂ් කරන්න, ඔබේ දත්ත ගබඩාවේ හැෂ් සුරකින්න - සහ මුල් පිටපත විසි කරන්න . මුරපදයක් හෝ නිරන්තර පිවිසුම් ටෝකනයක් වැනි.
අවසාන සටහනක්: 'නැතිවූ මුරපද කේතය' ඇතුළත් කිරීම සඳහා වන ඔබේ අතුරු මුහුණත අවම වශයෙන් ඔබගේ පිවිසුම් පෝරමය තරම්ම ආරක්ෂිත බව සහතික කර ගන්න, නැතහොත් ප්රහාරකයා ඒ වෙනුවට ප්රවේශය ලබා ගැනීමට මෙය භාවිතා කරයි. ඔබ ඉතා දිගු 'නැතිවූ මුරපද කේත' ජනනය කරන බවට වග බලා ගැනීම (නිදසුනක් ලෙස, සිද්ධි සංවේදී අක්ෂරාංක අක්ෂර 16) හොඳ ආරම්භයකි, නමුත් පිවිසුම් පෝරමය සඳහාම ඔබ කරන එකම තෙරපුම් යෝජනා ක්රමය එකතු කිරීම සලකා බලන්න.
5 වන කොටස: මුරපදයේ ශක්තිය පරීක්ෂා කිරීම
පළමුව, යථාර්ථය පරීක්ෂා කිරීම සඳහා ඔබට මෙම කුඩා ලිපිය කියවීමට අවශ්ය වනු ඇත: වඩාත් පොදු මුරපද 500
හරි, ඒ නිසා සමහර විට ලැයිස්තුව නොවන නිසා කැනෝනිකල් මත වඩාත් පොදු මුරපද ලැයිස්තුව ඕනෑම පද්ධතිය ඕනෑම තැනක මෙතෙක් , නමුත් එය, කිසිදු බලහත්කාරී ප්රතිපත්තියක් පවතින විට ජනතාව තම රහස් පද තෝරා ආකාරය දුර්වල සම්බන්ධයෙන් හොඳ ඉඟියක් වේ. ප්ලස්, ඔබ මෑතකදී සොරකම් කරන ලද මුරපද පිළිබඳ ප්රසිද්ධියේ ලබා ගත හැකි විශ්ලේෂණයන් සමඟ සසඳන විට ලැයිස්තුව නිවසට සමීපව පෙනේ.
එබැවින්: අවම මුරපද ශක්තියේ අවශ්යතා නොමැතිව, 2% භාවිතා කරන්නන් ඉහළම පොදු මුරපද 20 න් එකක් භාවිතා කරයි. තේරුම: ප්රහාරකයෙකුට උත්සාහයන් 20 ක් ලැබුණහොත්, ඔබේ වෙබ් අඩවියේ ගිණුම් 50 න් 1 ක්ම බිඳ දැමිය හැකිය.
මෙය වලක්වා ගැනීම සඳහා මුරපදයක එන්ට්රොපිය ගණනය කර එළිපත්ත යෙදීම අවශ්ය වේ. ජාතික ප්රමිති හා තාක්ෂණ ආයතනයේ (NIST) විශේෂ ප්රකාශනය 800-63 ඉතා හොඳ යෝජනා මාලාවක් ඇත. එනම්, ශබ්ද කෝෂයක් සහ යතුරුපුවරු පිරිසැලසුම් විශ්ලේෂණයක් සමඟ සංයෝජනය වූ විට (නිදසුනක් ලෙස, 'qwertyuiop' නරක මුරපදයකි), එන්ට්රොපි බිටු 18 ක මට්ටමක දුර්වල ලෙස තෝරාගත් මුරපද වලින් 99% ක් ප්රතික්ෂේප කළ හැකිය . මුරපදයේ ශක්තිය ගණනය කිරීම සහ දෘශ්ය ශක්තිය මීටරයක් පරිශීලකයෙකුට පෙන්වීම හොඳ නමුත් ප්රමාණවත් නොවේ. එය බලාත්මක නොකළහොත් බොහෝ පරිශීලකයින් එය නොසලකා හරිනු ඇත.
ඉහළ එන්ට්රොපි මුරපද භාවිතා කරන්නන්ගේ සුහදතාවය ප්රබෝධමත් කිරීම සඳහා, රැන්ඩල් මුන්රෝගේ මුරපද ශක්තිය xkcd බෙහෙවින් නිර්දේශ කෙරේ.
පොදු දත්ත උල්ලං in නය කිරීම් වලදී සම්මුතියකට ලක්වූ මුරපදවලට එරෙහිව පරිශීලකයන්ගේ මුරපද පරීක්ෂා කිරීම සඳහා ට්රෝයි හන්ට්ස්ගේ මම භාවිතා කර ඇති API භාවිතා කරන්න.
හයවන කොටස: තවත් බොහෝ දේ - හෝ: වේගවත් ගිනි පිවිසුම් උත්සාහයන් වැළැක්වීම
පළමුව, අංක දෙස බලන්න: මුරපද ප්රතිසාධන වේගය - ඔබේ මුරපදය කොපමණ කාලයක් නැගී සිටිනු ඇත්ද?
එම සබැඳියේ ඇති වගු බැලීමට ඔබට කාලය නොමැති නම්, මෙන්න ඒවායේ ලැයිස්තුව:
ඔබ අබකස් එකකින් එය බිඳ දැමුවද, දුර්වල මුරපදයක් බිඳ දැමීමට කිසිදු කාලයක් ගත නොවේ
ඒ සඳහා අවශ්ය වන්නේ ම පාහේ කිසිදු අවස්ථාවක එය නම් ගත් කීවෙනි 9-චරිතය මුරපදය නොපනින නඩුව අසංවේදී
අක්ෂර 8 ට වඩා අඩු නම් සංකීර්ණ, සංකේත-සහ-අකුරු සහ අංක, ඉහළ සහ කුඩා අකුරු මුරපදයක් බිඳ දැමීමට සැබවින්ම කාලයක් ගත නොවේ (ඩෙස්ක්ටොප් පරිගණකයකට සමස්ත යතුරුපුවරුව අක්ෂර 7 ක් දක්වා සෙවිය හැක. දින හෝ පැය පවා)
කෙසේ වෙතත්, ඔබ තත්පරයට එක් උත්සාහයකට සීමා වී ඇත්නම් , අක්ෂර 6 කින් යුත් මුරපදයක් පවා බිඳ දැමීමට අධික කාලයක් ගතවනු ඇත !
ඉතින් මෙම සංඛ්යා වලින් අපට ඉගෙන ගත හැක්කේ කුමක්ද? හොඳයි, කැබලි අක්ෂර, නමුත් අපට වඩාත්ම වැදගත් කොටස කෙරෙහි අවධානය යොමු කළ හැකිය: වේගවත් ගිනි නිවීමේ අනුක්රමික පිවිසුම් උත්සාහයන් විශාල සංඛ්යාවක් වැළැක්වීම (එනම් තිරිසන් බල ප්රහාරය) ඇත්ත වශයෙන්ම එතරම් අපහසු නොවේ. නමුත් එය නිවැරදිව වළක්වා ගැනීම පෙනෙන තරම් පහසු නැත.
පොදුවේ ගත් කල, ඔබට තිරිසන් බලවේග ප්රහාරයන්ට (සහ ශබ්ද කෝෂ ප්රහාරයන්ට එරෙහිව effective ලදායී වන තේරීම් තුනක් ඇත , නමුත් ඔබ දැනටමත් ශක්තිමත් මුරපද ප්රතිපත්තියක් භාවිතා කරන බැවින් ඒවා ගැටළුවක් නොවිය යුතුය) :
එන් අසාර්ථක උත්සාහයන්ගෙන් පසු කැප්චා එකක් ඉදිරිපත් කරන්න (නිරය ලෙස කරදරකාරී සහ බොහෝ විට අකාර්යක්ෂමයි - නමුත් මම මෙහි නැවත නැවත කියමි)
N අසාර්ථක උත්සාහයන්ගෙන් පසු ගිණුම් අගුළු දැමීම සහ විද්යුත් තැපැල් සත්යාපනය අවශ්ය වේ (මෙය සිදුවීමට බලා සිටින DoS ප්රහාරයකි)
අවසාන වශයෙන්, පිවිසුම් තෙරපීම : එනම්, එන් අසාර්ථක උත්සාහයන්ගෙන් පසු උත්සාහයන් අතර කාල ප්රමාදයක් සැකසීම (ඔව්, DoS ප්රහාර තවමත් සිදුවිය හැකි නමුත් අවම වශයෙන් ඒවා අඩු හා අඩු කිරීමට වඩා සංකීර්ණ වේ).
හොඳම පුහුණුව # 1: අසාර්ථක උත්සාහයන් ගණන සමඟ වැඩි වන කෙටි කාලීන ප්රමාදයක්, වැනි:
- 1 අසාර්ථක උත්සාහය = ප්රමාදයක් නැත
- අසාර්ථක උත්සාහයන් 2 = තත්පර 2 ප්රමාදය
- 3 අසාර්ථක උත්සාහයන් = තත්පර 4 ප්රමාදය
- අසාර්ථක උත්සාහයන් 4 = තත්පර 8 ප්රමාදය
- අසාර්ථක උත්සාහයන් 5 ක් = තත්පර 16 ප්රමාදය
- ආදිය.
එහි ප්රති ing ලයක් ලෙස ඇති වන අගුළු හැරීමේ කාලය පෙර පැවති අගුළු හැරීමේ වේලාවට වඩා තරමක් විශාල බැවින් මෙම යෝජනා ක්රමයට පහර දීම ඉතා ප්රායෝගික නොවේ.
පැහැදිලි කිරීම සඳහා: බ්රව්සරයට ප්රතිචාරය දැක්වීමට පෙර ප්රමාදය ප්රමාදයක් නොවේ . එය නිශ්චිත කාලයකට හෝ පරාවර්තක කාල පරිච්ඡේදයකට සමාන වන අතර එමඟින් නිශ්චිත ගිණුමකට හෝ නිශ්චිත IP ලිපිනයකින් ප්රවේශ වීමට උත්සාහ කිරීම කිසිසේත් පිළිගනු නොලැබේ. එනම්, නිවැරදි අක්තපත්ර සාර්ථක පිවිසුමකින් ආපසු නොඑනු ඇති අතර වැරදි අක්තපත්ර ප්රමාද වැඩිවීමක් ඇති නොකරයි.
හොඳම පුහුණුව # 2: එන් අසාර්ථක උත්සාහයන්ගෙන් පසුව ක්රියාත්මක වන මධ්යම දිග කාල ප්රමාදය, වැනි:
- 1-4 අසාර්ථක උත්සාහයන් = ප්රමාදයක් නැත
- අසාර්ථක උත්සාහයන් 5 ක් = මිනිත්තු 15-30 ප්රමාදය
DoS මෙම යෝජනා ක්රමයට පහර දීම තරමක් ප්රායෝගික නොවන නමුත් නිසැකවම කළ හැකි ය. එසේම, එවැනි දීර් delay ප්රමාදයක් නීත්යානුකූල පරිශීලකයෙකුට ඉතා කරදරකාරී විය හැකි බව සැලකිල්ලට ගැනීම අදාළ විය හැකිය. අමතක වූ පරිශීලකයින් ඔබට අකමැති වනු ඇත.
හොඳම පුහුණුව # 3: ප්රවේශයන් දෙක ඒකාබද්ධ කිරීම - එක්කෝ අසාර්ථක උත්සාහයන්ගෙන් පසුව ක්රියාත්මක වන ස්ථාවර, කෙටි කාලීන ප්රමාදයක්, වැනි:
- 1-4 අසාර්ථක උත්සාහයන් = ප්රමාදයක් නැත
- 5+ අසාර්ථක උත්සාහයන් = තත්පර 20 ප්රමාදය
නැතහොත්, ස්ථාවර ඉහළ මායිමක් සමඟ වැඩි වන ප්රමාදයක්, වැනි:
- 1 අසාර්ථක උත්සාහය = තත්පර 5 ප්රමාදය
- අසාර්ථක උත්සාහයන් 2 = තත්පර 15 ප්රමාදය
- 3+ අසාර්ථක උත්සාහයන් = තත්පර 45 ප්රමාදය
මෙම අවසාන යෝජනා ක්රමය OWASP හොඳම භාවිත යෝජනා වලින් (MUST-READ ලැයිස්තුවෙන් 1 වන සබැඳිය) ලබාගෙන ඇති අතර එය සීමිත පැත්තෙන් පිළිගත හැකි වුවද එය හොඳම භාවිතයක් ලෙස සැලකිය යුතුය.
කෙසේ වෙතත්, රීතියක් ලෙස, මම මෙසේ කියමි: ඔබගේ මුරපද ප්රතිපත්තිය වඩා ශක්තිමත් නම්, ප්රමාදයන් සමඟ පරිශීලකයින්ට දෝෂාරෝපණය කිරීමට ඔබට සිදු වේ. ඔබට ශක්තිමත් (සිද්ධි සංවේදී අක්ෂරාංක + අවශ්ය අංක සහ සංකේත) 9+ අක්ෂර මුරපද අවශ්ය නම්, තෙරපීම සක්රිය කිරීමට පෙර පරිශීලකයින්ට 2-4 ප්රමාද නොවන මුරපද උත්සාහයන් ලබා දිය හැකිය.
මෙම අවසාන පිවිසුම් තෙරපීමේ යෝජනා ක්රමයට DoS පහර දීම ඉතා ප්රායෝගික නොවේ. අවසාන ස්පර්ශයක් ලෙස, සෑම විටම අඛණ්ඩ (කුකී) පිවිසුම් (සහ / හෝ කැප්චා-සත්යාපිත පිවිසුම් පෝරමයක්) හරහා යාමට ඉඩ දෙන්න, එබැවින් ප්රහාරය සිදුවන විට නීත්යානුකූල පරිශීලකයින් ප්රමාද නොවනු ඇත . ඒ ආකාරයෙන්, ප්රායෝගික නොවන DoS ප්රහාරය අතිශයින්ම ප්රායෝගික නොවන ප්රහාරයක් බවට පත්වේ .
මීට අමතරව, වඩාත් ආකර්ෂණීය පිවිසුම් ස්ථාන වන බැවින් පරිපාලක ගිණුම්වල වඩාත් ආක්රමණශීලී තෙරපීම සිදු කිරීම අර්ථවත් කරයි
VII වන කොටස: බෙදා හරින ලද තිරිසන් බල ප්රහාර
අනෙක් අතට, වඩා දියුණු ප්රහාරකයින් 'ඔවුන්ගේ ක්රියාකාරකම් ව්යාප්ත කිරීම' මඟින් පිවිසුම් තෙරපීම වළක්වා ගැනීමට උත්සාහ කරනු ඇත:
IP ලිපින සලකුණු කිරීම වැළැක්වීම සඳහා බොට්නෙට් එකක උත්සාහයන් බෙදා හැරීම
එක් පරිශීලකයෙකු තෝරාගෙන වඩාත් පොදු මුරපද 50.000 උත්සාහ කරනවා වෙනුවට (අපගේ තෙරපීම නිසා ඔවුන්ට එය කළ නොහැකිය), ඔවුන් වඩාත් පොදු මුරපදය තෝරාගෙන ඒ වෙනුවට පරිශීලකයින් 50.000 ට එරෙහිව උත්සාහ කරනු ඇත. ඒ ආකාරයෙන්, ඔවුන් කැප්චා සහ පිවිසුම් තෙරපීම වැනි උපරිම උත්සාහයන් ලබා ගැනීම පමණක් නොව, ඔවුන්ගේ සාර්ථකත්වයේ අවස්ථාව ද වැඩි වේ, මන්ද අංක 1 වඩාත් පොදු මුරපදය අංක 49.995 ට වඩා බොහෝ සෙයින් වැඩි ය.
සෑම පරිශීලක ගිණුමක් සඳහාම පිවිසුම් ඉල්ලීම් පරතරය, තත්පර 30 ක් දුරින්, රේඩාර් යටතේ සැඟවීමට කියන්න
මෙන්න, හොඳම පුහුණුව වනුයේ අසමත් වූ පිවිසුම් ගණන, පද්ධතිය පුරා විහිදීම සහ ඔබේ වෙබ් අඩවියේ නරක-පිවිසුම් සංඛ්යාතයේ සාමාන්යය භාවිතා කිරීම, එවිට ඔබ සියලු පරිශීලකයින් මත පනවන ඉහළ සීමාවකට පදනමයි.
ඕනෑවට වඩා වියුක්තද? මට නැවත ලිවීමට ඉඩ දෙන්න:
පසුගිය මාස 3 තුළ ඔබේ වෙබ් අඩවියට සාමාන්යයෙන් දිනකට නරක පිවිසුම් 120 ක් ඇති බව පවසන්න. එය භාවිතා කරමින් (ධාවනය වන සාමාන්යය), ඔබේ පද්ධතිය ගෝලීය සීමාව මෙන් තුන් ගුණයක් ලෙස නියම කළ හැකිය - එනම්. පැය 24 ක කාලයක් තුළ උත්සාහයන් 360 ක් අසාර්ථක විය. එවිට, සියලු ගිණුම් හරහා අසාර්ථක උත්සාහයන් ගණන එක් දිනක් තුළ ඉක්මවා ගියහොත් (හෝ ඊටත් වඩා හොඳ නම්, ත්වරණය කිරීමේ වේගය නිරීක්ෂණය කර ගණනය කළ එළිපත්තක් මත ප්රේරණය කරන්න), එය පද්ධතිය පුරා පැතිරෙන පිවිසුම් තෙරපීම සක්රීය කරයි - එනම් සියලු පරිශීලකයින් සඳහා කෙටි ප්රමාදයන් (තවමත්, කුකී පිවිසුම් සහ / හෝ උපස්ථ කැප්චා පිවිසුම් හැර).
වැඩි විස්තර සහිත ප්රශ්නයක් සහ බෙදා හරින ලද තිරිසන් බලවේග ප්රහාර වලක්වා ගැනීමේදී උපක්රම වළක්වා ගත හැකි ආකාරය පිළිබඳ හොඳ සාකච්ඡාවක් ද මම පළ කළෙමි.
8 වන කොටස: ද්වි-සාධක සත්යාපනය සහ සත්යාපන සපයන්නන්
සූරාකෑම, මුරපද ලිවීම සහ නැතිවීම, යතුරු සොරකම් කර ඇති ලැප්ටොප් හෝ තතුබෑම් අඩවි වලට පිවිසුම් භාවිතා කරන්නන් විසින් අක්තපත්ර සම්පාදනය කළ හැකිය. දුරකථන ඇමතුමක්, කෙටි පණිවුඩයක්, යෙදුමක් හෝ ඩොන්ගල් එකකින් ලැබෙන තනි භාවිත කේත වැනි කලාපයෙන් බැහැර සාධක භාවිතා කරන ද්වි-සාධක සත්යාපනය සමඟ පිවිසුම් තවදුරටත් ආරක්ෂා කළ හැකිය. සැපයුම්කරුවන් කිහිප දෙනෙකු විසින් සාධක දෙකක සත්යාපන සේවා ලබා දේ.
සත්යාපනය සම්පුර්ණයෙන්ම තනි අත්සන් සේවාවක් වෙත පැවරිය හැකිය, එහිදී වෙනත් සැපයුම්කරුවෙකු අක්තපත්ර එකතු කිරීම හසුරුවයි. මෙය ගැටලුව විශ්වාසදායක තෙවන පාර්ශවයකට තල්ලු කරයි. ගූගල් සහ ට්විටර් යන දෙකම ප්රමිති මත පදනම් වූ එස්එස්ඕ සේවාවන් සපයන අතර ෆේස්බුක් සමාන හිමිකාර විසඳුමක් සපයයි.
වෙබ් සත්යාපනය පිළිබඳ සබැඳි කියවන්න
- සත්යාපනය සඳහා OWASP මාර්ගෝපදේශය / OWASP සත්යාපන වංචා පත්රිකාව
- වෙබයේ සේවාලාභී සත්යාපනය කළ යුතු දෑ සහ නොකළ යුතු දේ (ඉතා කියවිය හැකි MIT පර්යේෂණ පත්රිකාව)
- විකිපීඩියා: HTTP කුකී
- පසුබැසීමේ සත්යාපනය සඳහා පුද්ගලික දැනුම ප්රශ්න: ෆේස්බුක් යුගයේ ආරක්ෂක ප්රශ්න (ඉතා කියවිය හැකි බර්ක්ලි පර්යේෂණ පත්රය)