Mikä on suola Linux-salasanan tiivisteessä ja miksi sillä on merkitystä?

Viimeisin päivitys: 04/12/2025
Kirjoittaja: Isaac
  • Suola on satunnainen merkkijono, joka lisätään salasanaan ennen tiivistettä (hash), jotta käyttäjäkohtainen tiiviste olisi yksilöllinen.
  • Linux Se tallentaa tiivisteen, suolan ja algoritmin /etc/shadow-kansioon, mikä vahvistaa suojaa sanakirjahyökkäyksiä ja sateenkaaritaulukoita vastaan.
  • Hyvät käytännöt edellyttävät pitkiä, satunnaisia ​​ja yksilöllisiä suola-analyysejä sekä vankkoja hajautusalgoritmeja ja tietokannat hyvin suojattu.
  • Salasanojen suolaaminen tulisi integroida laajempiin tietoturvakäytäntöihin, joihin kuuluvat vahvat salasanat, monitunnistus ja salasananhallinta.

suola salasanan tiivisteessä Linuxissa

Jos työskentelet GNU/Linux-järjestelmien kanssa tai olet yksinkertaisesti huolissasi tiliesi turvallisuudesta, olet luultavasti kuullut suola salasanan tiivisteessäSe on yksi niistä käsitteistä, joita mainitaan paljon, mutta usein vain puoliksi ymmärretään: se kuulostaa tekniseltä, mutta todellisuudessa se tekee eron helposti murrettavan järjestelmän ja paljon hyökkäyksiä paremmin kestävän järjestelmän välillä.

Lyhyesti sanottuna, suola on avaintekijä salasanatiivisteiden arvaamattomuudessaSe toimii lisäämällä satunnaista dataa ennen hajautusalgoritmin soveltamista, joten vaikka kahdella käyttäjällä olisi sama salasana, tietokantaan tallennettu tulos on erilainen. Tästä eteenpäin erityinen toteutus Linuxissa, sen suhde /etc/shadow-tiedostoon, työkalut, kuten mkpasswd, ja nykyaikaiset tietoturvan parhaat käytännöt ovat oma maailmansa, jota tutkimme yksityiskohtaisesti.

Mitä tarkalleen ottaen on salasanan tiivisteen suola?

suolan määritelmä salasanan hashtagissa

Kryptografiassa suolaa (suola) on satunnainen merkkijono joka liitetään käyttäjän salasanaan ennen tiivistefunktion soveltamista. Tavoitteena on, että tuloksena oleva tiiviste on yksilöllinen, vaikka selkokielinen salasana olisi sama useilla käyttäjillä.

Kun käyttäjä luo tai vaihtaa salasanansa, järjestelmä luo satunnainen suolaSe yhdistää sen salasanaan (ennen, jälkeen tai tietyssä muodossa järjestelmästä riippuen) ja soveltaa tähän yhdistelmään hajautusalgoritmia, kuten SHA-256 o SHA-512Salasanaa ei tallenneta tietokantaan, vaan tiiviste (salasana + suola), ja useimmissa järjestelmissä itse suola tallennetaan myös hasiksen mukana.

Tämä tekniikka tekee monista ennalta laskettuihin tiivisteisiin perustuvat hyökkäystekniikat, kuten sateenkaaritaulukoita, ja monimutkaistaa huomattavasti sanakirja- ja raa'alla voimalla tehtäviä hyökkäyksiä laajassa mittakaavassa. Hyökkääjä ei voi enää hyödyntää sitä, että useilla käyttäjillä on sama salasana, koska jokaisella on eri tiiviste.

On tärkeää ymmärtää, että suola ei ole itsessään salaisuus: Se ei ole salasana tai yksityinen avainSen tehtävänä on tuoda satunnaisuutta ja ainutlaatuisuutta hajautusprosessiin. Turvallisuus riippuu edelleen käytöstä vahvat salasanat y sopivat hajautusalgoritmit, mieluiten erityisesti salasanoille suunniteltu (kuten bcrypt, scrypt, Argon2), vaikka monet klassiset Linux-järjestelmät käyttävät SHA-256:n tai SHA-512:n muunnelmia.

Salasanan suolaaminen toimii vaihe vaiheelta

Salasanan suolaaminen toimii näin

Suolausprosessi voidaan tiivistää melko yksinkertaisiin vaiheisiin, mutta valtava vaikutus turvallisuuteen:

  Kuinka havaita haitalliset prosessit Process Explorerilla ja VirusTotalilla

Ensin, kun käyttäjä rekisteröityy tai vaihtaa salasanaansa, järjestelmä luo ainutlaatuinen ja satunnainen suola kyseistä tunnistetta varten. Kyseinen suola-arvo on yleensä riittävän pitkä (esimerkiksi 16 tavua tai enemmän) ja se saadaan kryptografisesti suojatulta satunnaislukugeneraattorilta.

Seuraavaksi käyttäjän valitsema salasana yhdistetään suolan kanssa muodostaen väliketjuTämä yhdistelmä voi olla niinkin yksinkertainen kuin salt + password -yhdistelmä, tai sillä voi olla monimutkaisempi, tiivisteen määrittämä muoto. Tärkeintä on, että jokaisella käyttäjällä on eri yhdistelmä.

Sitten, a yksisuuntainen hajautusalgoritmiTuloksena on näennäisesti satunnainen merkkijono, tiiviste (hash), jonka pituus on kiinteä ja joka tallennetaan tietokantaan suolan kanssa. Nykyaikaisissa järjestelmissä etsitään algoritmeja, jotka tuottavat pitkät ja monimutkaiset poistumisetTämä lisää etsintätilaa ja tekee raa'an voiman hyökkäyksistä kalliimpia.

Lopuksi, kun käyttäjä kirjautuu sisään, järjestelmä hakee syötetyn salasanan uudelleen. liittyvä suola Se toistaa täsmälleen saman yhdistämis- ja hajautusprosessin tietokannasta ja vertaa tulosta tallennettuun hajautusarvoon. Jos ne täsmäävät, se tietää salasanan olevan oikea ilman, että tarvitsee tietää selkotekstiä.

Tämä mekanismi varmistaa, että vaikka tietokanta vuotaisi, hyökkääjä näkee vain yksittäisiä hash-yhdisteitä omilla suoloillaanVertailukelpoisten tiivisteiden sijaan hyökkäyksen pysäyttäminen ei ole taikuutta, mutta siitä tulee laskennallisesti huomattavasti kalliimpaa.

Sallan käytön edut salasanahajautuksissa

Suolan käytön edut salasanoissa

Tärkein syy suolaamisen käyttöön on se, että vahvistaa tallennettujen salasanojen turvallisuutta monenlaisia ​​hyökkäyksiä vastaan. Mutta on syytä tarkastella yksityiskohtaisesti sen erityisiä etuja.

Ensinnäkin suolaaminen tarjoaa vastustus sanakirjahyökkäyksilleIlman suola-arvoa hyökkääjä voi laatia valtavan listan yleisistä salasanoista ja niiden tiivisteistä ja yksinkertaisesti verrata niitä varastettuun tietokantaan. Jos jokaisella käyttäjällä on oma yksilöllinen suola-arvo, näistä ennalta lasketuista tiivisteistä tulee hyödyttömiä, koska jokainen salasana- ja suola-arvoyhdistelmä tuottaa eri arvon.

Toiseksi, suolan käyttö heikentää tuotteen tehoa. sateenkaaripöydätNämä ovat yksinkertaisesti ennalta laskettuja tietokantoja suosittujen salasanojen tiivisteistä palautuksen nopeuttamiseksi. Jälleen kerran, koska tulos riippuu tietystä suolasta, näistä suolaamattomille tiivisteille suunnitelluista taulukoista tulee hyödyttömiä tai ainakin erittäin tehottomia.

Toinen selkeä etu on, että se parantaa yksityisyys vuodon sattuessaVaikka tunkeilija pääsisi käyttäjätaulukkoon sen tiivisteen ja suolan avulla, hän ei pysty nopeasti tunnistamaan, kenellä on sama salasana kuin muilla, tai helposti käynnistämään joukkohyökkäyksiä. Jokainen tili vaatii yksilöllistä huomiota, mikä on yleensä epäkäytännöllistä suuressa mittakaavassa.

  Varoitus uudesta WhatsApp-huijauksesta: Bizum ja videopuhelut tilien ja rahan varastamiseksi

Lisäksi suolaaminen lisää monimutkaisuutta raa'an voiman hyökkäyksetSen sijaan, että hyökkääjä voisi testata ehdokassalasanaa kaikkia tiivisteitä vastaan ​​kerralla, hänen on otettava huomioon jokaisen käyttäjän suola-arvo (suola), mikä moninkertaistaa kokonaistyömäärän. Jos tämä yhdistetään hitaaseen ja parametroitavaan tiivistealgoritmiin (kuten bcrypt tai Argon2), hyökkäyksen kustannukset kasvavat entisestään.

Lopuksi, suolaaminen on tekniikka, joka mukautuu hyvin teknologiseen kehitykseen. Vaikka tietokoneet kehittyvät ja uusia hyökkäyksiä ilmaantuu, vahvan hasiksen ja ainutlaatuisen suolan yhdistelmä Se ylläpitää korkeaa ja skaalautuvaa vaikeustasoa: voit pidentää suolan pituutta, vahvistaa algoritmia, lisätä laskentakustannuksia jne.

Kuinka Linux toteuttaa salasanan suolaamisen (/etc/shadow)

Linux-järjestelmissä ja muissa *NIX-muunnelmissa käyttäjien salasanoja ei tallenneta tiedostoon /etc/passwd, vaan tiedostoon / Etc / varjoTämä tiedosto, johon vain pääkäyttäjällä on pääsy, tallentaa salasanan tiivisteet sekä lisätietoja, ja siinä näkyy selvästi suolan ja tiivistealgoritmin käyttö.

Rivien rakenne tiedostossa /etc/shadow on seuraavanlainen:

käyttäjä:$id$sal$hash:lisäkentät…

Symboli $ Erottele eri osat. Käyttäjänimen jälkeinen ensimmäinen osa osoittaa algoritmin tyyppi käytetty. Esimerkiksi 1 dollaria edustaa yleensä MD5:tä, 5 dollaria SHA-256 ja 6 dollaria SHA-512, joka on yleisin algoritmi nykyaikaisissa jakeluissa, koska se tarjoaa paremman turvallisuuden kuin vanhemmat DES:ään tai MD5:een perustuvat järjestelmät.

Algoritmin tunnisteen ilmestymisen jälkeen suolaaja sitten tuloksena oleva tiivisteKaikki tämä on samassa kentässä. Kun salasana vahvistetaan, järjestelmä lukee kyseisen tunnisteen, suolan, käyttää syötettyä salasanaa vastaavaa algoritmia ja vertaa laskettua tiivistettä tallennettuun tiivisteeseen.

Jos haluat nopeasti tarkistaa, millä käyttäjillä on salatut salasanat ja mitä algoritmia käytetään, voit käyttää komentoa, kuten grep '\$' /etc/shadowTässä yhteydessä dollarimerkkiä ($) käytetään paikantamaan rivejä, joissa on tiivisteitä (hash) nykyaikaisessa muodossa. Symboli on vaihdettava kenoviivaan, koska säännöllisissä lausekkeissa se tarkoittaa "rivin loppua".

Tilit, joilla ei ole salasanaa tai jotka on lukittu, näyttävät yleensä tällaisen arvon kyseisessä kentässä. ! o * dollareita sisältävän tiivisteen sijaan, mikä osoittaa, että sitä ei voida todentaa tavallisella salasanalla. Tämä rakenne tekee yhden asian selväksi: Linux integroi suolaamisen tiedostomuotoonsa varastointi salasanat syntyperäisesti.

Salasanan hajauttamisen ja suolaamisen välinen ero

On tärkeää erottaa selvästi kaksi käsitettä, jotka joskus sekoitetaan toisiinsa: hajautusta y suolausSalasanan hajautus on prosessi, jossa salasana muunnetaan tunnistamattomaksi arvoksi yksisuuntaisen algoritmin avulla. Palvelimen ei tarvitse koskaan tietää alkuperäistä salasanaa, ainoastaan ​​varmistaakseen, että käyttäjä tietää oikean salasanan, koska se tuottaa saman hajautuksen.

  Mikä on WINUX: Linux vapaalla sielulla ja Windowsin ulkoasu ja käyttökokemus

Ongelmana on, että jos kaksi salasanaa ovat identtisiä, Suolaamaton hash on myös identtinenTämä antaa hyökkääjälle mahdollisuuden vertailla ja ryhmitellä käyttäjiä salasanan perusteella tai käyttää ennalta laskettuja taulukoita. Lisäksi, jos hajautusalgoritmi on nopea ja suunniteltu tietojen eheyttä silmällä pitäen (kuten yksinkertainen SHA-256), siitä tulee alttiimpi massiivisille raa'alle voimahyökkäyksille.

Suolaaminen ratkaisee juuri tuon heikkouden: kyse on lisää salasanaan satunnaisia ​​tietoja ennen hajautusta. Tuloksena on, että vaikka kaksi käyttäjää valitsisi salasanakseen "casa", tietokannan hajautukset ovat täysin erilaiset, koska toisella on esimerkiksi "casa+7Ko#" ja toisella "casa8p?M" esihajautuksen merkkijonona.

Näin ollen hajautus ja suolaus eivät kilpaile keskenään, vaan pikemminkin täydentävät toisiaan. Hajautus tarjoaa yksisuuntaisuusominaisuus ja helppo todentaminen; suola tarjoaa ainutlaatuisuus ja kestävyys massiivisia hyökkäyksiä vastaanTurvallinen salasanan tallennusratkaisu yhdistää molemmat tekniikat, mieluiten käyttämällä tätä tarkoitusta varten suunniteltua algoritmia ja konfiguroitavilla kustannuksilla.

Saltin käyttö Linuxissa mkpasswd:n kanssa

GNU/Linux-ympäristöissä ja muissa järjestelmissä unixHyvin käytännöllinen tapa kokeilla suolaamista on työkalu mkpasswdTätä komentoa käytetään luomaan salatut salasanat turvallisesti, ja se on yleisesti integroitu käyttäjien luomisprosesseihin, hallintaskripteihin jne.

mkpasswd-komennon perussyntaksi mahdollistaa salattavan salasanan ja useiden asetusten, kuten algoritmin tyypin (esimerkiksi des, md5, sha-256, sha-512), määrittämisen vaihtoehdolla -mNykyaikaisissa järjestelmissä järkevää on valita SHA-512 ainakin tai vielä vankempien järjestelmien avulla, jos jakelu tukee niitä.

Erityisen mielenkiintoinen vaihtoehto suolaamisen yhteydessä on -S, joka sallii lisää suolaa salasanaan ennen sen salaamista. Jos sitä ei määritetä manuaalisesti, mkpasswd saattaa luoda satunnainen suola jokaisessa suorituksessaniin että vaikka käytettäisiin samaa kirjautumissalasanaa, tuloksena oleva tiiviste on joka kerta erilainen.

Tämä voidaan helposti varmistaa: jos salaat "password123":n useita kertoja mkpasswd:llä käyttäen SHA-512:ta ja satunnaista suola-arvoa, saat täysin erilaiset tiivisteet. Jos kuitenkin välität saman suola-arvon käyttämällä -S:ää, tiiviste on aina identtinen, koska salasana + suola -yhdistelmä ei muutu.

Tämän työkalun ansiosta se on erittäin helppoa Valmistele suolalla salatut salasanat lisätä määritystiedostoihin, hallita käyttäjiä manuaalisesti tai testata suolaustoimintoja ilman ohjelmointia.

Mitä on digitaalinen hygienia?
Aiheeseen liittyvä artikkeli:
Digitaalinen hygienia: turvallisuutta, hyvinvointia ja järjestystä verkkoelämässäsi