2014-12-15 8 views
3

Я хочу включить только конкретную IP-адрес для редактирования (добавления, удаления, обновления ...) моего визуального svn-сервера, но все остальные IPAddess должны быть в состоянии читать. ..Visual Svn Server: как ограничить редактирование указанным IP-адресом

Я считаю, что необходимо изменение, как это в файле %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

UPDATE от поддержки VisualSVN

Такая функция не доступна в VisualSVN сервер 3.2 вне коробки, однако мы рассматриваем возможность реализации это в будущем версий. [...] Вообще говоря, можно модифицировать IP-ограничениями, модифицируя файл httpd-custom.conf, однако мы не рекомендуем использовать этот подход. . Сервер VisualSVN имеет Включена опция «SVNPathAuthz short_circuit», которая резко повышает эффективность авторизации. Опция имеет ограничение, : конфигурация сервера не должна полагаться на другую авторизацию таких модулей, как «authz_host_module» (которая отвечает за проверки на основе IP ), иначе вы столкнетесь с неожиданным поведением с авторизацией . С другой стороны, если отключить «short_circuit» вы определенно заметите снижение производительности при работе авторизации ресурсоемких операций против вас хранилищ (например, работает svn log, svn checkout, `SVN экспорта, и т.д. или работают графического обозреватель хранилища эдакого как клиент один TortoiseSVN предоставляет)

+1

Хотя это может быть по теме в StackOverflow, вы, вероятно, получите лучший ответ на [SuperUser] (http://superuser.com/), поскольку ваш вопрос, похоже, касается прежде всего конфигурации сервера. –

+0

@PatrickQuirk спасибо за отзыв. Я сделал запрос на [суперпользователь] (https: // superuser.com/questions/852940/visual-svn-server-how-to-restrict-edit-by-defined-ip-address). Должен ли я удалить его из StackOverflow? –

+1

Я оставил бы его на случай, если кто-то действительно ответит на него здесь. Если вы сначала получите ответ на свой вопрос SuperUser, я удалю его. –

ответ

1

поскольку нет встроенной поддержки для этого в SVN, вы можете искать обходной путь.

Вы можете настроить сервер SVN для использования аутентификации, а затем разрешить только выбранным аутентифицированным пользователям/группам и оставлять всех доступными только для чтения. Безопасность может быть упрочнена в IIS, и SSL/TLS можно использовать легко, и вы даже можете обнаружить и заблокировать попытки паролей с грубой силой, если это ваша основная причина для рассмотрения IP-фильтрации.

Если по какой-то причине фильтрации IP является обязательным, я предложил бы иметь другой экземпляр SVN сервера (который работает на другом порту IP) и репозиторное копию этого экземпляра (использование СВН отвала на главном, например, затем svn загрузите свой экземпляр только для чтения 2). Затем попросите свой брандмауэр разрешить участникам (отфильтрованным по IP) доступ к основному серверу SVN, а все другие IP-адреса могут обращаться к экземпляру сервера SVN только для чтения.

С помощью svn dump и load вы фактически копируете все - все коммиты, историю, комментарии и т. Д. Вы можете делать это так часто, как вам нравится, и вы также можете связать эти действия с крюком после фиксации, чтобы иметь его происходят после каждой фиксации.