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