Secure DevOps 文化を構築するための5つのヒント
従来の DevOps サイクルから、セキュリティ志向の DevOps サイクル (Secure DevOps) に移行するのは、決して簡単なことではありません。セキュリティを DevOps サイクルの中核に据えるには、透明性、信頼、すべての関係者の賛同、継続的なコラボレーションと最適化が必要です。つまり、文化をシフトする必要があるのです。
Secure DevOps は最新のアプローチであるため、企業ごとにさまざまな形態がとられています。おそらく、CI が静的分析ツールを実行して、テストパイプラインの一部として依存関係の脆弱性をチェックしているのではないでしょうか。運用チームが、必要なときに実行可能な脅威インテリジェンスを提供するための計画を文書化しているかもしれません。あるいは、組織がトレーニングに投資して、チームが基本的なセキュアな開発コンセプトをしっかりと認識できるようにしている可能性もあります。
実際の実装がどのようなものであっても、現実的な意味では要するに、開発、運用、セキュリティチームが CI/CD パスに沿って、セキュリティに関する意思決定を一緒に承認できるチャンスを探しているのです。ここでは、Secure DevOps がうまく機能する環境を構築するための5つのヒントを紹介します。
Secure DevOps に注力して、長期的に時間を節約する
DevOps サイクルでセキュリティを実装する場合に、開発者が最も恐れることは、開発の進捗が遅くなることです。しかし、チームに合った Secure DevOps ライフサイクルの作成に注力することで、アプリケーションの基盤が最初からより安全なものになります。つまり、後でその基盤を修正したり交換するための手戻りは必要ないということです。正しく自動化されていれば、Secure DevOps は長期的に見て、時間と費用を節約し、フラストレーションを軽減できます。さらには訴訟の可能性さえも減らすことができます。
Secure DevOps を理解する仲間を見つける
各部門に適切な人材がいるかどうかが、この新しいプロセスをチーム全体が受け入れるかどうかに影響を与える可能性があります。Secure DevOps の価値を理解し、賛同してくれる同僚や仲間を見つけましょう。共有している考え方が組織に浸透し、Secure DevOps ライフサイクルが受け入れられる文化が作られ始めます。このような関係性は、チームがどのように協力し合い、互いの強みを発揮していくべきかの例にもなります。
好奇心と学習意欲を高める
Secure DevOps を成功させるには、開発者が最新アプリセキュリティのプラクティスを十分に理解している必要があります。役に立つ記事や動画を共有したり、ウェビナーに参加したり、新しいツールをテストしたりするためのスペースを作成します。学習する文化を奨励することは、あなたとチームに優位性をもたらすだけでなく、会社が従業員と Secure DevOps プロセスの成功を重視していることを示すシグナルを送ることにもなります。
できる限り自動化して、できないものは効率化する
CI パイプラインが遅くなると、開発者は急いだり、重要なステップをスキップしたり、デプロイに消極的になったりする可能性があります。Secure DevOps が導入されていても、CI/CD サイクルで重要なのはやはりスピードです。そのため、通信、テスト、モニタリング、脅威のモデル化など、必要なだけ自動化ツールをチームに提供してください。Bandit、Brakeman、Cargo Audit、Dawn Scanner、Trufflehog — Fastly はこれらすべての自動化ソリューションとの統合をサポートし、現在の DevOps ツールチェーンに適合させます。そのため、開発者は自身の環境でテストすることが可能です。
しかし、古き良き人間の頭脳には常に余裕があります。これらのケースでは、文書化されたプロセスを実行し、サイクルを動かし続けることがベストです。これに対する完璧な例はピアレビューです。linter や静的アナライザーは、コードがコンパイルされ、一般的なエラーを含まないことを確認するのに適しています。信頼できるテストスイートは、コードが意図したとおりに機能するかどうかを検証できます。しかし、手動のピアレビューでは、予期していなかった新しい機能をすばやく簡単に特定したり、分析ツールでは検出できない問題を特定したりできます。アクセスコントロールについても同じことが言えます。グループおよびチームのメンバーシップに基づいてアクセスコントロールを管理する自動化を簡単に記述できます。しかし最終的には、手動の承認プロセスによって特権アクセスをコントロールするべきです。そうすることで、自動化が悪用されることがなくなり、攻撃者が機密性の高いシステムにアクセスできなくなります。ピアレビューをツールで補完するのは簡単ですが、自動化によって簡単に捕捉できない変数をコントロールするには、人の手が重要になります。
組織に適した Secure DevOps ツールを選択する場合に、より多くの情報に基づいて選択するには、ホワイトペーパーを参照してください。この中で、考慮すべき4つの機能について概説しています。
期待を設定し、透明性を高める
Secure DevOps を実行に移す初期段階で、開発チーム、セキュリティチーム、運用チームを集めて、各チームが互いに期待することを取りまとめます。何が合理的で、何が合理的でないか ? 報告すべき脅威は ? 何が過剰なアラートにあたるか ? どのようなボトルネックが発生する可能性があり、どのように回避できるか ?
また、すべてのチームが製品とそのログを実際に確認できることも非常に重要です。トラフィックを定期的に直接確認することで、潜在的な脅威を検出し、可能な限り迅速に対応できます。
DevOps サイクルの中核にセキュリティを統合することは、大変難しいことのように思えるかもしれません。しかし、(これは、良い知らせですが) 小さなことから始めるのが最善の方法です。小さな取り組みを選び、プロセスを動かし、それが機能するようになったら、その価値を実証し、そこから構築します。プラクティスを1つか2つ導入することで、より安全なアプリを短期間で構築できるようになります。それは、みんなにとって最高なことです。