Я прочитал довольно много сообщений об использовании PermitUserEnvironment
и файл ~/.ssh/environment
чтобы передать переменные env в оболочку ssh. Официальный sshd документы и несколько других ресурсов ссылаются на некоторые риски безопасности, связанные с этим.
Включение обработки среды может позволить пользователям обходить ограничения доступа в некоторых конфигурациях с помощью таких механизмов, как LD_PRELOAD.
Каковы вероятные проблемы безопасности при активации PermitUserEnvironment
? Я искал данные о подключении к БД в этих переменных среды, это целесообразно?
Прежде всего, если вы не пытаетесь сделать что-то особенное с ограничениями доступа пользователей, то есть если вы предлагаете интерактивный доступ к оболочке, вероятно, нет дополнительный риски безопасности при разрешении использования .ssh/environment
file, поскольку все, что пользователь мог сделать с этим файлом, он также мог делать интерактивно в своей оболочке.
Включение обработки среды может позволить пользователям обходить ограничения доступа в некоторых конфигурациях с помощью таких механизмов, как LD_PRELOAD.
Если вы используете принудительные команды SSH для ограничения того, что люди могут делать через ssh (например, если вы ограничиваете людей только использованием sftp
или scp
), позволяя кому-либо устанавливать переменные среды, такие как LD_PRELOAD
(или, возможно, даже PATH
) позволит им перехватить ваши ограничения, заменив базовые вызовы библиотеки своим собственным кодом. С другой стороны, если вы создаете .ssh/environment
от имени ваших пользователей и иначе они не могут управлять этим, ваши риски относительно невелики.
Не зная больше о вашем конкретном случае использования, трудно дать окончательный ответ.