第3章 セキュリティの統合 セキュリティを統合する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
第2章では、DevSecOpsに関連する技術的なスキルを確立するための基礎的な側面について、機密性(Confidentiality)、完全性(Integrity)、可用性(Availability)(CIA)のセキュリティの3要素について簡単に紹介した。本章では、この3つの概念に深みを持たせる。この章は、セキュリティ実践の統合の概要から始まり、OWASP ZAP ツールのデモを通した、セキュリティに関連する実践的な実装で締めくくられる。
セキュリティの実践を統合する
DevSecOpsでは、セキュリティは、ソフトウェア開発ライフサイクルの各ステップに含まれる不可欠な要素である。重要なことは、セキュリティ専任チームを単一チームにするのではなく、プロセスとツールを、DevSecOps チームのすべてのメンバが利用でき、使用できるようにすることである。このセクションでは、DevSecOps の文脈におけるセキュリティの実践について検討する。最小特権の概念から始まり、CIA をめぐる問題に円環状に戻る。このセクションでは、すべてのコンピュータセキュリティの実践とツールを取り上げるわけではない。特に、DevSecOps に対するスタンスに関係なく、どのような組織でも既に実施しているはずの項目は、このセクションには含まれていない。例えば、以下は、DevSecOps に関係なく存在すべきプロセスとツールの無尽蔵なリストである:
-
パッチとアップデートのプロセスは確立され、実装されていなければならない。
-
脅威モデリングと攻撃ベクトルおよび攻撃対象の特定は継続的に行う必要がある。
-
必要なところには、スマートで有益なセキュリティ・トレーニングが実装されているはずだ。
-
関連する法律および規制の要件は遵守されている。
-
災害復旧方針が実装されている。
-
インシデントレスポンスと復旧は、ベストプラクティスに基づくべきである。
CIA のトライアドは、DevSecOps のプロセスとテクノロジーに関するオプションを検討する際に参照できるベースとなる。DevSecOpsの重要な概念を、トライアドの3つの要素の1つ以上にマッピングすることは可能である:
-
最小特権の実装 → 機密性、完全性、可用性
-
役割ベースの認証 → 機密性、完全性、可用性
-
可視性とセキュリティ・テスト → 機密性、完全性、可用性
-
鍵および証明書ベースの認証を使用する → 機密性、完全性、可用性
-
コードのトレーサビリティ → 機密性、完全性
-
廃炉プロセスの確立 → 機密保持
最小限の特権を実装するというアイデアを掘り下げてみよう。
最小特権の実装
学内のラジオ局()のアドバイザーを務めている私は、たくさんの物理的な鍵を持っている。つまり、普段使いのキーホルダーと、鍵屋が嫉妬するほどの鍵が入った巨大なリングがある。それらの鍵を持っていても、キャンパス内のすべての建物や部屋に入ることはできない。その必要はない。私は自分の役割に必要な最小限の鍵しか持っていないので、仕事に関わる仕事を遂行するために必要な最小限のアクセスしかできないのだ。これが最小権限の概念である。
これをコンピューティングの概念に当てはめると、すべての人がすべてのサーバや自分のコンピュータで完全な管理者権限を持つ必要はない。ある種のソフトウェアは、インストールするために昇格した特権を必要とするが、インストールを超えた日常的な作業では、それ以上のレベルのアクセスは必要ない。開発者が特定のデータにアクセスできないことを発見した場合、コンテキストの切り替えが必要になるため、最小特権は時としてフラストレーションを与えることがある。最小特権は、データの紛失やサーバの設定ミスの際にも役立つ。なぜなら、権限を持たない者がデータを削除することはできないからだ! ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access