Save 37% off PRO during our Black Friday Sale! »

AKSのdashboardは無効化したほうがよいか?

A15b71ae6fbdecb3216bdcba552d9a77?s=47 SSSSSSSSSSSSHHHHHHHHHH
December 24, 2019
41

 AKSのdashboardは無効化したほうがよいか?

タイミングを失ってどこにも出せなかった資料です。
クリぼっちなので供養させてください

A15b71ae6fbdecb3216bdcba552d9a77?s=128

SSSSSSSSSSSSHHHHHHHHHH

December 24, 2019
Tweet

Transcript

  1. AKSのdashboardは 無効化した方がよいか?

  2. はじめに • AKSのdashboardを使用していない場合無効化すべきか、そも そも使用を推すべきか、課題をまとめました。 • セキュリティに関する問題提起型のプレゼンです。 • 結論はありません • 下記のうち、どちらを選択するかのトロッコ問題です。

    • AKSのdashboardを利用することによる利便性 • AKSのdashboardを利用可能な状態にすることによる セキュリティホールの危険性 • 少なくとも自分はAKSのdashboardを使用しなくてもいいかな と思っている立場の人間です
  3. きっかけ • MS Ignite 2019のAKS Management Best Practice ⇒Disable the

    Dashboard (Recommended)のスライド (残念ながら動画で説明はなし) https://myignite.techcommunity.microsoft.com/sessions/81598 • AKSのProjects Roadmapにおけるdashboard関連のissue • https://github.com/Azure/AKS/issues/1074 Feature Request: Create AKS Cluster with Dashboard Disabled • https://github.com/Azure/AKS/issues/1197 Add Azure Policy alias for checking kubedashboard enabled status • https://github.com/Azure/AKS/issues/1198 Feature Request: Create AKS Cluster with Dashboard Disabled
  4. 過去のトラウマ1 • Ver1.6までのバージョンではkubernetes-dashboardに認証機 能がなかった =>Teslaで運用されていたKubernetesが 仮想通貨のマイニングに悪用される • インターネット上に公開&cluster-admin権限の付与という無 防備状態だったため https://redlock.io/blog/cryptojacking-tesla

    https://blog.heptio.com/on-securing-the-kubernetes- dashboard-16b09b1b7aca
  5. 過去のトラウマ2 • 権限昇格の脆弱性がkubernetes-dashboardに発見される https://sysdig.com/blog/privilege-escalation-kubernetes-dashboard/ • 今はSKIPボタンはありません https://github.com/gardener/gardener/pull/555

  6. 現在のAKSに関する問題点 • Az aks browseを実行中、Dashboardは公開状態になる (ちょっと前まで。今は違うかもしれません) • Dashboardを見る人に適切なroleを割り振るのが難しい MS Documentに書いてあるaz

    aks browseを利用した場合、 認証画面が出てこない =>dashboardに振られたsaをみんなが利用することに… • Azure上のサービスを利用する場合、AzureADとの連携を考えたときに、 いまだにissueが枯れていない=利用できないと見た方がいい AKS with RBAC unable to view Dashboard with Azure AD https://github.com/MicrosoftDocs/azure-docs/issues/23789
  7. それでも使用したい場合は? https://github.com/Azure/aks-bestpractices-ignite19 より引用

  8. 最後に • ロール権限を割り振る必要がないくらい少人数のチームなら正直あまり関 係ない • ロール権限を割り振るくらい役割が細分化された大規模チームなら、なお さら素のkubernetes-dashboardを使用する必要ってあまりない (GitOpsなど適切に運用していれば必要性ってないと存じます) • 現状のAKSは普通に作成するとkubernetes-dashboardは常駐して

    いますが、サービスを開放していません ⇒したがって、それだけではセキュリティインシデントになることは考えづらい ⇒しかし、kube-apiserverに直結するエンドポイントではある ⇒使用しないのであれば、口はなるべく閉じることをお勧めしたい