Кіріспе

Unix-ке ұқсас операциялық жүйелерде парольдерді өзгерту құралы

passwd – Unix, Plan 9, Inferno және көптеген Unix-ке ұқсас операциялық жүйелерде пайдаланушының паролін өзгертуге арналған команда. Пайдаланушы енгізген пароль жаңа парольдің хэштелген нұсқасын жасау үшін кілт тудыру функциясынан өтеді, және ол сақталады. Тек хэштелген нұсқа ғана сақталады; қауіпсіздік мақсатында енгізілген пароль сақталмайды. Пайдаланушы жүйеге кірген кезде, кіру процесінде енгізген паролі сол кілт тудыру функциясынан өтеді және алынған хэштелген нұсқа сақталған нұсқамен салыстырылады. Егер хэштер сәйкес келсе, енгізілген пароль дұрыс деп есептеледі және пайдаланушы аутентификацияланады. Теориялық тұрғыдан алғанда, екі әртүрлі пароль бірдей хэшті тудыруы мүмкін. Дегенмен, криптографиялық хэш функциялары бірдей хэшті тудыратын парольді табу өте қиын және іс жүзінде мүмкін емес етіп жасалған, сондықтан егер тудырылған хэш сақталған хэшпен сәйкес келсе, пайдаланушы аутентификацияланады. passwd командасы жергілікті тіркелгілер үшін парольдерді өзгертуге қолданылуы мүмкін, сондай-ақ көптеген жүйелерде NIS, Kerberos немесе LDAP сияқты таратылған аутентификация механизмімен басқарылатын парольдерді өзгертуге де қолданылуы мүмкін.

Тарих

Парольді көлеңдеуге дейін Unix пайдаланушысының хэштелген паролі /etc/passwd файлында (жоғарыда сипатталғандай, жеті өрісті форматта) олардың жазбасының екінші өрісінде сақталған. Парольді көлеңдеу Unix жүйелерінде алғаш рет 1980-ші жылдардың ортасында SunOS, 1988 жылы System V Release 3.2 және 1990 жылы BSD4.3 Reno әзірленген кезде пайда болды. Бірақ, UNIX-тің бұрынғы нұсқаларын порттаған өндірушілер әрқашан жаңа парольді көлеңдеу мүмкіндіктерін өз нұсқаларына қоспады, бұл сол жүйелердің пайдаланушыларын пароль файлдарына шабуылдарға осал қалдырды. Жүйе әкімшілері парольдерді әрбір қосылған жүйедегі файлдардың орнына NIS және LDAP сияқты таратылған деректер базасында сақтауға да мүмкіндік береді. NIS жағдайында көлеңкелі пароль механизмі көбінесе NIS серверлерінде қолданылады; ал басқа таратылған механизмдерде әртүрлі пайдаланушы аутентификациясы компоненттеріне қол жеткізу мәселесі негізгі деректер қоймасының қауіпсіздік механизмдерімен шешіледі. 1987 жылы түпнұсқа Shadow Password Suite авторы Джули Хоу компьютерлік бұзушылыққа ұшырады және login, passwd және su командаларын қамтитын Shadow Suite-тің бастапқы нұсқасын жазды. SCO Xenix операциялық жүйесі үшін жазылған бастапқы нұсқа тез арада басқа платформаларға портталды. Shadow Suite 1992 жылы Linux жобасының алғашқы жариялануынан бір жыл өткен соң Linux-қа портталды және көптеген ерте дистрибутивтерге қосылды, сондай-ақ көптеген қазіргі Linux дистрибутивтерінде де қолданылуда. Бұрын, әртүрлі аутентификация схемаларында парольді өзгерту үшін әртүрлі командалар қажет болатын. Мысалы, NIS паролін өзгерту үшін yppasswd командасы қолданылды. Бұл пайдаланушылардан әртүрлі жүйелер үшін парольді өзгертудің әртүрлі әдістерін білуді талап етті, сонымен қатар әртүрлі бағдарламаларда бірдей функцияларды орындайтын кодты қайталауға әкелді. Көптеген іске асыруларда қазір бір ғана passwd командасы бар, ал парольдің нақты қайда өзгертілетіні плагиндік аутентификация модульдері (PAM) арқылы пайдаланушыға көрінбейтін түрде басқарылады. Мысалы, қолданылатын хэш түрі pam unix.so модулінің конфигурациясымен анықталады. Дәстүрлі түрде MD5 хэші қолданылып келді, ал қазіргі модульдер blowfish, SHA256 және SHA512 сияқты күштірек хэштерді де қолдайды.