
Explanation:
ボックス1:脅威モデリング
脅威モデリングのモットーは、「早ければ早いほど良いが、遅すぎてもいけないし、決して無視してはいけない」であるべきです。ボックス 2: 静的コード分析 CI/CD での検証は、開発者がコードをコミットする前から始まります。IDE の静的コード分析ツールは、セキュリティ脆弱性が CI/CD プロセスに導入されないようにするための最初の防御線となります。
ボックス3:侵入テスト
コードの品質が検証され、アプリケーションが開発環境やQA環境などの下位環境にデプロイされたら、実行中のアプリケーションにセキュリティ上の脆弱性がないことを検証する必要があります。これは、実行中のアプリケーションに対して自動侵入テストを実行し、脆弱性をスキャンすることで実現できます。
参考文献:
https://docs.microsoft.com/en-us/azure/devops/articles/security-validation-cicd-pipeline?view=vsts
トピック1、概要
既存の環境
Litware, Inc.は独立系ソフトウェアベンダー(ISV)であり、本社と5つの支店を構えています。
アプリケーションアーキテクチャ
同社の主要アプリケーションは、ASP.NET Webフォームをベースとした単一の統合型退職年金管理システムであり、そのロジックはV8.NETで記述されている。アプリケーションの新しいセクションの一部はC#で記述されている。
アプリケーションのバリエーションは、個々の顧客向けに作成されます。現在、アプリケーションのコードベースには80以上のコードブランチが存在します。
このアプリケーションはMicrosoft Visual Studioを使用して開発されました。ソースコードは本社にあるTeam Foundation Server(TFS)に保存されています。支社はTFSプロキシサーバーを使用してソースコードにアクセスします。
建築上の問題
Litwareは顧客向けに新規コードを作成することに重点を置いており、既存コードのリファクタリングや削除のためのリソースは提供していません。コードベースの変更には時間がかかり、ASの依存関係は個々の開発者にとって明確ではありません。
コードのマージ作業は、多くの場合数ヶ月を要し、多くの開発者が関与します。コードのマージは、発見と解決が困難なバグを頻繁に引き起こします。
顧客からは、退職年金管理システムの運用コストが継続的に増加しているとの報告がある。関連性のないコードを統合する必要があるため、些細なコード変更でさえ高額になる。
要件
計画されている変更
Litware社は、投資計画のための新しいアプリケーション群を開発する予定です。この投資計画アプリケーションは、Easting社の退職年金管理システムとの連携は最小限で済みます。
投資計画アプリケーションスイートには、1つのマルチティアWebアプリケーションと2つのiOSモバイルアプリケーションが含まれます。1つのモバイルアプリケーションは従業員が使用し、もう1つは顧客が使用します。
Litwareは、よりアジャイルな開発手法への移行を計画している。共有コードは一連のパッケージに抽出される予定だ。
Litwareは社内でのクラウド移行プロセスを開始しており、適切な場合にはクラウドベースのサービスを利用する計画だ。
Litwareは、顧客からのバグ報告を待つのではなく、障害を積極的に検出する企業になりたいと考えている。
技術要件
同社の投資計画アプリケーションスイートは、以下の技術要件を満たす必要があります。
ファイアウォールを経由する新規の着信接続は最小限に抑える必要があります。
* Developersという名前のグループのメンバーは、パッケージをインストールできる必要があります。
* すべての権限割り当てには、最小権限の原則を適用しなければならない。
* 新しい機能を個別に開発できるような分岐戦略を採用する必要がある。
* チームリーダーという名前のグループのメンバーは、新しいパッケージを作成したり、パッケージフィードの権限を編集したりできる必要があります。
* モバイルアプリケーションのクラッシュ情報や使用中のデバイスの種類に関するレポートを一元管理するには、Visual Studio App Centerを使用する必要があります。
* デフォルトでは、モバイルアプリケーションのクラッシュや使用中のデバイスの種類に関するレポートを一元管理するために、すべてのApp Centerを使用する必要があります。
コードの品質とリリースの品質は非常に重要です。リリース中に、リリースに対してアクティブなバグが記録されている場合は、ステージ間のデプロイメントを進めてはなりません。
* モバイルアプリケーションは、既存の退職年金管理システムの株価情報サービスを呼び出すことができなければなりません。システムがアップグレードされるまでは、サービスはHUPSによる基本認証のみをサポートします。
* テストサーバーに必要なオペレーティングシステムの構成は毎週変更されます。各テストサーバーのオペレーティングシステムが、サーバーの作成時および定期的なチェック時に同じ方法で構成されていることを確認するために、Azure Automation State Configurationを使用する必要があります。
現在の技術
テストサーバーは初回デプロイ時には正しく構成されますが、時間の経過とともに構成のずれが生じます。Azure Automation State Configuration では、この構成を修正できません。
Azure Automation State Configuration ノードは、以下のコマンドを使用して登録されます。
