Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure DevOps Online Vol.8 - GitHub Advanced Security

Azure DevOps Online Vol.8 - GitHub Advanced Security

Azure DevOpsで使用可能になったGitHub Advanced Security for Azure DevOpsの説明資料です。

KAMEGAWA Kazushi

August 26, 2023
Tweet

More Decks by KAMEGAWA Kazushi

Other Decks in Programming

Transcript

  1. Azure DevOps Online Vol.8 - GitHub Advanced Security for Azure

    DevOps かめがわ かずし(@kkamegawa) - 2023/8/26
  2. Who am I? personal: name: KAMEGAWA Kazushi(Last-First) alias: kkamegawa community:

    MVP: Microsoft MVP for Developer Technologies(2009-) Users Group: Team Foundation Server Users Group URL: https://dev.azure.com/tfsug/tfsuginfo Blog: URL: https://kkamegawa.hatenablog.jp devblog radio: https://devblog.connpass.com/
  3. Azure DevOps GitHub タスク管理 ある(Boards) ある(Project/Issue) CI / CD ある(Pipelines)

    ある(Actions) Git ある(Repos) ある テスト管理 ある(Test Plans) ない パッケージ管理 ある(Artifacts) ある(Packages) セキュリティ ない→ある(GHAzDo) ある(GHAS) Azure DevOps と GitHub ※ Azure DevOps ServiceとGitHub Enterprise Cloud比較 ※ GitHub Advanced Security for Azure DevOps = GHAzDo (中の人がこの略称使っているので…)
  4. GitHub Advanced Security for Azure DevOps(GHAzDo) 2022/11のIgniteでプライベートプレビュー開始 2023/5のBuildでパブリックプレビュー開始 https://aka.ms/advancedsecurity-signup GitHub

    Advanced Security for Azure DevOps 機能を構成する - Azure Repos | Microsoft Learn ※ Public Preview申し込んでも音沙汰なかったから、お付き合いのある営業の方いたらその方が早いかも… 機能的にはGitHubと同じ CodeQL(Windows Driverの検証でも要求される) Dependency Alert Secret Scanning
  5. 課金 90日以内にコミットしている人数x$49でAzure Subscriptionに チャージされる レポジトリ数は無関係(重複課金されない) GitHub Advanced Security for Azure

    DevOps への課金 - Azure Repos | Microsoft Learn 2023/7/1 8/1 9/1 10/1 10人 0人 8人 有効 無効 5人 有効 5人 有効 ⊃ ※5人は8人のrepoに含まれる 8人
  6. Defender for DevOps GHAzDo 管理 Azure Azure DevOps できること シークレットキー検査

    IaC検査 複数ツールによるコードスキャン シークレットキー検査 CodeQLによるコード検査 依存関係調査 料金 プレビュー中無料 $49/user セキュリティ RBAC Azure DevOps内 セキュリティロール 閲覧 Azureポータル Pipelinesビルド結果 Azure Reposから Defender for DevOps と GHAzDo
  7. How to setup Defender for DevOps(Azure) • GitHub/Azure DevOpsでのアラートを管理する機能 •

    設定する人にSecurity Adminロールが必要(警告が出る) (Subscription ownerでもダメ) • 現在プレビュー中で無料なので使い倒そう Microsoft Defender for DevOps - 利点と機能 - Microsoft Defender for Cloud | Microsoft Learn
  8. Defender for DevOpsでできること Pull requestの注釈 IaC scan(GHAzDoにはない)  Microsoftの提供のルール、カスタムルールが選択可 Secret

    ScanningはGHAzDoで置き換え予定 GitHubとAzure DevOpsでは若干の機能差あり (OSS脆弱性検査はGitHubのみなど) Microsoft Defender for DevOps - 利点と機能 - Microsoft Defender for Cloud | Microsoft Learn
  9. Defender for DevOpsのIaC Scan WebAppsのbicepです。 どこが悪いでしょう? param webAppName string =

    uniqueString(resourceGroup().id) param sku string = 'F1' param linuxFxVersion string = 'node|14-lts' param location string = resourceGroup().location var appServicePlanName = toLower('AppServicePlan-${webAppName}') var webSiteName = toLower('wapp-${webAppName}') resource appServicePlan 'Microsoft.Web/serverfarms@2022-09-01' = { name: appServicePlanName location: location properties: { reserved: true } sku: { name: sku } kind: 'linux' } resource appService 'Microsoft.Web/sites@2022-09-01' = { name: webSiteName location: location properties: { serverFarmId: appServicePlan.id siteConfig: { linuxFxVersion: linuxFxVersion } httpsOnly: false } }
  10. Secret Scanning アップロードされたコードからアクセスキーの検出 Gitコミット時もチェック AWS S3, Azure Blob, OpenAI API

    Key等対象 値をちょっと変えても検出される サポートされているシークレット値 サンプルや誤検出である場合、コミットメッセージに skip-secret-scanning:trueを追加
  11. CodeQL パッケージ依存関係スキャン NuGet, npm 等 静的コード解析 結構いいスペック必要(hosted Agentではつらいかも) ※100KL以上で16GB RAM/4

    or 8 core推奨 ローカルで動かすCLI版もある ※でもGitHub相手に動かすほうが多分楽 VS Codeの拡張機能もあります(割と重くなる…)。 GitHub Advanced Security for Azure DevOps のコード スキャン アラート - Azure Repos | Microsoft Learn CodeQL によるコード スキャンについて - GitHub Docs CodeQL を実行するための推奨ハードウェア リソース - GitHub Docs GitHub CodeQL を使用したコード スキャン - Training | Microsoft Learn
  12. FAQ GitHubのレポジトリのスキャンできない?  できません。Azure Reposのみ  GitHubにあるAdvanced Security使ってください(課金は別) 結果が見えないんだけど? 

    共同作成者以上の権限を設定してください  ちなみにGitHubでもRepo Adminという強い権限が必要です Dependabotないの?  今のどころありません 機能差はないの?  ほぼないですが、CodeQL CLIは今含まれていないそうです(フィードバック済み)  VS Code拡張機能はGitHub前提