мой офис предоставил ноутбуки всему персоналу в дополнение к новым настольным компьютерам, которые у нас только что есть. Меня попросили обезопасить наши svn server
который представляет собой выделенный сервер, размещенный где-то с ubuntu
работает на нем.
Ограничение доступа в этом случае означает, что только старшие разработчики могут получить доступ svn repositories
на своих ноутбуках. остальная часть команды разработчиков может иметь доступ только на новых компьютерах, но не на своих ноутбуках
в настоящее время мы получаем доступ к репозиториям, используя http/s:
Есть ли способ добиться этого?
Не за счет типичных возможностей SVN, но все возможно, если вы хотите взломать. Вам понадобится какой-то способ идентифицировать компьютер, который пытается подключиться, если он не находится в разных подсетях, то вы мало что можете сделать. Возможно, вы можете установить определенный браузер только на ноутбуки старшего поколения, а затем проанализировать пользовательский агент с помощью Perl-скрипта, и в этот момент, если он завершится успешно, он перешлет запрос SVN. Хотя это дерьмовое решение. Возможно, вы сможете изучить решения сценариев на стороне клиента и найти что-то, что может определить модель компьютера.
Ноутбуки и десктопы Windows или Linux или что?
Subversion и mod_dav_svn не позволяют авторизовать пользователей по имени компьютера.
Вам нужно разделить вашу сеть
192.168.0.0/24 - for new desktops
192.168.1.0/24 - for laptops of senior developers
192.168.2.0/24 - other developers
а затем вы можете попробовать использовать iptables с модулем времени
# iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d repo.mycompanyname --dport 80 -j DROP
# iptables -I FORWARD -p tcp -s 192.168.2.0/24 -d repo.mycompanyname --dport 80 -m time --timestart 09:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT