Ризики безпеки PermitUserEn Environment in ssh


11

Я прочитав досить багато публікацій щодо використання PermitUserEnvironmentта файлу ~/.ssh/environment, щоб передати env змінні в оболонку ssh. Офіційні документи sshd та декілька інших ресурсів натякають на деякі ризики безпеки.

Увімкнення обробки середовища може дозволяти користувачам обходити обмеження доступу в деяких конфігураціях за допомогою механізмів, таких як LD_PRELOAD.

Які ймовірні проблеми безпеки активуються PermitUserEnvironment? Я шукав, як зберегти дані про з'єднання БД у цих змінних середовища, це доцільно?


Я подав звіт про помилку в проект OpenSSH, попросивши їх додати кілька слів на сторінку чоловіка sshd_config, уточнивши це питання: bugzilla.mindrot.org/show_bug.cgi?id=2317
Флорін Андрій

Відповіді:


16

Перш за все, якщо ви не намагаєтесь робити щось фантазійне із обмеженнями доступу користувачів - тобто, якщо ви пропонуєте інтерактивний доступ до оболонки - можливо, додаткові нульові ризики безпеки дозволяють використовувати .ssh/environmentфайл, оскільки все Користувач може виконати цей файл, який вони також могли б робити інтерактивно у своїй оболонці.

Увімкнення обробки середовища може дозволяти користувачам обходити обмеження доступу в деяких конфігураціях за допомогою механізмів, таких як LD_PRELOAD.

Якщо ви використовуєте примусові команди SSH, щоб обмежити, що люди можуть робити за допомогою ssh (наприклад, якщо ви обмежуєте людей лише користуватися sftpабо scp), дозволяючи комусь встановлювати змінні середовища, такі як LD_PRELOAD(або, можливо, навіть PATH), дозволить їм викрасти ваш обмеження шляхом заміни базових дзвінків у бібліотеку власним кодом. З іншого боку, якщо ви створюєте .ssh/environmentвід імені своїх користувачів, а в іншому випадку вони не в змозі ним керувати, ризики відносно невеликі.

Не знаючи більше про конкретний випадок використання, важко дати остаточну відповідь.


Я дозволяю отримати доступ до сервера лише від 2 або 3 довірених сторін (розробників у нашій організації) через їх ключі rsa. Отже, з того, що ви говорите, це звучить нормально
Роб Сквайрс

З вашої відповіді я вважаю, що я не повинен втрачати сон про наслідки для безпеки включення цієї опції, якщо всі мої облікові записи в ssh забезпечують повний доступ до bash (без судо). Правильно?
Флорін Андрій

Це правильно. Якщо ви надаєте повний доступ до bash, люди вже можуть встановлювати всі змінні середовища, які вони хочуть.
larsks
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.