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

Каковы передовые методы защиты исходного кода в сети разработки?

В моей компании мы очень бережно относимся к своему исходному коду. Мы удовлетворили нашу паранойю, настроив локальную сеть для разработки, которая изолирована от Интернета и остальных сетей нашей компании. В сети разработки у нас есть несколько защищенных машин (сервер управления версиями, сервер сборки, контроллер домена), и все источники должны храниться в зашифрованном виде или в закрытом помещении. Возможность объяснить такую ​​простую политику безопасности нашим клиентам была для нас конкурентным преимуществом, но по мере роста нашей компании затраты на содержание этой сети также увеличивались. Чтобы справиться с проблемами в прошлом году, мы отошли от нашей строгой политики воздушного зазора, разрешив доступ к сети через VPN с двухфакторной аутентификацией только по протоколу RDP.

Однако отсутствие связи между нашей сетью разработки и остальной частью нашей корпоративной сети продолжает оставаться серьезным препятствием для сотрудничества между командами, работающими внутри сети, и командами, работающими вне сети. Мы хотели бы радикально реформировать нашу сетевую архитектуру, но мы не уверены, какие отраслевые передовые методы защиты исходного кода используются. Мы могли бы рассмотреть следующее:

Будет ли это считаться удовлетворительной политикой безопасности в крупных организациях по разработке программного обеспечения, в которых вы работали? Какие еще практики используют организации, занимающиеся разработкой программного обеспечения, для защиты своих источников? Например, являются ли системы обнаружения вторжений общей частью защиты источника?

В "как мы защищаем наш исходный код?" Вопрос тесно связан с нашим, но нас больше волнует сетевая архитектура, чем политика сотрудников или стратегия резервного копирования.

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

Что касается ваших маркеров:

  • Я не рекомендую разрешать неограниченный доступ в Интернет. Как минимум, используйте принудительное требование прокси-сервера брандмауэра или WCCP. По умолчанию лучше всего использовать белый список.
  • VPN великолепны если вы действительно хотите разрешить (или хотите управлять) неограниченный доступ извне вашей сети; если вы действительно хотите разрешить только определенные типы подключений, я считаю VPN излишним и излишне опасным
  • Я фанат песочниц для разработчиков, наша подключается к отдельному доступу в Интернет и находится по другую сторону брандмауэра производственного уровня от остальной сети.
  • установка исправлений и безопасные пароли должны быть минимальными во всех средах ... период
  • шифрование - это нормально, но вам нужно будет управлять методом шифрования с оглядкой на сбой; то есть, что происходит, когда вам абсолютно необходимо получить доступ к коду, но парень, у которого есть пароли, находится в отпуске? Если вам здесь нужны предложения, дайте мне знать, и я добавлю, как мне это удается ... это немного запутанно, но эффективно.
  • вам может быть интересно решение типа NAC для последней точки как метод принудительной аутентификации и позволяющий контролировать, кто что и где копирует. Вы также можете запретить использование USB-устройств, которые представляют реальную опасность для личных данных.

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

Предлагаю вам изучить Fortigate от Fortinet. У них есть несколько вещей, которыми вы можете воспользоваться, чтобы помочь вам. У них есть возможность помещать в карантин любые компьютеры, которые не соответствуют вашим политикам, так называемым уровням исправлений, аудио / видео и т. Д. Он также может обеспечивать как защиту приложений, так и предотвращение утечки данных. Поэтому вам просто нужно настроить правило предотвращения утечки данных, чтобы заблокировать все, что напоминает код. Поэтому, если у вашей компании есть стандартный заголовок, который помещается в верхней части файлов, вы можете найти его, заблокировать и сообщить о нем. Если вы добавите FortiClients в этот набор, вы можете заблокировать порты USB на локальном компьютере, а также применить политики межсетевого экрана, аудио / видео, предотвращения утечки данных и предотвращения вторжений на каждом клиенте.

Итак, чтобы поговорить о ваших точках.

  • Брандмауэр с VLANS должен позаботиться о вашей первой точке.
  • Fortigate также действует как VPN, так что это тоже довольно просто.
  • VLAN может быть вашей песочницей.
  • ForitClient в сочетании с групповыми политиками и Fortigate вы сможете контролировать все, что вам нужно.
  • С этим немного сложнее. Но политика компании, которая гласит, что несоблюдение этой политики приведет к увольнению, - лучший подход. Однако FortiClient может блокировать порты USB, пока вы в достаточной степени блокируете сеть, это должно дать вам необходимый контроль.
  • Последний вопрос также в большей степени относится к политике.

Я немного смущен. У вас уже есть VPN-подключение к защищенной сети, что предполагает следующее

  1. Приобретите два комплекта компьютеров для людей, которым требуется доступ к обеим сетям. Не обязательно на одном столе.
  2. Требовать VPN-подключения к защищенной сети для любого типа разработки.

Исходный код и все работы по разработке могут продолжаться в защищенной сети и выполняться через RDP, в то время как терминалы находятся во внешней сети, и могут запускать другие инструменты параллельно.