Visual Svn Server: как ограничить редактирование указанным IP-адресом
Я хочу включить только определенный IPAddess для редактирования (добавления, удаления, обновления...) моего визуального сервера SVN, но все остальные IPAddess должны иметь возможность читать...
Я считаю, что необходимо внести изменения в файл %VISUALSVN_SERVER%conf\httpd-custom.conf
<VirtualHost *:80>
<Location /svn>
# write access
<LimitExcept GET PROPFIND OPTIONS REPORT>
Order deny,allow
deny from all
Allow from XXX.XXX.XXX.XXX
</LimitExcept>
</Location>
</VirtualHost>
но не знаю хорошо визуальный svn сервер. какой правильный путь?
Visual SVN Server 3.2 x64
установлен в Windows 2008 R2 Server x64
ОБНОВЛЕНИЕ от поддержки VisualSvn
Такая возможность недоступна в VisualSVN Server 3.2 из коробки, однако мы рассматриваем возможность реализовать ее в будущих версиях. [...] Вообще говоря, реализовать ограничения на основе IP можно, изменив файл httpd-custom.conf, однако мы настоятельно не рекомендуем использовать этот подход. На сервере VisualSVN включена опция "SVNPathAuthz short_circuit", что значительно повышает производительность авторизации. Однако у этого параметра есть ограничение: конфигурация сервера не должна зависеть от других модулей авторизации, таких как "authz_host_module" (который отвечает за проверки на основе IP), иначе вы столкнетесь с неожиданным поведением при авторизации. С другой стороны, если вы отключите "short_circuit", вы обязательно заметите снижение производительности при выполнении интенсивных авторизаций операций с вашими репозиториями (таких как запуск
svn log
,svn checkout
, `svn export и т. д. или запуск графического браузера репозитория, такого как тот, который предоставляет клиент TortoiseSVN)
1 ответ
Поскольку в SVN нет встроенной поддержки для этого, вы можете найти обходной путь.
Вы можете настроить SVN-сервер для использования аутентификации, затем разрешить только выбранным аутентифицированным пользователям / группам совершать коммиты и оставить всех для доступа только для чтения. Безопасность может быть усилена в IIS, и SSL/TLS можно легко использовать, и вы даже можете обнаружить и заблокировать попытки перебора паролей, если это ваша основная причина, чтобы рассмотреть IP-фильтрацию.
Если по какой-то причине IP-фильтрация является обязательной, я бы предложил использовать другой экземпляр SVN Server (который работает на другом IP-порту) и сделать копию репозитория для этого экземпляра (используйте svn dump на главном экземпляре, а затем загрузите svn при чтении). только экземпляр 2). Затем разрешите брандмауэру разрешить коммитентам (которые фильтруются по IP) доступ к главному серверу SVN, а все другие IP-адреса могут получить доступ к экземпляру сервера SVN только для чтения.
С помощью svn dump and load вы фактически копируете все - все коммиты, историю, комментарии и т. Д. Вы можете делать это так часто, как вам нравится, и вы также можете привязать эти действия к хуку post-commit, чтобы это происходило после каждого коммита,