Хранение паролей

Для удобства пользователя в KDE su реализован механизм хранения паролей. В этом разделе освещены вопросы безопасности.

Запоминание паролей в KDE su создаёт небольшую брешь в системе безопасности. Очевидно, что KDE su позволяет пользоваться этими паролями только пользователю с вашим идентификатором. Но если это реализовать без предосторожностей, системный уровень безопасности root понизится до уровня обычного пользователя (вас). И человек, который получит доступ к вашей учётной записи, получит доступ уровня root. KDE su пытается не допустить этого. Схема безопасности, используемая программой, обеспечивает достаточный уровень безопасности. Описание этой схемы приведено далее.

KDE su использует управляющую программу, которая называется kdesud. Эта управляющая программа ожидает команды с UNIX®-сокета, расположенного в /tmp. Режим его доступа равен 0600, то есть только пользователь с вашим идентификатором может соединиться с ним. Если хранение паролей включено, KDE su выполняет команды через эту управляющую программу. Программа пишет команды и пароль пользователя root в сокет, и управляющая программа выполняет команду su, как описано выше. После этого команда и пароль не удаляются, а хранятся в течение указанного времени (устанавливается в модуле настройки). Если другой запрос на запуск такой же команды приходит в течение этого периода времени, клиент может не предоставлять пароль. Чтобы не дать человеку, получившему доступ к вашей учётной записи, украсть у управляющей программы пароль (например, запуском отладчика), дляsgid сервиса (группа при запуске) установлено значение nogroup. Это не даёт обычным пользователям, в том числе и вам, получать пароли от процесса kdesud. Также эта управляющая программа устанавливает переменную окружения DISPLAY в значение при запуске. Всё, что сможет сделать взломщик, — это запустить на вашем дисплее приложение.

Слабое место в этой схеме в том, что запускаемые программы могут быть написаны без соблюдения правил защиты (например, программы с setuid root). Это означает, что они могут вызвать переполнение буферов или другие проблемы, а взломщик может использовать это.

Использование хранения паролей — это компромисс между безопасностью и удобством. Подумайте и определите, что имеет приоритетное значение, и, соответственно, следует ли пользоваться этой возможностью программы.