SECURITY 540 | ||||||||||||||||||||||||||||||||||||
Cloud Security and DevOps Automation |
||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
受講に必要なPC環境
演習で使用するノートPCをご持参下さい。受講に必要なPC環境についてご確認ください。
SANSトレーニングを有意義に受講していただくには、以下の要件を満たすノートPCを受講者自らご用意いただきます。下記要件をよく確認し、事前に必要な設定を完了しておいてください。セッション中には、下記の設定を実施する時間は設けられていません。必ず事前の確認・設定をお願いいたします。
重要事項
本コースでは事前にAWSフリーティアアカウントを新規で作成しなければなりません。アカウント作成後、利用可能になるには24時間以上の時間を要する場合がありますので、下記の内容をクラス開始の1週間前までに実施・確認をお願いいたします。コース開始後にアカウントを作成する場合、ハンズオン演習に遅れが生じる可能性があります。
本コースでは、一部のハンズオンでAWSの有償機能を利用します。
トレーニング中に有償機能の有効化・支払いが必要となりますため、クレジットカードをお持ちください。
受講費用とは別におおよそ15~25米ドルが必要となります。
受講者にはオプションとしてMicrosoft Auzreボーナスチャレンジが用意されており、このチャレンジを実施する場合にはコース開始前までにMicrosoft Auzreアカウントを作成しておく必要があります。またAzureアカウントの利用料はおおよそ週20米ドルが必要です。
- 個人向けフリーティアアカウントの登録
- 登録したアカウントのアクティベート
- ルートアカウントによるAWSコンソールへのログイン確認
- ブラウザでEC2サービスダッシュボート(アクティベーション画面ではなく)が閲覧可能であることの確認
- ページ右上の角からコースが実施される場所に一番近いリージョンを選択(Asia Pacific Tokyo)
- 左側のメニューから「Limits」を選択
- 5つの「t2 micro」インスタンスが利用可能であることを確認
- 「t2 micro」が5つ以下の場合には改めて新規にt2 microインスタンスの作成をお願いいたします。新規でインスタンスを作成した場合、何らかの理由により自動的にインスタンス作成を制限する場合があります。もし30分時間を置いても上限が増加しない場合、AWSサポートチームにその旨をお問い合わせください。詳細についてはAWS EC2 Service Limitsをご参照ください。
ノートパソコンのハードウェア要件、ソフトウェア要件
- CPU: 64ビット 2.5GHz マルチコアプロセッサ以上
BIOS/UEFIにおいて仮想化技術(VT-xやAMD-Vなど)の利用が有効になっていること - ディスク: 50GB以上の空きディスク容量のSSD
- メモリ: 16GB以上のRAM。
- USB2.0以上でexFATファイルシステムを扱えること
- 無線LAN 802.11 b/g/n/ac
- ホストOSに対する管理者権限アクセスが行なえること
- 64ビット版 Windows 8または10、Mac OS X (Sierra、High Sierra、Mojave)
- VMware Workstation Pro 14.0、VMware Workstation Player 14.0、VMware Fusion 10.0を事前にインストール
- 書庫解凍ソフトウェア(7Zipなど)
事前にVMware製品をダウンロードしてインストールしてください。VMware Workstation Pro 14.0、VMware Workstation Player 14.0、VMware Fusion 10を選択します。VMware Workstation、VMware Fusionのライセンスを持っていなくても、30日間はフリートライアル期間として利用することができます。VMwareウェブサイトに登録すれば、期限付きのシリアルナンバーが送られてきます。
ノートパソコンの設定に関して追加で質問がある場合は、info@sans-japan.jp(NRIセキュアテクノロジーズ)にお問い合わせください。ただし、米国と問合せを行う関係上時間を要する場合がございます。お急ぎの方はlaptop_prep@sans.orgに直接お問い合わせください(英文)。コース概要
SEC540はDevOpsとクラウドサービスを使って安全なインフラストラクチャとソフトウェアを構築しデリバーするためのメソッドを開発、運用、セキュリティのプロに対して提供します。
受講生はDevOpsの原則、プラクティス、ツールがオンプレミスとクラウドにホストされたアプリケーションの信頼性、完全性、セキュリティをどのように向上させるかを学んでいきます。
このコースの最初の2日間では、オンプレミスでの導入から始め、成功したDevOpsセキュリティプログラムからの教訓をもとにSecure DevOpsの手法とその実装を検証します。
Puppet、Jenkins、GitLab、Vault、Grafana、Dockerといった人気のオープンソースツールを使ってConfiguration Management(「Infrastracture as Code」)やContinuos Integratin(CI)、Continuous Delivery(CD)、コンテナ化,マイクロセグメント化,自動コンプライアンス(「Compliance as Code」)、Continuos Monitoringなどを自動化をハンズオンを通じて習得します。ラボ環境は、インフラストラクチャとアプリケーションを自動的に構築、テスト、および導入するCI/CDパイプラインから始まります。Secure DevOpsツールチェーンを活用して、さまざまなセキュリティツール、パターン、テクニックを使用して、CI/CDパイプラインにセキュリティを注入する一連のラボを実施します。
DevSecOpsの基盤を構築した後、最後の3日間は、DevOpsのワークロードをクラウドに移し、安全なクラウドインフラストラクチャを構築し、安全なソフトウェアを提供する仕組みに取り組みます。SEC540は、Amazon Web Services(AWS)ツールチェーンの詳細な分析を提供すると同時に、Microsoft Azure内の同等のサービスを軽くカバーします。CI/CDツールチェーンを使用して、コンテナ化されたアプリケーションとマイクロサービスをホストできるクラウドインフラストラクチャを構築します。ハンズオンでは、API Gateway、Identity and Access Management(IAM)、CloudFront Signing、Security Token Service(STS)、Key Management Service(KMS)、マネージドWAFサービス、サーバレス機能、CloudFormation、AWS Security Benchmarkなどのセキュリティサービスやツールを使用して、クラウドインフラストラクチャやアプリケーションの脆弱性を分析し修正します。
本コースによって受講者は下記の内容を習得します。
DevOpsの裏側にある思想とパターンの理解
- DevOpsがどのように動作し、成功のための鍵を特定します。
Continuous Delivery/Continuous Deploymentのマッピングと実装
- Continuous Integration、Continuous Delivery、Continuous Deplymentワークフロー、パターン、ツールの活用
- DevOpsとContinuous Deliveryに関連するセキュリティリスクと自称の特定
DevSecOpsメソッドとツールチェーンの理解
- DevOpsプラクティスを使ったDevOpsツールとワークフローのセキュア化
- 変化の激しい環境下における効果的なリスクアセスメントと脅威モデリングの実施
- CI/CD向け自動セキュリティテストとチェックの設計とコーディングContinuous Deliveryにおける様々な自動テストアプローチの強みと弱みの理解
- 開発者向けセルフサービスセキュリティサービスの実装
- ソフトウェア依存関係のインベントリ作成とパッチ適用
- 脅威モデリングとビルドと開発環境のセキュア化
本場運用に対するセキュリティ施策の組込み
- Infrastructure as codeによる構成管理の自動化
- Dockerなどのセキュアなコンテナテクノロジー
- 本番―開発間の継続的監視フィードバックサイクルの構築
- 継続的統合サーバとアプリケーションへの機微情報の安全な管理
- コンプライアンスとセキュリティポリシーポリシースキャンの自動化
DevOpsワークロードのクラウド移行
- AWSアカウントのセキュア化
- クラウドアーキテクチャコンポーネントの理解
- Infrastructure as Code(CloudFormation)を利用したクラウドインフラストラクチャーの自動化
- CodeBuildを利用したセキュリティスキャンのCodePipelineへの組み込み
- EC2 Container RegistryとEC2 Container Serviceを利用したアプリケーションのコンテナ化
クラウドサービスを利用したクラウドアプリケーションの保護
- KMSとSSM Parameter Storeを利用した機微データの保護
- CloudFront Signingを利用した静的コンテンツの保護
- API Gatewayを利用したREST APIの保護
- サーバーレス機能を活用したAPI Gatewayへの要求の承認
クラウドセキュリティと運用タスクの自動化
- ブルー・グリーンデプロイメントを利用したシステムへのパッチ適用
- AWS WAFの配置とカスタムWAFルールの作成
- CloudWatchとサーバーレス機能を利用したセキュリティイベントの検知と対応
本講座受講にあたっての前提
本コースをご受講される場合、下記の知識を習得していることを前提としています。
- Linuxシェルコマンドと関連コマンド
- 基本的なアプリケーションへの攻撃と脆弱性(OWASP Top 10など)
- AWS、Azureクラウドでの操作経験(推奨)
本コースでは数々のDevOpsとクラウドツールに触れる機会があります。事前に下記のテクノロジーや限度などに目を通しておくことでハンズオン演習の内容をよりスムーズかつより深く理解することが可能です。
- Running basic Git commands (clone, add, commit, push)
- Using GitLab for version control
- Jenkins Getting Started Guide
- Learning Puppet
- YAML
- AWS CloudFormation Templates (YAML & JSON)
- Terraform HCL
受講者が学ぶ内容
- ご自身の組織でセキュアなDevOpsワークフロー環境の構築
- Continuous Integration/Continuous Delivery(CI/CD)システムにおける自動化セキュリティタスクの作成
- セキュアなDevOpsツールチェーンからスキャナーの設定および起動
- 一般的な設定ミスなどを検知するクラウドインフラストラクチャーセキュリティ監査の実施
- クラウドにホストしている(CI/CD)システムにおけるクラウドアプリケーションセキュリティスキャン
- データストレージの脆弱性に対するクラウド暗号化サービスのレビューと特定
- オンプレミスおよびクラウド上の機密管理ツールを使用した安全な機密管理の実行
- コンテナ、サーバレス、APIゲートウェイ・アプライアンスにおけるセキュリティ脆弱性に関するマイクロサービスアーキテクチャの監査
- クラウドの自動化を活用したダウンタイムなしのパッチ適用とソフトウェア導入の自動化
- クラウドサービスと構成を監視、検知、積極的防御のサーバレス機能での構築
- クラウドのサービスと構成を監視、検出、および積極的に防御するサーバレスの機能を構築する
受講対象者
- パブリッククラウド環境へのシステム移行を考えている方
- DevOps環境への移行を考えている方
- クラウドやDevOps Continuous Deliveryパイプラインにセキュリティチェックやテスト、その他のコントロールをどのように導入すればよいかを理解したい方
- DevOpsワークロードのクラウド(特にAWS)移行に興味がある方
- AWSが提供するクラウドアプリケーションセキュリティサービス活用に興味がある方
- 開発者
- ソフトウェアアーキテクト
- 運用エンジニア
- システム管理者
- セキュリティ分析官
- セキュリティエンジニア
- 監査人
- リスク管理者
- セキュリティコンサルタント
「DevOpsとクラウドは、組織がオンラインシステムを設計、構築、展開、運用する方法を根本的に変えつつあります。Amazon、Etsy、Netflixなどのリーダーは、毎日何百、何千もの変更を展開し、継続的に学習し、改善し、成長し、競合他社を大きく引き離すことに成功しています。今やDevOpsとクラウドは、インターネット発の「ユニコーン」にとっては巨大企業へシフトしていくために必要なツールなのです。
従来のセキュリティ対策では、この急速な変化に追いつくことは困難でしょう。組織内の「混乱の壁 」を細分化したエンジニアリングおよび運用チームは、Infrastructure as Code、Continuous Delivery、Continuous Deployment、マイクロサービス、コンテナ、クラウドサービスプラットフォームなど、新しい種類の自動化をますます活用するようになっています。問題は、セキュリティがツールと自動化を利用してシステムのセキュリティを向上できるかどうかです。」
Introduction to Secure DevOps
SEC540はDevOpsに関する施策、思想、ツールなどに関する解説からクラスを開始します。DevOpsがどのように機能するのか、その仕組みの中でどのようにジョブが進められるのか、DevOps文化や協調性、自動化の重要性について検証していきます。
DevOps「ユニコーン」(DevOpsのDNAを創造したとも言える今をとときめくインターネット業界リーダー)の事例を取り上げ、これらの組織がどのように成功したか、DevOpsのセキュリティプログラム成功の鍵を解き明かしていきます。
次にDevOpsの自動化エンジンであるContinuous Deliveryに目を向けていきます。どのようにDevSecOpsセキュリティコントロールを含んだContinuous DeliveryパイプラインまたはContinuous Deploymentパイプラインを構築しているのか、どのようにセキュリティチェックとテストの自動化を組み込んでいるのかを探求します。
演習
- CI/CDツールとパイプラインを知る
- Kataのデプロイ
- プリコミットセキュリティ:Git Hooksとセキュリティユニットテスト
- CIによる静的自動分析
- CI/CDによる動的自動分析
- NetWars(Day1):セキュアDevOpsボーナスチャレンジ
トピックス
- DevOpsの概要
- 事例:DevOps「ユニコーン」
- DevOpsの利用
- DevOpsにおけるセキュリティチャレンジ
- CDパイプラインの構築
- Continuous Deliveryのセキュア化
- プリコミット時のセキュリティ
- コミット時のセキュリティ
- Acceptance時のセキュリティ
Moving to Production
Day1で開発したアイデアとフレームワークを基に、Puppet、Chef、Ansibleなどの最新の自動構成管理ツールを使用することで、新しいインフラストラクチャを迅速かつ一貫性のある方法で導入し、構成を管理する方法を学習します。
自動化されたCDパイプラインはDevOpsにとって非常に重要で、さまざまな防御的アプローチを使ってパイプラインをセキュアにする方法も学習します。
インフラストラクチャとアプリケーションコードが本番環境に移行するのに伴い、後半はDockerやKubernetesなどのツールに関連するコンテナセキュリティの問題や、Vaultを使用して機密情報を保護する方法、Grafana、Graphite、StatsDを使用して継続的なセキュリティ監視を構築する方法について解説します。
最後にDevOpsツールチェーンで構築されたセキュリティコントロールとガードレールを使い、Continuous Deliveryを基準に準拠させる方法について説明します。
演習
- Puppetを用いた構成管理
- Dockerセキュリティの監査
- Dashboards、Granfana、Graphiteを用いた監視
- Vaultを用いた機微データの保護
- OpenSCAPでの監査
- NetWars(Day2):セキュアDevOpsボーナスチャレンジ
トピックス
- Infrastructure as Codeを用いたセキュアな構成管理
- 構成管理のセキュア化とContinuous Integration/Continuous Deliveryパイプライン
- コンテナセキュリティ、ハードニングとオーケストレーション
- 継続モニタリングとフィードバックループ
- 機微管理のセキュア化
- Compliance as Codeの自動化
Moving to the Cloud
DevOpsの原則を理解することで、インフラストラクチャ、アプリケーション、CI/CDツールチェーンをクラウドにデプロイする方法を学ぶことができます。このセクションでは、Amazon Web Services(AWS)の概要から始め、自動インフラストラクチャパイプラインをAWSクラウドにデプロイするために必要な基本的なツールとプラクティスを紹介します。
受講生は、半日を使ってクラウドインフラストラクチャコードをスキャンとテストを行い、一般的なクラウドの構成ミスの脆弱性を調べます。インフラストラクチャーコードの修正とコミットがきっかけとなりインフラストラクチャーパイプラインが自動的にクラウドインフラストラクチャーコードを堅牢化します。
最後にクラウドの継続的インテグレーションとデリバリツールを検討し、サーバレスコンピューティングを活用して、コンテナをオーケストレーションサービスにリリースする前に静的分析とソフトウェアサプライチェーンの脆弱性スキャンを実行します。
演習
- AWSアカウント構成とハードニング
- AWSコマンドラインインターフェースの自動化
- Jenkins Blue OceanとCloudFormationを使ったクラウドインフラストラクチャーデプロイ
- クラウドインフラストラクチャースキャニングとハードニング
- CodeBuildとCodePipelineによるCI/CDでのセキュリティスキャニング
- NetWars(Day3):セキュアDevOpsボーナスチャレンジ
トピック
クラウドの概要
- クラウドプロバイダ比較
- AWSサービスの紹介
- AWSコマンドラインインターフェースを使った自動化
クラウドアーキテクチャの概要
- AWSアーキテクチャコンポーネント
- CloudFormation Infrastructure as Code
- CFN_NAGによるCloudFormation静的解析
- Jenkins Blue Oceanを使ったCloud Architectureの自動化
セキュアなクラウドデプロイメント
- コードコミットのセキュリティ
- クラウドコンテナオーケストレーション
- よくあるクラウドセキュリティ事案
- S3バケットの設定ミス
- IAM権限昇格
- NACLとSecurity GroupによるControlling Traffic Flow
- 管理者アクセスの露出
- Infrastructure as Codeによるパッチ適用
- TLSの設定ミスとハードニング
CI/CDでのセキュリティスキャニング
- CodeBuildとCodePipelineインテグレーション
- サーバレス機能(Lambda)による静的解析
- CodeBuildによる静的解析
- JenkinsとCodePipelineの統合
Cloud Application Security
このセクションでは、クラウドアプリケーションセキュリティーサービスを活用し、アプリケーションが適切な暗号、認証、許可、およびアクセス・コントロールを備えていることを確認するとともに機能的で高い可用性を備えたシステムの維持方法を学習します。
クラウドデータの保護をはじめ、さまざまな暗号化サービスとクラウドでの機密管理の実装方法を検討します。この知識を活用し、受講者はプライベートキー署名されたContent Delivery Network(CDN)によって提供される静的なWebサイトコンテンツを保護する方法を学習します。
後半では、マイクロサービスの世界、APIゲートウェイによるAPIの保護、サーバーレス機能の導入による承認、データ資格、アクセス制御の管理について解説します。
演習
- KMSとSSM Parameter Storeによるアプリケーションシークレットの暗号化
- 署名されたURLによるCloudFrontコンテンツのセキュア化
- API GatewayによるREST Webサービスの保護
- LambdaとJSON Web Tokens(JWT)によるAPIの保護
- NetWars(Day4):セキュアDevOpsボーナスチャレンジ
トピックス
データプロテクション
- データストレージ(S3、RDS、DynamoDB)
- 機密管理
- 機密管理へのアプローチ
- 鍵管理サービス
- サードパーティソリューション
コンテンツデリバリーのセキュア化
- コンテンツデリバリーネットワークの概要
- Origin Access Identitiesによるオリジナルファイルへのアクセスコントロール
- 署名済CookieとURLによるCloudFront Trusted Signingとアクセス制限
- BucketポリシーによるセキュアなCross-Originリソースシェアリング設定
マイクロサービスセキュリティ
- マイクロサービスアーキテクチャの攻撃点
- マイクロサービスセキュリティ
- AWSセキュリティトークンサービス、Identify Federation、Web Identity Federationによる認証
- JSON Webトークンによる認証
- Service MTLSのサービス
- RESTセキュリティ
- API Gatewayセキュリティ
サーバーレスセキュリティ
- サーバーレスコンピューティングの概要
- サーバーレスセキュリティの懸念事項
- AWS Lambda
- Lambdaによるセキュリティの自動化
Cloud Security Automation
Day5では、ここまで学習してきた基礎を拡張し、DevSecOps実践者はクラウドサービスを活用したセキュリティータスクの自動化に焦点を移します。ブルー/グリーン環境を使用してアプリケーションへのセキュリティパスを導入し、ダウンタイムを最小限に抑えることに取り組みます。
次に、監視機能、攻撃検知機能、および攻撃者を捕捉してブロックするための積極的な防御機能を備えたクラウドWebアプリケーションファイアウォールの導入と構成について解説します。この概念をベースに次のレベルにステップアップし、クラウドコンプライアンスポリシーおよびハードニングガイドラインで求められる監視、検知、適用を構築することが可能になった状態でコースを修了することになります。
演習
- ブルー/グリーン環境によるセキュリティパッチの展開
- AWS WAFによるセキュリティの自動化
- CloudWatchとCloudTrailによるセキュリティ監視とアラート
- CIS AWSセキュリティベンチマークプロジェクトによるクラウドコンプライアンスの自動化
- NetWars(Day5):セキュアDevOpsボーナスチャレンジ
トピックス
ブルー/グリーンデプロイオプション
- EC2 DNSルーティング
- EC2 自動スケーリンググループ
- ALBローンチ設定
- ECS DNSルーティング
- ECSサービススワッピング
- ECSタスク定義
セキュリティの自動化
- 不適切な攻撃防御
- クラウドWebアプリケーションファイアウォール
- AWSセキュリティ自動化プロジェクト
- エンドポイントハニーポットによるBotのブロック
- カスタムWAFルールの作成
セキュリティ監視とコンプライアンス
- CloudWatchログとメトリックの探索
- 監査ロギングのためのCloudTrailの有効化
- クラウドモニタリングサービス
- サードパーティークラウド監視ソリューション
- CISクラウドセキュリティベンチマーク