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, чтобы это происходило после каждого коммита,

Другие вопросы по тегам