私の会社では、ソースコードを非常に保護しています。私たちは、インターネットやその他の会社のネットワークからエアギャップする開発LANをセットアップすることで、パラノイアを満たしました。開発ネットワーク内には、いくつかのセキュリティで保護されたマシン(ソース管理サーバー、ビルドサーバー、ドメインコントローラー)があり、すべてのソースを暗号化するか、鍵のかかった部屋に保管する必要があります。このような単純なセキュリティポリシーをお客様に説明できることは、当社にとって競争上の優位性ですが、当社が成長するにつれて、このネットワークを維持するためのコストも大きくなっています。昨年の苦痛に対処するために、2要素認証されたRDPのみのVPNアクセスをネットワークに許可することで、厳格なエアギャップポリシーから脱却しました。
ただし、開発ネットワークと他の企業ネットワークとの間の接続性の欠如は、ネットワーク内で作業するチームとネットワーク外で作業するチーム間の協力に対する深刻な障害であり続けています。ネットワークアーキテクチャの劇的な改革を検討したいのですが、ソースコードを保護するための業界のベストプラクティスが何であるかはわかりません。私たちが考えるかもしれないものは次のとおりです。
これは、あなたが働いてきた主要なソフトウェア開発組織で満足のいくセキュリティポリシーと見なされますか?ソフトウェア開発組織は、ソースを保護するために他にどのような慣行に従いますか?たとえば、侵入検知システムはソースセキュリティの一般的な部分ですか?
"ソースコードをどのように保護しますか?" 質問は私たちの質問と密接に関連していますが、従業員のポリシーやバックアップ戦略よりもネットワークアーキテクチャに関心があります。
多くの場合、企業ポリシーは、これらのいくつかの点でテクノロジーソリューションよりも効果的です。それは、テクノロジーがポリシーの実施を支援する役割を果たせないということではありません。
フォーティネットからFortigate を調べることをお勧めします。彼らはあなたがあなたを助けるために活用できるいくつかのものを持っています。ポリシー、別名パッチレベル、A/Vなどを満たしていないコンピューターを隔離する機能もあります。また、アプリケーション保護とデータ漏洩防止の両方を実行する機能もあります。したがって、コードに似たものをすべてブロックするために、データ漏洩防止ルールを設定する必要があります。したがって、会社のファイルの先頭に標準ヘッダーが配置されている場合は、それを探してブロックし、レポートすることができます。 FortiClientsをミックスに追加すると、ローカルマシンのUSBポートをロックダウンし、各クライアントでファイアウォール、A/V、データ漏洩防止、および侵入防止ポリシーを適用できます。
だからあなたのポイントに話すために。
まあ、それは実際のアーキテクチャよりもデザイン哲学についての答えですが、あなたはあなたが何を達成したいのかについてまともな考えを持っているようです。ポリシーを作成するだけでなく、ポリシーへの違反を困難にする(不可能ではないにしても)ようにシステムを設計することがベストプラクティスだと思います。たとえば、特定のマシンのみが重要なサーバーへの直接接続を許可されている場合は、重要なサーバーをACLまたはサーバーローカルファイアウォールで囲み、それらのマシンからの接続のみを許可します。
箇条書きについて:
私は少し混乱しています。すでにセキュリティで保護されたネットワークへのVPN接続があります。これは次のことを示唆しています
ソースコードとすべての開発作業は、セキュリティで保護されたネットワーク上で続行でき、端末が外部ネットワーク上にあるときにRDPを介して実行でき、他のツールを並行して実行できます。