típus | Unix parancslista |
---|
A passwd egy olyan parancs, amely a legtöbb operációs rendszerben elérhető Unix és Unix-szerű, és lehetővé teszi a felhasználó számára a jelszó megváltoztatását . A passwd egyben annak a fájlnak a neve, amely tartalmazza a jelszavakat ugyanezeken a rendszereken.
A felhasználó által beírt új jelszót egy kulcs levezetési függvény dolgozza fel, hogy létrehozza az új jelszó kivonatolt változatát . Ezt a kivonatolt verziót menti a szerver. Csak az apróra vágott változat marad meg; a felhasználó által megadott jelszót biztonsági okokból nem menti.
Amikor a felhasználó bejelentkezik a szerverre, a felhasználó a bejelentkezési folyamat során megadott jelszót ugyanaz a kulcslevezetési függvény dolgozza fel, és a kapott kivonatolt verziót összehasonlítja a mentett verzióval. Ha a kivonatok megegyeznek, akkor a megadott jelszót helyesnek tekintik, és a felhasználót hitelesítik. Elméletileg lehetséges, hogy két különböző jelszó ugyanazt a kivonatot hozza létre . A kulcs levezetési függvényeként használt kriptográfiai kivonatolási funkciók azonban úgy vannak megtervezve, hogy az azonos hash-t előállító jelszó megtalálása nagyon nehéz és gyakorlatilag lehetetlen, tehát ha a létrehozott hash megegyezik a memorizáltal, akkor a felhasználó hitelesíthető.
A passwd paranccsal módosíthatjuk a helyi fiókok jelszavait, és a legtöbb rendszerben elosztott hitelesítési mechanizmusban (például NIS , Kerberos vagy LDAP) kezelt jelszavak megváltoztatására is .
A fájl /etc/passwd egy szöveges adatbázis, amely információkat szolgáltat azokról a felhasználókról, akik bejelentkezhetnek a rendszerbe.
A fájl neve az egyik eredeti funkcióból származik, amely a felhasználói fiók jelszavainak ellenőrzésére használt adatok tárolása volt. A modern Unix rendszereken azonban a jelszavakat egy másik fájlba menti, és ott kivonatolt formában menti őket .
A fájl /etc/passwdáltalában rendelkezik engedélyekkel, amelyek lehetővé teszik, hogy a rendszer minden felhasználója elolvassa (globálisan olvasható), bár csak a root felhasználó vagy néhány speciális parancs változtathatja meg.
A fájl /etc/passwdegy szöveges fájl , minden rekord egy felhasználói fiókot ír le. Minden rekord hét mezőből áll, amelyeket kettőspont választ el . A fájlban szereplő rekordok sorrendje általában nem fontos.
Íme egy példa a felvételre:
jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8910,(234)5550044,email:/home/jsmith:/bin/shA mezők balról jobbra:
A fájlt /etc/shadowa jelszó biztonságának növelésére használják. A fájl a jelszavak kivonatolt változatát tartalmazza, és csak nagyon privilegizált felhasználók férhetnek hozzá. Ezeket az adatokat általában a root felhasználó tulajdonában lévő fájlokban tárolják, és csak ő érheti el.
A rendszergazdák csökkenthetik a durva erőszakos támadások valószínűségét azáltal, hogy a kivonatolt jelszavakat hozzáférhetetlenné teszik a kiváltságos felhasználók számára. Ennek egyszerű módja, ha a fájlt /etc/passwdcsak a root felhasználó teszi hozzáférhetővé. Ez azonban korlátozná a fájl egyéb adataihoz való hozzáférést, például a felhasználónév és a felhasználói azonosító leképezéseket, ami számos program és segédprogram újraprogramozását kényszerítené .
Jobb megoldás egy árnyékfájl létrehozása, amely a jelszavak kivonatát elkülöníti a passwd fájl többi adatától, amely nagyszámú felhasználó számára elérhető. Ez a fájl a fájl /etc/shadowa Linux és Unix rendszerek , vagy a fájl /etc/master.passwda BSD rendszerek . Ezeket a fájlokat csak a root felhasználó olvashatja el. (A root felhasználó hozzáférése a kivonatolt jelszavakhoz elfogadhatónak tekinthető, mivel a hagyományos "mindenható felhasználó" biztonsági modellt használó rendszereken a root felhasználó így is megkapja a jelszót. Információkat más módon). A legújabb Unix szinte minden operációs rendszere kivonatolt jelszavakat használ, és egy fájl árnyékában van elrejtve .
A kivonatolt és rejtett jelszófájl használata nem zárja le teljesen a támadó hozzáférését a kivonatolt jelszavakhoz, mivel egyes hálózati hitelesítési rendszerek úgy működnek, hogy a kivonatolt jelszót továbbítják a hálózaton (néha tiszta szövegben , pl. Telnet ), így sebezhetővé teszik az elfogás szempontjából. A rendszeradatok, például a mágnesszalagra vagy optikai lemezre írt biztonsági másolatok másolatai szintén a hash jelszavak illegális megszerzésének eszközévé válhatnak. Ezenkívül a törvényes jelszóellenőrző programok által használt funkciókat úgy kell megírni, hogy a rosszindulatú programok rövid időn belül ne tudjanak nagyszámú hitelesítési ellenőrzést végrehajtani.
Nem számít, hogy a jelszómaszkolás megvalósul-e egy adott rendszeren, a passwd fájlnak minden felhasználó számára olvashatónak kell lennie bizonyos segédprogramok működéséhez (például ahhoz, hogy a Ls segédprogram megjelenítse a fájltulajdonosok nevét. 'Egy fájl). Ez azt jelenti, hogy ha a maszkolás nem valósul meg, akkor a támadó, aki előjog nélküli hozzáféréssel rendelkezik a rendszerhez, megkapja az összes felhasználó jelszavának kivonatolt formáját.
Hashed formái jelszavakat lehet használni, hogy indítson elérhető brute force támadás , tesztelése lehetséges jelszó ellen kivonatolt jelszavak nélkül is viszonylag gyorsan figyelmeztető rendszer biztonsági eszközök kimutatására tervezett abnormális próbálkozások száma. A csatlakozás sikertelen. Különösen akkor, ha a hash nem sós, ezekre a hash jelszavakra is lehet keresni a szivárvány táblákban , olyan adatbázisokban, amelyeket kifejezetten arra terveztek, hogy jelszót találjanak a hash formájából.
Jelszómaszkolás esetén a fájl /etc/passwda kivonatolt jelszó helyett általában egy olyan karaktert jelenít meg, mint például "*" vagy "x" az egyes felhasználók jelszómezőjében, és a fájl /etc/shadowáltalában az alábbiakat tartalmazza: