Kas ir sāls Linux paroles jaucējkodā un kāpēc tas ir svarīgi?

Pēdējā atjaunošana: 04/12/2025
Autors: Isaac
  • Sāls ir nejauša virkne, kas tiek pievienota parolei pirms jaucējkoda, lai katram lietotājam nodrošinātu unikālu jaucējkodu.
  • Linux Tas uzglabā hešu, sāli un algoritmu mapē /etc/shadow, tādējādi pastiprinot drošību pret vārdnīcu uzbrukumiem un varavīksnes tabulām.
  • Labai praksei ir nepieciešami gari, nejauši un unikāli sāls varianti, kā arī spēcīgi jaucējkodorigoritmi un datu bāzes labi aizsargāts.
  • Paroļu sālīšana būtu jāintegrē plašākās drošības politikās, kas ietver spēcīgas paroles, daudzfaktoru autentifikāciju (MFA) un paroļu pārvaldniekus.

sāls paroles jaucējkodā operētājsistēmā Linux

Ja strādājat ar GNU/Linux sistēmām vai vienkārši uztraucaties par savu kontu drošību, iespējams, esat dzirdējuši par sāls paroles jaucējkodāTas ir viens no tiem jēdzieniem, kas tiek daudz pieminēts, bet bieži vien tikai daļēji saprasts: tas izklausās tehniski, bet patiesībā tas rada atšķirību starp sistēmu, kuru ir viegli uzlauzt, un tādu, kas ir daudz izturīgāka pret uzbrukumiem.

Īsāk sakot, sāls ir galvenais elements, lai paroles jaucējkodi būtu neparedzamiTas darbojas, pievienojot nejaušus datus pirms jaucējkodinga algoritma piemērošanas, tāpēc pat tad, ja diviem lietotājiem ir viena un tā pati parole, datubāzē saglabātais rezultāts būs atšķirīgs. Turpmāk konkrētā ieviešana Linux sistēmā, tās saistība ar /etc/shadow, tādi rīki kā mkpasswd un mūsdienu drošības paraugprakse ir vesela pasaule, ko mēs detalizēti izpētīsim.

Kas īsti ir sāls paroles jaucējkodā?

sāls definīcija paroles jaucējkodā

Kriptogrāfijā sāls (sāls) ir nejauša rakstzīmju virkne kas tiek pievienots lietotāja parolei pirms jaucējfunkcijas piemērošanas. Mērķis ir panākt, lai iegūtais jaucējkods būtu unikāls pat tad, ja vienkāršā teksta parole vairākiem lietotājiem ir vienāda.

Kad lietotājs izveido vai maina savu paroli, sistēma ģenerē nejauša sālsTas apvieno to ar paroli (pirms, pēc vai noteiktā formātā atkarībā no shēmas) un šai kombinācijai piemēro jaucējkodu algoritmu, piemēram, SHA-256 o SHA-512Parole netiek glabāta datubāzē, bet gan (parole + sāls) jaucējkods, un vairumā shēmu kopā ar hašu tiek uzglabāta arī pati sāls.

Šī metode atveido daudzus no uzbrukuma metodes, kuru pamatā ir iepriekš aprēķināti heši, piemēram, varavīksnes tabulas, un ievērojami sarežģī vārdnīcu un brutāla spēka uzbrukumus plašā mērogā. Uzbrucējs vairs nevar izmantot faktu, ka vairākiem lietotājiem ir viena parole, jo katram būs atšķirīgs jaucējkods.

Ir svarīgi saprast, ka sāls pats par sevi nav noslēpums: Tā nav parole vai privāta atslēgaTās funkcija ir ieviest nejaušību un unikalitāti jaucējkoda apstrādes procesā. Drošība joprojām ir atkarīga no tā izmantošanas. spēcīgas paroles y piemēroti jaucējkodorigoritmi, vēlams, īpaši izstrādāts parolēm (piemēram, bcrypt, scrypt, Argon2), lai gan daudzas klasiskās Linux sistēmas izmanto SHA-256 vai SHA-512 variantus.

Kā paroles sālīšana darbojas soli pa solim

Kā darbojas paroļu sālīšana

Sālīšanas procesu var apkopot diezgan vienkāršos soļos, bet ar milzīga ietekme uz drošību:

  Kā atklāt ļaunprātīgus procesus, izmantojot Process Explorer un VirusTotal

Pirmkārt, kad lietotājs reģistrējas vai maina savu paroli, sistēma ģenerē unikāls un nejaušs sāls šim akreditācijas datumam. Šis sāls fragments parasti ir pietiekami garš (piemēram, 16 baiti vai vairāk) un tiek iegūts no kriptogrāfiski droša nejaušo skaitļu ģeneratora.

Pēc tam lietotāja izvēlētā parole tiek apvienota ar šo sāli, lai izveidotu starpposma ķēdeŠī kombinācija var būt tikpat vienkārša kā salt + password apvienošana, vai arī tai var būt sarežģītāks formāts, ko nosaka jaucējkodu shēma. Svarīgi ir tas, ka katram lietotājam ir atšķirīga kombinācija.

Tad, a vienvirziena jaucējkodolgoritmsRezultāts ir šķietami nejauša virkne, fiksēta garuma hešs, kas tiks saglabāta datubāzē kopā ar sāls vērtību. Mūsdienu sistēmās tiek meklēti algoritmi, kas ģenerē garas un sarežģītas izejasTas palielina meklēšanas telpu un padara brutāla spēka uzbrukumus dārgākus.

Visbeidzot, kad lietotājs piesakās, sistēma atkal izgūst ievadīto paroli. saistītais sāls No datubāzes tā atkārto tieši to pašu apvienošanas un heša procesu un salīdzina rezultātu ar saglabāto hešu. Ja tie sakrīt, tā zina, ka parole ir pareiza, pat nezinot vienkāršo tekstu.

Šis mehānisms nodrošina, ka pat datubāzes noplūdes gadījumā uzbrucējs redzēs tikai individuālie haši ar saviem sāļiemUzbrukuma apturēšana nav maģija, nevis salīdzināmu hešu kopa, taču tā kļūst ievērojami dārgāka skaitļošanas ziņā.

Sāls izmantošanas priekšrocības paroļu jaucējkodos

Sāls izmantošanas priekšrocības parolē

Galvenais sālīšanas lietošanas iemesls ir šāds: stiprina saglabāto paroļu drošību pret plašu uzbrukumu klāstu. Taču ir vērts detalizēti aprakstīt konkrētās priekšrocības.

Pirmkārt, sālīšana nodrošina izturība pret vārdnīcu uzbrukumiemBez sāls uzbrucējs var sagatavot milzīgu sarakstu ar izplatītām parolēm un to jaucējkodiem un vienkārši salīdzināt tos ar nozagto datubāzi. Ar unikālu sāls kodu katram lietotājam šie iepriekš aprēķinātie jaucējkodi kļūst bezjēdzīgi, jo katra paroles un sāls koda kombinācija ģenerē atšķirīgu vērtību.

Otrkārt, sāls lietošana samazina zāļu efektivitāti. varavīksnes galdiTās ir vienkārši iepriekš aprēķinātas populāru paroļu hešu datubāzes, lai paātrinātu atkopšanu. Atkal, tā kā rezultāts ir atkarīgs no konkrētā sāls veida, šīs tabulas, kas paredzētas nesālītiem hešiem, kļūst bezjēdzīgas vai vismaz ļoti neefektīvas.

Vēl viena nepārprotama priekšrocība ir tā, ka tā uzlabo privātums noplūdes gadījumāPat ja iebrucējs iegūst piekļuvi lietotāju tabulai ar tās jaucējkodu un sāls datiem, viņš nevarēs ātri identificēt, kam ir tāda pati parole kā citiem, vai viegli veikt masveida uzbrukumus. Katram kontam nepieciešama individuāla uzmanība, kas parasti nav praktiski lielā mērogā.

  Brīdinājums par jauno WhatsApp krāpniecību: Bizum un videozvani, lai nozagtu kontus un naudu

Turklāt sālīšana padara procesu sarežģītāku. brutāla spēka uzbrukumiTā vietā, lai varētu pārbaudīt kandidāta paroli pret visiem hešiem vienlaikus, uzbrucējs ir spiests ņemt vērā katra lietotāja sāls vērtību, reizinot kopējo darba slodzi. Ja tas tiek apvienots ar lēnu un parametrizējamu heša algoritmu (piemēram, bcrypt vai Argon2), uzbrukuma izmaksas vēl vairāk palielinās.

Visbeidzot, sālīšana ir metode, kas labi pielāgojas tehnoloģiju attīstībai. Pat uzlabojoties datortehnikai un parādoties jauniem uzbrukumiem, spēcīga hašiša un unikāla sāls kombinācija Tas uztur augstu un mērogojamu grūtības līmeni: var palielināt sāls garumu, stiprināt algoritmu, palielināt skaitļošanas izmaksas utt.

Kā Linux ievieš paroļu sālīšanu (/etc/shadow)

Linux sistēmās un citās *NIX variantos lietotāju paroles netiek glabātas /etc/passwd, bet gan failā / etc / shadowŠajā failā, kas ir pieejams tikai superlietotājam, tiek glabāti paroles heši kopā ar papildu informāciju, un tajā ir skaidri redzama sāls un heša algoritma izmantošana.

Rindām failā /etc/shadow ir līdzīga struktūra:

lietotājs:$id$sal$hash:papildu_lauki…

Simbols $ Atdaliet dažādās daļas. Pirmā daļa aiz lietotājvārda norāda algoritma veids izmantots. Piemēram, 1 USD parasti apzīmē MD5, 5 USD SHA-256 un 6 USD SHA-512, kas ir visizplatītākais algoritms mūsdienu izplatījumos, jo tas piedāvā lielāku drošību nekā vecākas shēmas, kuru pamatā ir DES vai MD5.

Pēc algoritma identifikatora parādīšanās sālsun tad iegūtais jaucējkrānsTas viss atrodas vienā laukā. Kad parole tiek validēta, sistēma nolasa šo identifikatoru jeb sāls vērtību, piemēro ievadītajai parolei atbilstošo algoritmu un salīdzina aprēķināto jaucējkodu ar saglabāto.

Ja vēlaties ātri pārbaudīt, kuriem lietotājiem ir šifrētas paroles un kāds algoritms tiek izmantots, varat izmantot šādu komandu: grep '\$' /etc/shadowŠajā kontekstā dolāra zīme ($) tiek izmantota, lai atrastu rindas ar jaucējzīmēm mūsdienu formātā. Simbols ir jāatdala ar atpakaļvērsto slīpsvītru, jo regulārajās izteiksmēs tas apzīmē "rindas beigas".

Kontiem bez paroles vai bloķētiem kontiem šajā laukā parasti tiek parādīta šāda vērtība. ! o * nevis heša ar dolāriem, kas norāda, ka to nevar autentificēt, izmantojot standarta paroli. Šī struktūra skaidri parāda vienu lietu: Linux integrē sālīšanu savā formātā glabāšana paroles dzimtā.

Atšķirība starp paroles jaukšanu un sālīšanu

Ir svarīgi skaidri nošķirt divus jēdzienus, kas dažkārt tiek jaukti: sajaukšana y sālīšanaParoles hešēšana ir process, kurā parole tiek pārveidota neatpazīstamā vērtībā, izmantojot vienvirziena algoritmu. Serverim nekad nav jāzina sākotnējā parole, tikai lai pārbaudītu, vai lietotājs zina pareizo paroli, jo tas ģenerē to pašu hešu.

  Kas ir WINUX: Linux ar brīvu dvēseli un Windows izskatu un darbību

Problēma ir tā, ka, ja divas paroles ir identiskas, Nesālīts hašs arī būs identisksTas ļauj uzbrucējam salīdzināt un grupēt lietotājus pēc paroles vai izmantot iepriekš aprēķinātas tabulas. Turklāt, ja jaucējkodēls ir ātrs un izstrādāts datu integritātei (piemēram, vienkāršs SHA-256), tas kļūst neaizsargātāks pret masveida brutāla spēka uzbrukumiem.

Sālīšana ir paredzēta tieši šī vājuma novēršanai: tā ir par pievienot parolei nejaušus datus pirms jaucējkoda izmantošanas. Rezultātā pat tad, ja divi lietotāji par savu paroli izvēlas “casa”, jaucējkoda vērtības datubāzē būs pilnīgi atšķirīgas, jo vienam būs, piemēram, “casa+7Ko#”, bet otram — “casa8p?M” kā pirmsjaucējkoda virkne.

Tādējādi hešings un sālīšana nekonkurē, bet gan papildina viena otru. Hešings nodrošina vienvirziena īpašība un pārbaudes vienkāršība; sāls nodrošina unikalitāte un izturība pret masveida uzbrukumiemDroša paroļu glabāšanas ieviešana apvieno abas metodes, ideālā gadījumā izmantojot šim nolūkam izstrādātu algoritmu ar konfigurējamām izmaksām.

Salt izmantošana Linux sistēmā ar mkpasswd

GNU/Linux vidēs un citās sistēmās UnixĻoti praktisks veids, kā eksperimentēt ar sālīšanu, ir rīks mkpasswdŠī komanda tiek izmantota, lai ģenerētu šifrētas paroles droši un parasti tiek integrēts lietotāju izveides procesos, administrēšanas skriptos utt.

Mkpasswd pamata sintakse ļauj norādīt šifrējamo paroli un virkni opciju, piemēram, algoritma veidu (piemēram, des, md5, sha-256, sha-512), izmantojot opciju -mMūsdienu sistēmās saprātīgākais risinājums ir izvēlēties SHA-512 vismaz vai pat ar spēcīgākām shēmām, ja izplatījums tās atbalsta.

Īpaši interesanta iespēja sālīšanas kontekstā ir -S, kas ļauj pievienot sāli parolei pirms tās šifrēšanas. Ja tas netiek norādīts manuāli, mkpasswd var ģenerēt nejauša sāls katrā izpildētā, ka pat izmantojot vienu un to pašu pieteikšanās paroli, iegūtais hešs katru reizi ir atšķirīgs.

To var viegli pārbaudīt: ja vairākas reizes šifrējat “password123” ar mkpasswd, izmantojot SHA-512 un nejaušu sāls vērtību, jūs iegūsiet pilnīgi atšķirīgus hešus. Tomēr, ja nodosiet vienu un to pašu sāls vērtību, izmantojot -S, hešs vienmēr būs identisks, jo paroles un sāls kombinācija nemainās.

Pateicoties šim rīkam, tas ir ļoti vienkārši Sagatavojiet ar sāli šifrētas paroles lai pievienotu konfigurācijas failiem, manuāli pārvaldītu lietotājus vai pārbaudītu sālīšanas darbību, neko neprogrammējot.

Kas ir digitālā higiēna?
saistīto rakstu:
Digitālā higiēna: drošība, labsajūta un kārtība jūsu tiešsaistes dzīvē