開発者が使いやすいクラウドセキュリティコントロールの4つの特徴
DevOps プログラムの進化を通して経験してきたように、セキュリティを重視した開発者文化を構築する場合、ツールが重要になるのと同じくらい教育も重要になります。Secure DevOps プログラムの次のフェーズを考えるとき、既存のツールの監査、CI/CD パイプラインの拡張、追加ツールによる新しい問題の解決など、ツールチェーンをどのように進化させるかについて、皆さんも想像し始めているかもしれません。
これまでは既製品の WAF で十分に機能していたかもしれませんが、今やチームは、ビジネス特有のセキュリティ問題を解決するためにカスタマイズできる Web アプリケーションのセキュリティコントロールを必要としています。あるいは、ニーズを満たすことができる他のセキュリティコントロールをすでに持っているかもしれません。しかし、より高価なプロフェッショナルサービス料金を払い、ベンダーが重要な調整と改良を行うのを待たなければなりません。攻撃者により近い場所に DDoS 対策レイヤーを追加することで、全体的な防御力を強化できるかもしれませんが、脅威インテリジェンスを消費したり活用したりすることはできません。
理由が何であれ、セキュリティ要件だけで評価している場合、Secure DevOps 文化を成功裏に成長させる最も重要な機会の1つ (ツールの開発者中心主義に焦点を当てる) を見逃しているかもしれません。パフォーマンスのためにセキュリティを犠牲にすることを過度に心配する前に、両方に対処できるように、ツールの環境がどのように進化してきたかをご紹介します。
ここでは、開発者中心のセキュリティ製品に欠かせない要素を実際に見ていきましょう。
堅牢なコントロールを行うための広範な API と柔軟なプログラミング言語
アプリのセキュリティコントロールを厳格に調整することができれば、セキュリティコントロールはより効果的になります。WAF (Web アプリケーションファイアウォール)、ACL (アクセス制御リスト)、TLS (トランスポートレイヤーセキュリティ) などに対して、開発者が独自のセキュリティコントロールを作成して調整できるように、完全に設定可能で API 主導のソリューションを探してください。トラフィックからの重要なインサイトに基づいて、これらのコントロールをほぼリアルタイムで調整して、開発者が数秒でグローバルに変更をプッシュすることができるのが理想です。自動化を加えることで、この考えは一歩前進します。例えば、開発者がアラートに基づいて特定のトラフィックを自動的にブロックすることができます。そのアラートが再びトリガーされれても、クローズドループの解決策がすでに確立されているので、そのアラートを継続的に監視する必要はありません。このアプローチにより、セキュリティの「ノイズ」が大幅に減少し、開発者は他の重要な取り組みに集中できるようになります。
パフォーマンスに適したプラットフォーム
アプリケーション開発では、パフォーマンスとセキュリティの間で常に綱引きが行われています。セキュリティは従来、アプリのパフォーマンスを低下させ、収益に直接影響を及ぼす可能性があると予想されていました。しかし、必ずしもそうとは限りません。TLS、WAF、PCI、DSS、トラフィックなどのコンポーネントのセキュリティコントロールをプラットフォームレイヤーに組み込むと、ボトルネックやパフォーマンスに影響を与えることなく、迅速に拡張することができます。プロバイダーによっては、これらのコンポーネントのために別のネットワークを管理している場合があります。それらの1つまたはそれ以上がアドオンや追加部分として扱われると、アプリの動作が遅くなる可能性があります。しかし、それらが緊密に統合されていれば、アプリケーションのパフォーマンスは維持されます。これにより、開発者は安全なエクスペリエンスを提供しながら、アプリケーションのパフォーマンスを高く保つことができます。
判断基準となる可視性
アジャイル開発環境では、すべての段階で問題を迅速に特定して対処するために、可視性が非常に重要になります。しかし、本番環境をサポートすることになると、セキュリティチームは常にアクティブな脅威を認識し、防御するために必要な包括的な視野を確保しているとは限りません。例えば、エッジからのログをほぼリアルタイムでストリーミングすることができれば、迅速な検出と対策のための貴重なインサイトを得ることができます。チームがデータに基づいた意思決定を行えるようにするには、ログデータを必要な場所に送信し、分析エンジン、可視化ツール、セキュリティ情報およびイベント管理 (SIEM) プラットフォームが必要とする利用可能な形式で提供する必要があります。すべてを同じように対応できるとは限りません。プロバイダーは、必要な情報を、必要な方法で、必要な場所に提供できる必要があります。
イベントやインシデントのリアルタイムログをストリーミングすることで、クローズドループでの解決が可能になり、チームは自動的にインシデントを発見し、迅速に修正することができます。重要な情報へのアクセスが遅れると、封じ込めがより困難になり、被害がより深刻になります。リアルタイムの可視化により、既知および未知のアプリケーションのセキュリティ問題が発生した際に、組織はより適切に対処できるようになります。解釈されたインテリジェンスを提供するアプローチには注意してください。この情報は有益ですが、全体像ではありません。問題を深く掘り下げ、実際に何が起こったのかを理解するために必要なフォレンジックレベルの情報を見落とすことがあります。ログに記録される内容をコントロールし、明確に把握することで、チームはより良い調査を行い、将来の問題を特定して防止することができます。
既存のツールチェーンやコンプライアンスフレームワークへの統合の容易さ
新しい脆弱性が見つかった場合や、特定のイベントのために機能をロールアウトしたい場合は、できるだけ早くユーザーに修正やアップデートを提供することが重要です。ツールが現在の DevOps ツールチェーンに適合していれば、開発者が希望するツールチェーン環境以外でセキュリティテストを実施することを強制されることはありません。これらのツールチェーンには、一般的な CI/CD ツールチェーン (Travis CI、Jenkins)、構成管理ツール (Chef、Puppet、Terraform)、およびバージョン管理システム (GitHub) などがあります。すべてのセキュリティコントロールは、VMware や Docker などのコンテナベースの開発環境およびデプロイ環境に適用できるようにしておく必要があります。コントロールは、業界向けに設計されたコンプライアンス、コーポレートガバナンス、ポリシーのフレームワークに適合していなければなりません。さらに、WAF は、仮想パッチの適用や、コントロールおよびクラウドベースのセキュリティ実施の二次的なセットとして活用できます。
開発者中心のツールでセキュリティをアプリケーションの中核に組み込む
開発者を念頭に置いて構築されたセキュリティツールを開発者に提供することは、Secure DevOps チームを進化させる上で重要なステップになります。これらのツールを使用することで、開発者は最初からアプリケーションのセキュリティを確保することができます。また、チーム全体のセキュリティチェックとバランスが強化され、エンドユーザーには、より総合的に信頼性の高いエクスペリエンスを提供することができるのです。