Çfarë është kripa në një hash fjalëkalimi Linux dhe pse ka rëndësi?

Përditësimi i fundit: 04/12/2025
Author: Isaac
  • Kripa është një varg i rastësishëm që i shtohet fjalëkalimit para hash-it për të arritur hashe unike për përdorues.
  • Linux Ai ruan hash, salt dhe algoritëm në /etc/shadow, duke forcuar sigurinë kundër sulmeve të fjalorëve dhe tabelave rainbow.
  • Praktikat e mira kërkojnë kripëra të gjata, të rastësishme dhe unike, së bashku me algoritme të fuqishme hash dhe Bazat e të dhënave të mbrojtura mirë.
  • Krisja e fjalëkalimeve duhet të integrohet në politikat më të gjera të sigurisë që përfshijnë fjalëkalime të forta, MFA dhe menaxherë fjalëkalimesh.

kripë në hashin e fjalëkalimit në Linux

Nëse punoni me sisteme GNU/Linux ose thjesht jeni të shqetësuar për sigurinë e llogarive tuaja, ndoshta keni dëgjuar për kripë në hash-in e fjalëkalimitËshtë një nga ato koncepte që përmendet shumë, por shpesh kuptohet vetëm gjysmë: tingëllon teknik, por në realitet bën ndryshimin midis një sistemi që është i lehtë për t’u thyer dhe një sistemi që është shumë më rezistent ndaj sulmeve.

Shkurt, kripa është një element kyç për t'i bërë hash-et e fjalëkalimeve të paparashikueshmeFunksionon duke shtuar të dhëna të rastësishme përpara se të aplikohet algoritmi hash në mënyrë që, edhe nëse dy përdorues kanë të njëjtin fjalëkalim, rezultati i ruajtur në bazën e të dhënave të jetë i ndryshëm. Nga aty, implementimi specifik në Linux, marrëdhënia e tij me /etc/shadow, mjete si mkpasswd dhe praktikat më të mira moderne të sigurisë janë një botë e tërë më vete, të cilën do ta shqyrtojmë në detaje.

Çfarë është saktësisht kripa në një hash fjalëkalimi?

Përkufizimi i kripës në hash-in e fjalëkalimit

Në kriptografi, një kripë (kripa) është një varg i rastësishëm karakteresh i cili i shtohet fjalëkalimit të një përdoruesi përpara se të aplikohet një funksion hash. Qëllimi është që hash-i që rezulton të jetë unik edhe nëse fjalëkalimi i thjeshtë është i njëjtë për shumë përdorues.

Kur një përdorues krijon ose ndryshon fjalëkalimin e tij, sistemi gjeneron një kripë e rastësishmeE kombinon atë me fjalëkalimin (para, pas ose në një format specifik në varësi të skemës) dhe zbaton një algoritëm hash në atë kombinim, si p.sh. SHA-256 o SHA-512Fjalëkalimi nuk ruhet në bazën e të dhënave, por hash i (fjalëkalim + kripë), dhe në shumicën e skemave, vetë kripa ruhet gjithashtu së bashku me hashashin.

Kjo teknikë realizon shumë nga teknikat e sulmit të bazuara në hashe të parallogaritura, si tabelat ylber, dhe i ndërlikon shumë sulmet me fjalor dhe ato me forcë brute në një shkallë të gjerë. Një sulmues nuk mund ta shfrytëzojë më faktin që shumë përdorues ndajnë të njëjtin fjalëkalim, sepse secili prej tyre do të ketë një hash të ndryshëm.

Është e rëndësishme të kuptohet se kripa nuk është sekret në vetvete: Nuk është një fjalëkalim ose një çelës privatFunksioni i tij është të fusë rastësinë dhe veçantinë në procesin e hashimit. Siguria ende varet nga përdorimi i fjalëkalime të forta y algoritme të përshtatshme hash, mundësisht të projektuara posaçërisht për fjalëkalime (siç janë bcrypt, scrypt, Argon2), megjithëse shumë sisteme klasike Linux përdorin variante të SHA-256 ose SHA-512.

Si funksionon kriptimi i fjalëkalimeve hap pas hapi

Si funksionon kriptimi i fjalëkalimeve

Procesi i kriposjes mund të përmblidhet në një seri hapash mjaft të thjeshtë, por me një ndikim të madh në siguri:

  Si të zbulohen proceset keqdashëse me Process Explorer dhe VirusTotal

Së pari, kur një përdorues regjistrohet ose ndryshon fjalëkalimin e tij, sistemi gjeneron një kripë unike dhe e rastësishme për atë kredencial. Kjo kripë zakonisht ka gjatësi të mjaftueshme (për shembull, 16 bajt ose më shumë) dhe merret nga një gjenerator numrash të rastësishëm i sigurt kriptografikisht.

Më pas, fjalëkalimi i zgjedhur nga përdoruesi kombinohet me atë kript për të formuar një zinxhir i ndërmjetëmKy kombinim mund të jetë aq i thjeshtë sa bashkimi i kripës + fjalëkalimit, ose mund të ketë një format më kompleks të përcaktuar nga skema hash. Gjëja e rëndësishme është që çdo përdorues të përfundojë me një kombinim të ndryshëm.

Pastaj, një algoritmi hash me një drejtimRezultati është një varg në dukje i rastësishëm, hash-i, me gjatësi fikse, i cili do të ruhet në bazën e të dhënave së bashku me kripën. Në sistemet moderne, po kërkohen algoritme që prodhojnë dalje të gjata dhe komplekseKjo rrit hapësirën e kërkimit dhe i bën sulmet me forcë brutale më të kushtueshme.

Së fundmi, kur përdoruesi hyn në sistem, sistemi rimerr përsëri fjalëkalimin e futur. kripë e lidhur Nga baza e të dhënave, përsërit të njëjtin proces kombinimi dhe heshimi dhe krahason rezultatin me heshimin e ruajtur. Nëse përputhen, e di që fjalëkalimi është i saktë pa pasur nevojë të dijë tekstin e thjeshtë.

Ky mekanizëm siguron që edhe nëse baza e të dhënave rrjedh, sulmuesi do të shohë vetëm hash individuale me kripërat e tyreNë vend të një bashkësie hashe-sh të krahasueshme, ndalimi i një sulmi nuk është magji, por bëhet dukshëm më i kushtueshëm në aspektin llogaritës.

Avantazhet e përdorimit të kripës në hash-et e fjalëkalimeve

Avantazhet e përdorimit të kripës në fjalëkalime

Arsyeja kryesore për përdorimin e kripës është se forcon sigurinë e fjalëkalimeve të ruajtura kundër një game të gjerë sulmesh. Por ia vlen të detajohen përfitimet specifike.

Së pari, kriposja siguron rezistencë ndaj sulmeve të fjaloritPa kripë, një sulmues mund të përgatisë një listë të madhe fjalëkalimesh të zakonshme dhe hash-eve të tyre, dhe thjesht t'i krahasojë ato me bazën e të dhënave të vjedhur. Me një kripë unike për përdorues, ato hash-e të parallogaritura bëhen të padobishme, sepse çdo kombinim fjalëkalimi + kripë gjeneron një vlerë të ndryshme.

Së dyti, përdorimi i kripës prish efektivitetin e tavolina ylberiKëto janë thjesht baza të dhënash të llogaritura paraprakisht për hash-e për fjalëkalime të njohura për të përshpejtuar rikuperimin. Përsëri, meqenëse rezultati varet nga kripa specifike, këto tabela të projektuara për hash-e të pakripura bëhen të padobishme ose, të paktën, shumë joefikase.

Një tjetër avantazh i qartë është se përmirëson privatësi në rast rrjedhjejeEdhe nëse një ndërhyrës fiton akses në tabelën e përdoruesit me hash-in dhe kripën e tij, ai nuk do të jetë në gjendje të identifikojë shpejt se kush ka të njëjtin fjalëkalim si të tjerët ose të nisë lehtësisht sulme masive. Çdo llogari kërkon vëmendje individuale, gjë që zakonisht është jopraktike në një shkallë të gjerë.

  Alarm për mashtrimin e ri në WhatsApp: Bizum dhe video thirrje për të vjedhur llogari dhe para

Për më tepër, kriposja i shton kompleksitet sulme me forcë brutaleNë vend që të jetë në gjendje të testojë një fjalëkalim kandidat kundër të gjitha hash-eve menjëherë, sulmuesi detyrohet të marrë në konsideratë kripën e secilit përdorues, duke shumëzuar ngarkesën totale të punës. Nëse kjo kombinohet me një algoritëm hash-imi të ngadaltë dhe të parametrizueshëm (si bcrypt ose Argon2), kostoja e sulmit rritet edhe më tej.

Së fundmi, kriposja është një teknikë që përshtatet mirë me evolucionin teknologjik. Edhe pse pajisjet kompjuterike përmirësohen dhe shfaqen sulme të reja, kombinimi i hashit të fortë dhe kripës unike Ai mban një nivel të lartë dhe të shkallëzueshëm vështirësie: mund të rrisni gjatësinë e kripës, të forconi algoritmin, të rrisni koston llogaritëse, etj.

Si e implementon Linux-i kriptimin e fjalëkalimeve (/etc/shadow)

Në sistemet Linux dhe variantet e tjera *NIX, fjalëkalimet e përdoruesve nuk ruhen në /etc/passwd, por në skedarin / etj / hijeKy skedar, i arritshëm vetëm për superpërdoruesin, ruan hash-et e fjalëkalimeve së bashku me informacione shtesë, dhe është vendi ku shihet qartë përdorimi i kripës dhe algoritmi i hash-it.

Rreshtat në /etc/shadow kanë një strukturë të ngjashme me:

përdoruesi:$id$sal$hash:fusha_shtesë…

Simboli $ Ndani pjesët e ndryshme. Pjesa e parë pas emrit të përdoruesit tregon lloji i algoritmit përdorur. Për shembull, $ 1 $ zakonisht përfaqëson MD5, $ 5 $ SHA-256 dhe $ 6 $ SHA-512, i cili është algoritmi më i zakonshëm në shpërndarjet moderne sepse ofron siguri më të madhe sesa skemat e vjetra të bazuara në DES ose MD5.

Pasi shfaqet identifikuesi i algoritmit, kripëdhe pastaj hash që rezultonE gjithë kjo është brenda të njëjtës fushë. Kur një fjalëkalim validohet, sistemi lexon atë identifikues, kripën, zbaton algoritmin që korrespondon me fjalëkalimin e futur dhe krahason hash-in e llogaritur me atë të ruajtur.

Nëse doni të kontrolloni shpejt se cilët përdorues kanë fjalëkalime të koduara dhe çfarë algoritmi po përdoret, mund të përdorni një komandë si grep '\$' /etc/shadowNë këtë kontekst, shenja e dollarit ($) përdoret për të gjetur rreshta me hashe në formatin modern. Simboli duhet të shmanget me një vijë të prapme sepse në shprehjet e rregullta ai tregon "fundin e rreshtit".

Llogaritë pa fjalëkalim ose llogaritë e bllokuara zakonisht shfaqin një vlerë si kjo në atë fushë. ! o * në vend të një hash me dollarë, që tregon se nuk mund të autentifikohet duke përdorur një fjalëkalim standard. Kjo strukturë e bën të qartë një gjë: Linux integron salting në formatin e tij të ruajtje fjalëkalime amtare.

Dallimi midis hashimit të fjalëkalimit dhe kriposjes

Është e rëndësishme të bëhet qartë dallimi midis dy koncepteve që ndonjëherë ngatërrohen: hash y kriposjeHashimi i fjalëkalimit është procesi me anë të të cilit një fjalëkalim transformohet në një vlerë të panjohur duke përdorur një algoritëm njëkahësh. Serveri nuk ka nevojë të dijë kurrë fjalëkalimin origjinal, vetëm për të verifikuar që përdoruesi e di fjalëkalimin e saktë sepse prodhon të njëjtin hash.

  Çfarë është WINUX: Linux me një shpirt të lirë dhe pamjen e ndjesinë e Windows?

Problemi është se nëse dy fjalëkalime janë identike, Hashi i pakripur do të jetë gjithashtu identikKjo i lejon një sulmuesi të krahasojë dhe grupojë përdoruesit sipas fjalëkalimit ose të përdorë tabela të parallogaritura. Për më tepër, nëse algoritmi i hash-it është i shpejtë dhe i projektuar për integritetin e të dhënave (siç është SHA-256 i thjeshtë), ai bëhet më i prekshëm ndaj sulmeve masive brute-force.

Kriposja hyn pikërisht për të zgjidhur atë dobësi: bëhet fjalë shtoni të dhëna të rastësishme në fjalëkalim para se ta hash-ojnë atë. Rezultati është se edhe nëse dy përdorues zgjedhin "casa" si fjalëkalimin e tyre, hash-et në bazën e të dhënave do të jenë krejtësisht të ndryshme, sepse njëri do të ketë, për shembull, "casa+7Ko#" dhe tjetri "casa8p?M" si vargun para-hash-imit.

Kështu, hashimi dhe kriposja nuk konkurrojnë, por përkundrazi plotësojnë njëra-tjetrën. Hashimi siguron vetia e njëdrejtimësisë dhe lehtësinë e verifikimit; kripa ofron unike dhe rezistencë ndaj sulmeve masiveNjë implementim i sigurt i ruajtjes së fjalëkalimeve kombinon të dyja teknikat, idealisht duke përdorur një algoritëm të projektuar për këtë qëllim, me kosto të konfigurueshme.

Përdorimi i kripës në Linux me mkpasswd

Në mjediset GNU/Linux dhe sisteme të tjera UnixNjë mënyrë shumë praktike për të eksperimentuar me kriposjen është mjeti mkpasswdKjo komandë përdoret për të gjeneruar fjalëkalime të koduara në mënyrë të sigurt dhe zakonisht integrohet në proceset e krijimit të përdoruesve, skriptet e administrimit, etj.

Sintaksa bazë e mkpasswd ju lejon të specifikoni fjalëkalimin që do të enkriptohet dhe një sërë opsionesh të tilla si lloji i algoritmit (për shembull, des, md5, sha-256, sha-512) duke përdorur opsionin -mNë sistemet moderne, gjëja më e arsyeshme për të bërë është të zgjidhni SHA-512 të paktën, ose nga skema edhe më të fuqishme nëse shpërndarja i mbështet ato.

Opsioni veçanërisht interesant në kontekstin e kriposjes është -S, e cila lejon shtoni një kripë në fjalëkalimin para se ta enkriptoni. Nëse nuk specifikohet manualisht, mkpasswd mund të gjenerojë një kripë e rastësishme në çdo ekzekutimkështu që edhe duke përdorur të njëjtin fjalëkalim hyrjeje, hash-i që rezulton është i ndryshëm çdo herë.

Kjo mund të verifikohet lehtësisht: nëse e enkriptoni “password123” disa herë me mkpasswd, duke përdorur SHA-512 dhe një kriptim të rastësishëm, do të merrni hashe krejtësisht të ndryshme. Megjithatë, nëse kaloni të njëjtën vlerë kriptimi duke përdorur -S, hashi do të jetë gjithmonë identik, sepse kombinimi fjalëkalim + kriptim nuk ndryshon.

Falë këtij mjeti është shumë e lehtë Përgatitni fjalëkalime të enkriptuara me kripë për të shtuar në skedarët e konfigurimit, për të menaxhuar përdoruesit manualisht ose për të testuar sjelljen e kriposjes pa pasur nevojë të programoni asgjë.

Çfarë është higjiena dixhitale?
Artikulli i lidhur:
Higjiena dixhitale: siguria, mirëqenia dhe rendi në jetën tuaj online