У меня есть настольный компьютер, который в настоящее время настроен как сервер SVN. В настоящее время у меня настроен доступ к нему через http (с использованием Apache), но только для локальной сети, так как я не был уверен в том, что буду решать проблемы безопасности, связанные с его открытием.
На мой взгляд, два моих варианта решения этой проблемы - это SVN через SSH и настройка VPN с сохранением конфигурации «только локальная сеть» для SVN. Кто-нибудь имеет четкое представление о плюсах и минусах этих двух установок? В частности, я никогда раньше не пытался настроить личный VPN, поэтому я не знаю, сколько боли и затрат обычно связаны с OpenVPN и тому подобным.
[В сторону: я не знаю, действительно ли это больше подходит для SuperUser, потому что это сервер для личного использования - если да, может ли кто-нибудь переместить его? Спасибо!]
Почему бы не использовать apache mod_dav_svn (w / wout mod_ssl) для предоставления удаленного доступа к вашему svn, по крайней мере, с базовой аутентификацией apache.
Если к нему обращаетесь только вы, то svn + ssh - АБСОЛЮТНО правильный путь. SSH - это лучшая в своем классе безопасность, вы получаете конфиденциальность и аутентификацию бесплатно, а если вы запускаете сервер через SSH, вы уже настроили его.
Единственным недостатком использования SSH является то, что если у вас есть доступ к нескольким пользователям, каждый должен иметь свои собственные учетные записи, и вам нужно тщательно управлять разрешениями, иначе один человек не сможет получить доступ к репо после того, как другой человек совершит его. .
По этой причине я не рекомендую svn + ssh в ситуациях, когда нескольким людям потребуется доступ для фиксации. В ситуациях, когда взять на себя обязательство нужно только одному человеку, это идеально.
Вам не нужно запускать SVN + SSH для защиты репозитория Subversion, вместо этого запустите его через https, и вы получите достаточно шифрования для предотвращения слежки. Следующее, что вы добавляете, - контроль доступа, поэтому вам всегда нужно входить в систему - и предоставлять ее только одному пользователю.
Пока файл репо недоступен, вы должны быть в полной безопасности. Если вы действительно хотите быть параноиком, добавьте брандмауэр или директиву apache, ограничивающую доступ только к IP вашего клиента.