Выпуск механизма управления теневыми паролями tcb 1.2


Спустя 10 лет с прошлого выпуска, состоялся релиз механизма управления теневыми паролями tcb 1.2, выступающего в роли альтернативы традиционной для Linux схемы /etc/shadow. Пакет tcb применяется для хранения базы паролей в дистрибутивах Openwall GNU/\*/Linux, ALT Linux и Mageia. Код проекта распространяется под лицензией BSD.

Ключевым отличием tcb от /etc/shadow является уход от использования общего файла со всеми хэшами паролей в пользу разнесения хэшей паролей по отдельным каталогам и файлам. При подобной организации хранения операции с паролями можно выполнять без повышения прав до root, а процесс, осуществляющий обработку учётных данных, ограничен учётной записью отдельного пользователя. Для сравнения, в традиционном механизме /etc/shadow его обработчик всегда получает доступ сразу ко всем хэшам паролей, т.е. уязвимость в утилите passwd позволит изменить любой пароль.

В tcb каждый файл включает только хэш одного пользователя и размещается в каталоге, принадлежащем этому пользователю (но в то же время недоступном пользователю непосредственно), что позволяет обойтись без повышения привилегий до уровня root (ограничившись их повышением до группы shadow) при запуске утилиты passwd. Например, параметры сохраняются в файле /etc/tcb/user/shadow, где каталог /etc/tcb принадлежит root:shadow и имеет права "drwx--x---" , а /etc/tcb/user/ - user:auth "drwx--s---" и /etc/tcb/user/shadow - user:auth "-rw-r-----". При этом группа shadow сама по себе предоставляет доступ на чтение хэша только текущего пользователя, а добавление к ней группы auth - на чтение хэшей всех пользователей.

Пакет включает в себя PAM-модуль pam\_tcb, NSS модуль libnss\_tcb и общую для данных модулей библиотеку libtcb. Замены модулей PAM и NSS достаточно для работы со схемой tcb штатных утилит, таких как passwd, и системных сервисов. Используемый в tcb универсальный интерфейс к механизмам хэшировния паролей, исходно реализованный в виде патчей к Glibc в crypt\_blowfish, теперь поддерживается также в библиотеке libxcrypt, которая поставляется по умолчанию в Fedora Linux вместо libcrypt. Это позволяет использовать вместе с tcb штатную системную библиотеку Glibc без применения дополнительных патчей, а также использовать поддерживаемые в libxcrypt современные механизмы хэширования паролей, включая yescrypt.

Из улучшений в выпуске tcb 1.2 отмечается поддержка libxcrypt и новых версий Glibc, поддержка интернационализации в pam\_tcb (i18n) и прекращение поддержки устаревшего механизма NIS/NIS+. Большая часть изменений подготовлена Дмитрием Левиным из команды ALT Linux.

Источник: https://www.opennet.ru/opennews/art.shtml?num=54391


Comments 0