DevOpsからDevSecOpsまで、プロセス全体にわたって実行されるセキュリティスタック

DevOpsからDevSecOpsまで、プロセス全体にわたって実行されるセキュリティスタック

「21世紀に最も大切なものは何でしょうか?それは才能です!」ゲーおじさんはかつて『泥棒のいない世界』でこのように叫んだことがある。しかし、今日では、最も重要なのはデータのセキュリティだと言えるでしょう。自動化されたDevOps、ビッグデータ、AIのいずれにおいても、セキュリティは最優先事項であり基盤であり、国家レベルのセキュリティは国家戦略にも言及されています。開発後にオンラインリリースを行う DevOps ワンスタックモデルでは、DevOps を安全なレベルにアップグレードし、スタック全体のあらゆる段階でセキュリティチェックと修正を実施し、安全なスタック DevSecOps を構築することが必須です。この記事では、DevSecOps の各段階で使用されるセキュリティのプラクティスとツールについて説明します。

[[286538]]

DevSecOps は基本的に DevOps プラクティスを採用し、対応する段階でセキュリティ チェックを追加し、それらを CI/CD パイプラインに統合して、既存の DevOps ツールとプラクティスを拡張します。

パイプラインに安全シールドを追加する

セキュリティは簡単ではありません!セキュリティ機能を DevOps に統合する場合、圧倒されて混乱してしまうことがよくあります。現在のワークフローとツールを理解することは、セキュリティ チェックとセキュリティ制御をパイプラインに統合するための鍵となります。一般的に、DevOps の継続的インテグレーション (CI)、継続的デリバリー、継続的デプロイメント (CD) パイプラインは、次の 6 つの段階に分かれています。

コーディング: コードがソース コード リポジトリに入る前の開発フェーズ。

ビルド: システムの基本的な自動テストをビルドして実行します。

テスト: ビルドが成功すると、成果物はステージング環境とテスト環境にデプロイされます。

ホスト操作: このフェーズでは、インフラストラクチャに適用する必要がある構成とバージョンの更新が行われます。

実行: ホストが正常に実行されると、アプリケーションを本番環境にデプロイする準備ができており、グレースケール方式でリリースおよびアップグレードできることを意味します。

監視: 生産活動を継続的に測定し、監視します。

この記事では、上記の 6 つの段階に基づいて、セキュリティ統合の実践と調査を行います。

開発フェーズ

DevOps の実践では、適切なコードを書くことを重視します。コードは適切に動作し、変更や理解も簡単です。 DevSecOps は、適切で安全なコードを作成するためのセキュリティ チェックを追加することで、これらのプラクティスを拡張します。

この段階では、従来の単体テスト、静的コード分析、コードレビュー、コミット前フック (git クライアント フック) などの手法をセキュリティ チェックに拡張できます。開発者の生産性に影響を与えることなく、ソース コード リポジトリにコードをコミットする前に、一般的なセキュリティ問題を見つけて修正します。

コードレビュー

コードレビューは、コードのセキュリティを向上させる重要な手段です。開発者の責任感と透明性を高め、内部の脅威(コードの汚染、隠れたバックドア、ロジック爆弾など)のリスクを軽減し、コードレビューによってコード品質の向上にも役立ちます。コードに加えて、Puppet マニフェスト、Ansible プレイブック、Dockerfiles、.gitlab-ci.yml などのいくつかの主要な構成ファイルもコードレビューの範囲に含める必要があります。

静的解析ツール

市場にはオープンソースと商用の両方で多数の静的解析ツールがあり、お気に入りの IDE に統合して、コードの一貫性、保守性、明確さ、エラー パターンなどをチェックするのに役立ちます。また、基本的なルールを追加することで、基本的なセキュリティの脆弱性を特定することもできます (このツールは言語を対象としています)。

ツールリスト

この段階で使用できるツールの一覧は次のとおりです。

Gerrit、Phabricator、SpotBugs、PMD、CheckStyle、セキュリティバグの検出など

プロジェクトビルド

コードがソース リポジトリ (gitlab など) にコミットされると、アプリケーションのビルドと基本的な自動テストが実行され、コードが常にコンパイル可能およびビルド可能であることが確認されます。

同様に、この段階で重大かつ重大度の高いセキュリティ問題を検出するためにチェックを追加する必要があります。重大な問題が見つかった場合は、ビルドを失敗に設定し、アラート通知を送信する安全制御が必要です。

依存コンポーネントのセキュリティ分析

Sonatype の 2018 年ソフトウェア サプライ チェーン レポートによると、開発者はその年に 3,000 億を超えるオープン ソース コンポーネントをダウンロードして使用しましたが、そのうち 8 分の 1 に既知の脆弱性が含まれていました。さらに、今年は基本ライブラリにトロイの木馬が挿入されることによるセキュリティインシデントが多発しています。これについては、Chong Chong の以前の記事で具体的に紹介されています。歴史記事を検索できます。

依存コンポーネントのセキュリティ分析を使用すると、依存するオープン ソース コンポーネント (ライブラリ) に既知のセキュリティ脆弱性が含まれているかどうかを確認できます。 SCA ツールを実行すると、既知のセキュリティ脆弱性を持つ古いライブラリやフレームワークを特定するのに役立ちます。

SAST (静的解析セキュリティテスト)

このフェーズでセキュリティを向上させ、チームに迅速なフィードバックを提供するもう 1 つの効果的な方法は、静的解析ソフトウェア テストを実行することです。これらのツールは、レビュー担当者が見逃したり、他の種類のテストでは見つけるのが難しい隠れたエラーを見つけることができます。

ユニットテスト

ユニット テストは、コードをリファクタリングしたり、その他の変更を加えたりするときに回帰バグを検出するのに非常に役立ちます。各機能ブロックにユニット安全性テストを追加する必要があります。

ツールリスト

この段階で使用できるツールには、よく知られている Sonarqube、OWASP 依存関係チェック、sourceclear、Retire.js、snyk などがあります。

テストフェーズ

ビルドが成功すると、生成された成果物を選択し、コンテナーまたはテスト環境にデプロイすることでテスト フェーズがトリガーされます。これらのテストには、機能テスト、統合テスト、パフォーマンス テスト、高度な SAST、セキュリティ、DAST が含まれます。

このフェーズでは通常、実行に多くの時間とリソースが必要となり、フェイルファスト アプローチの第一原則に従います。つまり、より困難で時間のかかるテストは可能な限り延期し、他のテストに合格した場合にのみ実行する必要があります。

ターゲットを絞った動的スキャン

アプリケーションがデプロイされると、クロスサイト スクリプティング、SQL インジェクション、認証バイパスなどのさまざまな攻撃にさらされることになります。ここで、動的アプリケーション セキュリティ テスト (DAST) が役立ちます。現在テストされているアプリケーションは、OWASP Top 10 にまとめられている一般的な脆弱性と高リスクの脆弱性に基づいて分析できます。

ファジー

ファズ テストは、ブラック ボックス テストとブルート フォース信頼性テスト技術であり、主に予期しないデータ テスト結果を使用して自動的に脆弱性を発見するテスト方法が含まれます。

自動攻撃

自動テスト サイクルの一環として、さらに一歩進んで、実行中のアプリケーションに対する攻撃をシミュレートし、システムの基本的な対象を絞った自動侵入テストを実行することもできます。

ツールリスト

この段階で利用可能なツール (オープンソースと商用の両方) には、Acunetix Web Vulnerability Scanner、BDD Security、JBroFuzz、Boofuzz、OWASP ZAP、Arachi、IBM AppScan、Mittn、GAUNTLT、SecApp Suite などがあります。

ホスト操作(スタンドアロン)

ホスト操作フェーズでは、ランタイム環境とそこで実行されるアプリケーションの保護に主な焦点が置かれます。長年にわたり、業界ではインフラストラクチャを強化し、より回復力を高めるために、多くのセキュリティのベストプラクティス、パターン、ガイドライン、ツールが考案されてきました。

降格、最小限の権限

PoLP では、各モジュール (対象に応じてプロセス、ユーザー、プログラムなど) は、正当な目的に必要な情報とリソースにのみアクセスできる必要があると規定されています。

構成の自動化

構成管理ツールを使用すると、大規模な安全なインフラストラクチャを繰り返し展開および作成することが容易になります。 CM ツールは構成を標準化することで、パッチ管理に関連する問題を軽減し、パッチが適用されていないサーバーをハッカーが悪用するリスクを最小限に抑え、異なる環境間の差異を減らすのに役立ちます。 CM ツールを使用すると、構成情報を中央リポジトリで追跡し、バージョン管理できるようになることにも留意してください。

不変のインフラストラクチャ

不変のインフラストラクチャでは、システム内に成果物が作成されると、ユーザーによる変更によって変化することはなく、増分変更もありません。つまり、一連の増分更新と変更ではなく、新しいサーバー インスタンスが作成され、古いインスタンスが置き換えられます。 1つ。

安全基準

多くのコミュニティがインフラストラクチャの強化に関するガイダンスとアドバイスを提供しています。これらの標準には、Center for Internet Security (CIS) ベンチマークや NIST 構成チェックリストなどが含まれます。

ツールリスト

この段階で使用できるツールには、Ansible、Puppet、(R)?ex、HashiCorp Terraform、Chef、Docker などがあります。

運用段階

上記のすべてのステージが正常に実行された場合は、本番環境で実行するための準備をする必要があります。このフェーズの目標は、構成時または展開時にエラーが発生していないかどうか、これらのエラーによってシステムの信頼性と回復力が低下するかどうか、障害発生時にこれらのエラーを介して攻撃される可能性があるかどうかを確認することです。

このフェーズでは、自動化されたランタイム チェックとテストが重要な役割を果たします。特に、セキュリティ違反や脆弱性を発見し、アクセス制御ポリシーやファイアウォール ルールの変更などのリスクを強調する上で重要な役割を果たします。

ツールリスト

この点に関して、Netflix のオープンソース ツールである chaosmonkey について特に言及したいと思います。これは、カオスの原理を使用して分散システムで実験を行い、実稼働環境での制御不能な状況に抵抗するシステムの能力と信頼性を構築することを目的としています。

監視フェーズ

セキュリティは、システムが稼働した時点で終わるのではなく、そこから始まるのです。 DevSecOps では、自動化されたセキュリティ チェックと監視フィードバック ループの反復が、運用オペレーションの基本的な部分です。

継続的な監視により、アプリケーションが受信するトラフィックの種類を把握し、悪意のあるユーザーからの攻撃パターンを特定するのに役立ちます。

ランタイムアプリケーションセキュリティ保護

RASP テクノロジーは、アプリケーションのセキュリティ脅威をリアルタイムで識別してブロックします。 RASP は、アプリケーション ランタイム環境に検出機能と保護機能を追加することで、特定の条件に応じて人間の介入なしに自動的に再構成することで、アプリケーションが「自己保護」できるようにします。

セキュリティ監視

1 つ目は、潜在的なセキュリティ脅威の指標を収集して分析し、アラートをトリガーする動作の種類を定義し、アラートに対して本格的なアクションを実行するプロセスを自動化することです。たとえば、IDS、ホスト プロセスの監視、作業ディレクトリの変更の監視、トラフィックの監視などです。

バグバウンティ

脆弱性報奨金プログラムを通じて、第三者の協力を得て、徹底的な脆弱性調査を実施し、実際のリスクレベル、システムの弱点や脆弱性を完全に理解することができます。通常、システムを混乱させたり、機密データを危険にさらしたり漏洩したりすることなく、自由に行動できます。

ツールリスト

市場には、Prevoty、Alert Logic、HALO、EVIDENT など、多くのランタイム防御ツールが存在します。

<<:  Kubernetes がハイブリッドクラウドの様相をどう変えたか

>>:  Docker コンテナでインターネットにアクセスできない問題に対する 6 つの解決策

推薦する

「ウォーターフォールフロー」は万能薬ではなく、ウェブサイトのデザインの焦点を無視することはできない

「迅速なフォロー」が開発目的となっているこの時代、Pinterest が「ウォーターフォール フロー...

pqhosting のロシア VPS の簡単なレビュー、データが実際の状況を伝えます!

pqhosting は、VPS や専用サーバーを含む 17 の国と地域でデータセンターを運営していま...

drServer-3.5 EUR/Windows/1G RAM/20g SSD/1T トラフィック

2006 年に設立された drServer には、いくつかのサブブランドがあり、その 1 つが vi...

K8s 拡張ワークロード OpenKruise CloneSet

OpenKruise (https://openkruise.io) は、デプロイメント、リリース、...

Spark Technologyは「2020年第4位のICユニコーン」リストに掲載されました

最近、2021年世界半導体大会の「中国ICユニコーンフォーラム」でICユニコーン企業リストが発表され...

ゼブラのMARS版が発売、クルマをアシスタントから家族の一員へと進化させる

9月22日、Banma Networksはインターネットカー「Banma Smart MARS」の新...

domain.com - .Me ドメイン名を 2.99 ドルで登録、登録回数は無制限

今後、domain.com は .me ドメイン名を特別価格で販売することを決定しました。初年度はた...

熊暁峰:ソーシャルマーケティングの専門家が明かしたがらない秘密の計画モデル

月収10万元の起業の夢を実現するミニプログラム起業支援プランコミュニティ マーケティング プランの主...

予算が少ない場合でも、Tmall Global はどのようにしてマーケティング革新を実現できるのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス長い間、広告やマーケティ...

Baidu によって削除された Web サイトを保存するにはどうすればよいですか?

かつて、非常に優れたショッピングガイドのウェブサイトが目の前にありましたが、私はそれを大切にしません...

PacificRack のブラックフライデー「ハイブリッドサーバー」の簡単なレビュー

Pacificrack は、ブラックフライデー向けにハイブリッド サーバーの 70% オフ プロモー...

魏無慧:ビッグデータ時代の構造と抵抗

デジタル世界の発展はハッカーと密接に関係していることを多くの人が知っています。たとえば、マイクロソフ...

私は SEO 市場でクライアントを探しています。あなたはどうですか?

ネットワーク関係者というのは、私が今自分につけている肩書きです。インターネットマーケティングプランナ...

目を覚ましてください、テンセントとネットイースがゲーム業界を支配しており、誰も3位になるチャンスはありません

現在人気の「 Honor of Kings 」は、当初から批判され、嘲笑されてきましたが、それでもこ...