Отключить хранение паролей в виде открытого текста SVN для всех пользователей


9

По умолчанию Subversion позволяет пользователям сохранять свой пароль в текстовом формате в ~/.subversion/auth/svn.simple. Я изучаю варианты хранения зашифрованных паролей в SVN , но, по крайней мере, как можно скорее, я хочу полностью отключить возможность хранить пароли для всех наших пользователей. Мы работаем с Subversion 1.6.17.

Я могу отключить это в домашнем каталоге пользователя через файл конфигурации.

~ / .subversion / серверы :

[global]
# Password / passphrase caching parameters:
store-passwords = no
store-plaintext-passwords = no

Тем не менее, пользователь может изменить файл конфигурации, если он хочет. Разве нет общесистемного конфигурационного файла svn? Несколько вариантов, которые я видел:

Опция 1

В версии 1.8-dev скрипт сценария Subversion принимает опцию --disable-plaintext-password-storage, чтобы обойти логику, в которой хранятся пароли в виде открытого текста и пароли сертификатов клиентов.

Я предпочитаю не обновляться до выпуска разработки.

Вариант 2

/etc/subversion/config

AFAIK, этот файл конфигурации используется только тогда, когда у пользователя нет файла конфигурации уже в его домашнем каталоге.

Вариант 3

Добавьте задание cron, чтобы удалить кеш авторизации пользователя ~/.subversion/auth/svn.simple. Таким образом, даже если они изменят свой конфигурационный файл svn, наша работа cron уничтожит все сохраненные пароли. Тем не менее, даже запускать его каждую минуту не гарантирует, что наша система резервного копирования не получит файлы, содержащие незашифрованные пароли.

Идеи?


Вы управляете сервером? Почему бы не использовать SSH плюс ключ или Kerberos вместо аутентификации по паролю?
Микель

да я админ
Banjer

Ответы:


6

Ты не можешь

Что бы вы ни делали, ваши пользователи могут обойти это и в любом случае сохранить свой пароль в текстовом файле. Если вы отключите эту функцию в двоичном файле клиента, они загрузят или скомпилируют другой клиент. Как правило, если вы устанавливаете противные меры безопасности (такие как необходимость вводить пароль для каждой операции svn), ваши пользователи будут обходить их таким образом, что это ухудшит безопасность. (Например, написание скрипта-обертки, содержащего их пароль. Который они оставят читабельным для всего мира.) Так что не делайте этого.

Повторим еще раз: вы не можете одним техническим способом помешать пользователям сохранить свой пароль в файле. Вы можете запретить это, но если это усложнит их жизнь, они все равно это сделают.

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

Если вы беспокоитесь о повторном использовании пароля, введите случайный (а значит, уникальный) пароль, который они напишут раз и навсегда в своем клиенте. Разумеется, есть простой процесс смены скомпрометированных паролей.


Великолепные моменты вокруг. Я, конечно, видел, как пользователи обходят существующие протоколы, чтобы облегчить им жизнь. Мне нужно посмотреть, что еще предлагает svn для аутентификации, которая не раздражает пользователей, например, на основе ключей.
Banjer

0

Кстати, даже до того, как что-то зашифровать, я бы позаботился о правах доступа к файлам: просто из любопытства проверил мою собственную настройку и обнаружил, что это доступно для чтения всем. Для файла, содержащего четкий пароль, он выглядит как дыра в безопасности.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.