サードパーティのコンサルタント、オフショア開発者、および請負業者がコードに取り組んでいることを許可するために、Gitリポジトリを外部に公開できます。または、ファイアウォールに新しいグループを構成することにより、外部の関係者にVPNアクセスを許可し、そのアクセスを制限して、内部ネットワークのGitリポジトリにのみアクセスできるようにすることもできます。
これらの2つのオプションのどちらがより良いセキュリティの選択肢ですか?私が持っているいくつかの議論は:
1-インターネット上でコードリポジトリを公開することにより、ハッカーがGitに対してブルートフォースを仕掛けることができるようになります。また、Gitにゼロデイがある場合も影響を受けます。
2-サードパーティにVPNアクセスを提供することにより、信頼できないエンティティを内部ネットワークに許可します。ファイアウォールルール設定が適切に構成されていない場合、より機密性の高い内部ネットワークが公開されます。
このために専用の分離されたネットワークを使用できない場合は、オプション1の変更バージョンをお勧めします。
厳格なセキュリティチェックにより、Web経由のアクセスを許可します。
可能であれば、暗号鍵を使用してgitユーザーを承認します(githubが行う方法です)。これにより、ブルートフォース攻撃が非常に困難になります。
IPフィルタリングを使用します。つまり、請負業者のIPアドレスを確認し、それらのIPアドレスからのクエリのみを受け入れます。
このボックスに適切なファイアウォール、IDSルールがあることを確認してください。
これは素晴らしい質問であり、企業がよく悩む問題です。一般的に、請負業者にVPNアクセスを許可すると、外部に公開するよりもセキュリティが強化されます。反対のポリシーにもかかわらず、コードリポジトリにシークレットやAPIキーなどが含まれている可能性があることを考慮してください。
ほとんどの環境と同様に、GitHub Enterpriseサーバーの侵害はネットワークの完全な侵害につながる可能性があり、ビジネスモデルによっては、顧客が侵害にさらされる可能性もあります。このサーバーをインターネット全体に公開すると、ランダムな攻撃者があなたの王冠の宝石となるものを危険にさらす可能性が高くなります。
これに対する唯一の警告は、VPNのユーザーをプロビジョニングする方法です。ユーザーがLDAPサーバーに追加され、環境への暗黙のアクセスが多い場合、侵害された請負業者のアカウントは大きな損害を与える可能性があります。 VPNアクセスがどのように許可されるかについての詳細を提供できれば、VPNではなくGitHubを公開する可能性がありますが、これらの状況では一般的にVPNが最適です。