Quais são as melhores práticas para proteger o código-fonte em uma rede de desenvolvimento?

5

Na minha empresa, protegemos muito nosso código-fonte. Satisfazemos nossa paranóia ao estabelecer uma LAN de desenvolvimento que nos afastamos da Internet e das demais redes de nossa empresa. Dentro da rede de desenvolvimento, temos algumas máquinas seguras (o servidor de controle de origem, o servidor de compilação, o controlador de domínio), e toda a fonte precisa ser mantida criptografada ou em uma sala bloqueada. Ser capaz de explicar uma política de segurança tão simples para nossos clientes tem sido uma vantagem competitiva para nós, mas à medida que nossa empresa cresce, os custos de manutenção dessa rede também se tornam maiores. Para lidar com a dor ao longo do último ano, nos afastamos da nossa rígida política de entreferro permitindo o acesso VPN com RDP autenticado por dois fatores à rede.

No entanto, a falta de conectividade entre nossa rede de desenvolvimento e o resto de nossa rede corporativa continua sendo um sério impedimento à cooperação entre equipes que trabalham dentro da rede e equipes que trabalham fora da rede. Gostaríamos de considerar uma reforma radical em nossa arquitetura de rede, mas não temos certeza das práticas recomendadas do setor para proteger o código-fonte. O que podemos considerar seria:

  • Conecte nossa rede de desenvolvimento ao restante de nossa rede corporativa e permita a comunicação irrestrita entre dois hosts nessa rede. Permitir também conexões de saída relativamente irrestritas para a Internet.
  • Permitir acesso total à VPN para a rede corporativa para funcionários remotos.
  • Crie uma "sandbox de teste" separada que não retenha o código-fonte, não tenha patches e permita conexões de entrada apenas do restante da rede corporativa.
  • Exigem que as máquinas de desenvolvimento sejam gerenciadas com a suposição de tráfego de rede hostil: exija níveis de patch atualizados, não permita depuração remota não autenticada, defina senhas strongs, etc.
  • Continue a exigir que todo o código em repouso permaneça em uma sala bloqueada (para plataformas antigas que não tenham uma solução de criptografia satisfatória) ou seja criptografado
  • Continuar a exigir que todos os desenvolvedores com acesso ao código assinem documentos apropriados informando que não removerão nenhum código da rede

Isso seria considerado uma política de segurança satisfatória nas principais organizações de desenvolvimento de software para as quais você trabalhou? Quais outras práticas as organizações de desenvolvimento de software seguem para proteger sua origem? Por exemplo, os sistemas de detecção de intrusão são uma parte comum da segurança da fonte?

O "como protegemos nosso código-fonte?" Essa questão está intimamente relacionada à nossa, mas estamos mais preocupados com a arquitetura de rede do que com a política do funcionário ou com a estratégia de backup.

    
por Community 24.11.2009 / 03:04

3 respostas

1

A política da empresa geralmente é mais eficaz do que uma solução de tecnologia para algumas dessas coisas. Isso não quer dizer que a tecnologia não possa desempenhar um papel em ajudar a aplicar as políticas.

Sugiro que você procure em um Fortigate da Fortinet . Eles têm algumas coisas que você pode aproveitar para ajudá-lo. Eles têm a capacidade de colocar em quarentena todos os computadores que não atendem às suas políticas, também conhecidos como níveis de patch, A / V, etc. Ele também tem a capacidade de proteger tanto o aplicativo quanto a prevenção de vazamento de dados. Então, você só precisaria configurar uma regra de prevenção de vazamento de dados para bloquear qualquer coisa que se parecesse com código. Portanto, se sua empresa tiver um cabeçalho padrão colocado na parte superior dos arquivos, você poderá procurar por isso e bloqueá-lo e denunciá-lo. Se você adicionar o FortiClients à mistura, poderá bloquear as portas USB na máquina local, bem como aplicar as políticas de firewall, A / V, prevenção de vazamento de dados e Prevenção de intrusões em cada cliente.

Então, para conversar com seus pontos.

  • O firewall com VLANs deve ser capaz de cuidar do seu primeiro ponto.
  • O Fortigate também age como uma VPN, então esse ponto também é bem simples.
  • VLAN de algum tipo pode ser seu Sandbox.
  • ForitClient em combinação com Políticas de Grupo e o Fortigate, você deve conseguir controlar tudo o que precisa.
  • Este é um pouco mais difícil de lidar. Mas as políticas da empresa que afirmam que não seguir essas políticas resultarão em rescisão é a melhor abordagem. No entanto, o FortiClient pode bloquear as portas USB, desde que você bloqueie a rede suficientemente, isso deve lhe dar o controle que você precisa.
  • Este último é mais uma coisa política também.
por 24.11.2009 / 03:29
1

Bem, é mais uma resposta sobre a filosofia de design do que a arquitetura atual, mas você parece ter uma idéia decente do que deseja realizar. Acho que é uma boa prática não apenas ter uma política escrita, mas também projetar o sistema para tornar a violação da política difícil (se não impossível). Por exemplo, se apenas algumas máquinas puderem se conectar diretamente a um servidor crítico, coloque o servidor crítico com ACLs ou um firewall local de servidor para permitir apenas conexões dessas máquinas.

Em relação aos seus marcadores:

  • eu aconselho a não permitir acesso irrestrito à internet. Em um no mínimo, use um firewall aplicado exigência de proxy ou WCCP. Padrão negar com uma whitelist é melhor.
  • As VPNs são ótimas se você realmente deseja permitir (ou quiser gerenciar) acesso irrestrito do lado de fora sua rede; se você realmente quer permitir apenas tipos específicos de conexões, então eu considero o overkill VPN e desnecessariamente perigoso
  • Sou fã de sandboxes para desenvolvedores para jogar, o nosso se conecta a um acesso à Internet separado e está ligado o outro lado de um nível de produção firewall do resto da rede
  • patch e senhas seguras devem ser um mínimo em qualquer e todos ambientes ... período
  • A criptografia
  • está bem, mas você precisará para gerenciar o método de criptografia com um olho para o fracasso; ou seja, o que acontece quando você absolutamente tem que obter acesso ao código, mas o cara quem tem as senhas está de férias? Se você precisar de sugestões aqui, deixe-me sabe e eu vou adicionar como eu gerencio isso ... é meio complicado, mas eficaz.
  • você pode estar interessado em um tipo de NAC solução para o último ponto como um método de forçar autenticação e permitindo-lhe auditar quem copia o que Onde. Você também pode fazer coisas como não permitir dispositivos USB, que são provando ser um perigo real para dados privados
por 25.11.2009 / 05:40
0

Estou um pouco confuso. Você já tem conectividade VPN na rede segura, o que sugere o seguinte

  1. Obtenha dois conjuntos de computadores para as pessoas que precisam de acesso a ambas as redes. Não necessariamente na mesma mesa.
  2. Exigir conexões VPN na rede segura, para qualquer tipo de trabalho de desenvolvimento.

O código-fonte e todo o trabalho de desenvolvimento podem continuar na rede protegida e serem executados por meio do RDP, enquanto os terminais estão na rede externa e podem executar outras ferramentas em paralelo.

    
por 30.12.2009 / 20:53