English -> Visit BeyondTrust Original Page
DevOps セキュリティとは、戦略、ポリシー、プロセス、テクノロジーを通じて DevOps 環境全体を保護する規律と実践を指します。DevOps セキュリティは、生産性の高い DevOps エコシステムを実現するとともに、問題になるずっと前にコードの脆弱性や運用上の弱点を特定して修正するのに役立ちます。
DevOps 環境におけるセキュリティ上の主な考慮事項とベスト プラクティスは何ですか?
DevOps の特性は、組織がオンサイトとクラウド環境の両方でアプリケーションと IT インフラストラクチャを開発、運用、保守する方法に変革をもたらしました。DevOps チームは、速度と自動化を徹底的に追求することで開発サイクルを短縮し、製品の機能と性能を顧客からのフィードバックと進化するビジネス目標に即応できるものにします。ただし、スピードとスケールの文化は、セキュリティが後回しにされることを意味し、脆弱性や誤った構成が生み出されると、大規模な影響を及ぼす可能性もあります。
セキュリティを DevOps ライフサイクル全体に浸透させる必要があることは明らかですが、スピード、俊敏性、その他の重要な DevOps の原則を損なわずにこれを実現するにはどうすればよいでしょうか。俊敏性の必要性とバランスを取りながら DevOps のセキュリティを強化するには、次の 9 つのベスト プラクティスの実装を検討してください。
DevOps セキュリティのベストプラクティス
- DevSecOpsモデルを採用する
DevOps チームとセキュリティ チームの連携が不十分な場合、安全でないコード、脆弱性、誤った構成、安全でないハードコードされたパスワード、運用上の機能不全の原因となるか、攻撃者の格好の標的となるアプリケーション セキュリティの弱点など、さまざまな影響が生じる可能性があります。DevOps のライフサイクルと文化のあらゆる構造 (開始、設計、構築、テスト、リリース、サポート、保守) にセキュリティが組み込まれている場合、それは DevSecOps と呼ばれることがよくあります。DevSecOps では、DevOps ワークフロー全体にわたって、アイデンティティとアクセス管理 (IAM)、権限管理、ファイアウォール/統合脅威管理、コード レビュー、構成管理、脆弱性管理などのガバナンスとサイバーセキュリティ機能を組み込む必要があります。DevSecOps 文化を取り入れるということは、全員がセキュリティの責任を共有し、チーム間の説明責任と連携を確保することを意味します。 - ポリシーとガバナンス
開発者や他のチーム メンバーが理解し、同意しやすい、透明性の高いサイバーセキュリティ ポリシーと手順を作成します。これにより、チームはセキュリティ要件を満たすコードを開発しやすくなります。 - DevOps セキュリティ プロセスとツールを自動化する
コード分析、構成管理、パッチ適用、脆弱性管理などの自動化されたセキュリティ ツールがなければ、DevOps プロセスにセキュリティを拡張することはできません。セキュリティの自動化により、人為的エラーやそれに伴うダウンタイムや脆弱性から生じるリスクも最小限に抑えられます。セキュリティの速度を DevOps プロセスに近づけるほど、セキュリティ プラクティスの組み込みに対する文化的抵抗に直面する可能性が低くなります。 - 包括的な発見
シャドー IT の潜在的な増殖と不完全な可視性は、組織の自己保護能力を妨げます。DevOps チームは、何百ものセキュリティ グループと何千ものサーバー インスタンスを管理するために、新しいオープン ソース ツールや未熟なツールを活用することがよくあります。コンテナーはほぼ瞬時に起動および停止でき、ほぼあらゆる種類のコンピューターとクラウドで実行できます。セキュリティ チームはコンテナー自体の可視性がないことが多く、これは他のコンテナーと OS を共有するため複雑です。また、DevOps は通常クラウド展開に大きく依存しているため、クラウド セキュリティも重要な考慮事項です。したがって、デバイス、ツール、アカウント、クラウド/仮想インスタンス、コンテナー、資格情報の継続的な検出と検証を優先し、ポリシーに従ってセキュリティ管理下に置くようにしてください。 - 脆弱性管理
脆弱性は、本番環境に展開する前に、コンテナ内を含む開発環境と統合環境全体でスキャン、評価、および修正する必要があります。製品が運用環境にリリースされると、DevOps セキュリティは本番環境のソフトウェアとインフラストラクチャに対してテストとツールを実行し、エクスプロイトと問題を特定して修正することができます。 - 構成管理
DevOps 環境が移動する速度と規模は、構成ミスが迅速に検出され修正されなければ、すぐにコピーされ、増殖する可能性があることを意味します。スキャンして、構成ミスと潜在的なエラーを特定し、修正します。物理、仮想、クラウド資産のサーバーとコード/ビルド全体で、継続的な構成と強化ベースライン スキャンを提供します。 - DevOps シークレット管理
DevOps チームは、シークレット管理を必要とする多数のツール (Chef、Puppet、Ansible、Salt など) を使用する場合があります。DevOpsシークレット(BeyondTrust サイト 英語)には、特権アカウント認証情報、SSH キー、API トークンなどが含まれる場合があり、人間または非人間 (アプリケーション、コンテナー、マイクロサービス、クラウド インスタンスなど) によって使用される可能性があります。シークレットが適切に管理されていないと、攻撃者が特権アクセスへの簡単なバックドアを利用できるようになり、セキュリティやその他の制御を改ざんしたり、運用を妨害したり、情報を盗んだり、組織の IT インフラストラクチャを所有したりできるようになります。多くの場合、シークレット/特権認証情報は、コード、スクリプト、ファイル、サービス アカウントに埋め込まれています。これらの認証情報を安全に管理するには、埋め込まれた認証情報をコードから削除し、安全に保存および管理できる特権パスワード管理ソリューションが必要です。 - 特権アクセス管理 (Privileged Access Management – PAM)
DevOps チームは、多くの場合、複数の個人に特権アカウント (ルート、管理者など) へのほぼ無制限のアクセスを許可します。多くの場合、これらの個人は資格情報を共有しているため、クリーンな監査証跡の可能性は事実上排除されます。オーケストレーション、構成管理、およびその他の DevOps ツールにも、膨大な権限が付与される場合があります。特権アクセスが多すぎると、脅威の対象となる領域が拡大します。特権アクセスのリスクを抑制するには、最小権限の原則を実装します。最小権限アクセスを強制すると、内部または外部の攻撃者が特権ユーザーの権限を昇格したり、不正なコードを悪用したりする機会が減ります。エンタープライズ特権アクセス管理 (PAM) ソリューションは、特権アクセスの制御、監視、監査、およびシークレット/特権資格情報管理のライフサイクル全体を自動化できます。 - セグメントネットワーク
ネットワークをセグメント化すると、攻撃者の「見通し線」アクセスが減少します。アプリケーション サーバーやリソース サーバーなどの資産を、相互に信頼関係のない論理ユニットにグループ化します。信頼ゾーンを越えるアクセスの場合は、多要素認証と適応型アクセス許可を備えたセキュリティ保護されたジャンプ サーバーを展開し、セッション監視を使用して監視を行います。さらに、ユーザー、ロール、アプリケーション、要求されているデータなどのアクセス ベースのコンテキストをセグメント化します。
製品ライフサイクルの早い段階で DevOps セキュリティを導入すると、アプリケーションとシステム開発のあらゆる部分でセキュリティが確保されます。これにより、可用性が向上し、データ侵害の可能性が低減し、ビジネス ニーズを満たす強力なテクノロジの開発とプロビジョニング ( BeyondTrust サイト 英語)が保証されます。