Назад | Перейти на главную страницу

Хотели бы вы разместить такой сервер управления версиями?

Я хочу разместить сервер SVN (или git, или mercurial, или что-то еще). У меня есть два варианта:

  1. Установите его на небольшую коробку в шкафу в офисе, подключенную только к локальной сети.

  2. Установите его на сервере в центре обработки данных в другом штате, который имеет общедоступный IP-адрес и в настоящее время размещает общедоступный веб-сайт.

Меня беспокоит вопрос №1: единственный способ, которым люди могут подключаться из-за пределов офиса, - это VPN, но сейчас это ЕДИНСТВЕННАЯ точка VPN в моем офисе ... так что это кажется тяжелым. Кроме того, если офис загорится или кто-то решит украсть коробку из туалета, что ж ... сервера нет. Значит, мне все равно придется где-то хранить резервные копии ...

Меня беспокоит №2, что наличие исходного кода на общедоступном сервере означает, что теоретически кто-то может получить доступ к серверу и украсть код. Тот факт, что на нем уже запущена общедоступная служба, беспокоит меня еще больше, поскольку может быть обнаружен эксплойт для этого программного обеспечения.

Как большинство компаний безопасно управляют своими серверами управления версиями и резервными копиями?

Как правило, у вас есть 3 безопасных варианта. Я поставлю перед этим заявление об отказе от ответственности, над которым я работаю ProjectLocker, поэтому я обычно предпочитаю размещать решения для большинства компаний.

Самостоятельный хостинг внутри компании

Преимущества:

  • Код доступен только в корпоративной сети, что ограничивает источники риска
  • Вы можете использовать существующую инфраструктуру безопасности вашей компании, а не разбираться в безопасности

Недостатки:

  • Вам нужно будет управлять серверным программным обеспечением, поэтому вам или кому-то из вашей команды нужно будет стать администратором Subversion, добавлять пользователей, отправлять запросы на сервер и т. Д.
  • Если люди, которым нужен доступ к репозиторию, находятся на клиентских сайтах, где доступ к VPN запрещен, они не смогут получить доступ к коду там, где он им нужен. В моей прежней жизни консультантом по программному обеспечению я часто видел это.

Используйте хостинг-провайдера

Преимущества:

  • У большинства провайдеров хостинга есть интерфейсы для управления пользователями, создания проектов и контроля доступа, а также другие навороты, упрощающие управление проектами. Это означает, что вам не нужно изучать все тонкости администрирования Subversion, и вы можете передать обязанности по управлению руководителям групп или другому доверенному персоналу.
  • Хостинг-провайдеры обеспечивают безопасный доступ из любого места и работают через большинство межсетевых экранов.
  • Поставщикам хостинга нечего делать, кроме как следить за тем, чтобы серверы работали, работали и были защищены, поэтому им проще и дешевле обеспечить круглосуточный доступ и поддержку.

Недостатки:

  • Верно, что общедоступные серверы по определению подвержены большему риску. Я бы сказал, что риск разрушения больше, чем кражи; если вы не имеете дело с деньгами или государственными секретами, более вероятно, что кто-то попытается захватить сервер, чтобы доставить вредоносную почту или код и наступить на ваш код в качестве сопутствующего ущерба, чем что они украдут ваш код и попытаются конкурировать с вы на торговой площадке или взломали вашу систему. Тем не менее, сорванный проект - это сорванный проект, и это законное беспокойство.

Настроить сервер в хостинговой компании

Преимущества:

  • У вас есть полный контроль над системой, мониторингом и безопасностью
  • Ваша команда имеет доступ к коду из любого места

Недостатки:

  • Вы несете ответственность за администрирование и безопасность без использования инфраструктуры безопасности вашей компании.

Исходя из этого, я бы порекомендовал либо хостинг внутри компании, либо обратиться к хостинг-провайдеру (вы можете увидеть их список в Google для «подрывного хостинга»). Кажется, что хостинг у внешнего провайдера будет худшим из обоих миров - вам придется иметь дело с безопасностью и администрированием без преимуществ инфраструктуры вашей компании. Хостинг-провайдеры делают ставку на безопасность данных клиентов, а некоторые из них будут выполнять соглашения о неразглашении, чтобы обеспечить дополнительную уверенность, поэтому разумно доверять им достаточно, чтобы позволить им размещать ваш код.

Я бы запустил сервер SVN локально и использовал бы внешнюю резервную копию (лента, rsync, онлайн, облачно и т. Д.). Если вас беспокоит конфиденциальность данных в удаленной службе резервного копирования, я бы зашифровал данные и хранил бы копию ключей шифрования в третьем месте (например, дома) или в пожарном сейфе в офисе.

Возможно, будет бесполезно знать, чем занимается большинство компаний, потому что они, вероятно, делают это множеством способов, и наиболее распространенный способ может не соответствовать вашей конкретной ситуации.

Если вы спрашиваете о «большинстве компаний», я, вероятно, отвечу на вопрос «Интранет VPN». И вдобавок ко всему у них, вероятно, есть какая-то надстройка надстройки (Raid, какой-то ленточный робот).

Если вам интересно, что вам делать, настройте сервер резервного копирования, просто купите NAS. Если вы боитесь кражи, положите этот сервер в какой-нибудь другой шкаф. Если вы боитесь пожара, не курите рядом с вашим офисом ... При работе с небольшим бюджетом в небольшой компании (если это ваш случай) придется идти на компромисс.

Обычно я держу второй сервер в центре обработки данных (очень маленький ящик) для этого, однако, если это не вариант, существует множество размещенных сервисов.