Skip to content

A demo of basic security in Kubernetes and Istio.

Notifications You must be signed in to change notification settings

sh-miyoshi/sectest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Security Test Samples

English version is here

概要

このリポジトリではKubernetesとIstioを使用する場合の基本的なセキュリティ機能を解説するためのサンプルアプリを提供しています。
このリポジトリには大きく分けて以下の二つのdemoが含まれています。

  • RBAC Demo

    RBAC DemoはIstio RBACをどのように使えばいいのかというサンプルデモです。
    詳細はdemos/rbacにあります。
    *) このデモはCloud Native Days Tokyo 2019で使用しました。

  • Attack Demo

    Attack DemoはKubernetesを使用する際にどういった攻撃が考えられてどうすればその攻撃から守れるのかというDemoです。 詳細はdemos/attackにあります。

    1. 盗聴
      攻撃者がクラスタ内の通信の盗聴しようとします
    2. なりすまし(パスワードが漏洩した場合)
      attacker try to get secret information by using password.
    3. より悪い状態でのなりすまし(パスワードと証明書が漏洩した場合)
      attacker try to get secret information by using password and Istio certificate.

    image

    *) このデモはOpen Source Summit Japan 2018で使用しました。 発表スライドはSpeaker Deckにあります。

事前準備

このアプリではIstioとIngress Controllerを使用します。
Ingress Controllerを必要とする理由はIstioを使用しないでアプリを立ち上げる場合にIngressリソースを使って外からアクセスできるようにしているためです。

  • Istioのインストール

    • 公式ページを参考にインストールしてください。
    • もしくは、sectest内にあるインストールスクリプトを使用しても構いません
  • Ingress Controllerのインストール

    • 各プロバイダー(GKE, AKS, EKS, ...)のマネージドサービスを利用すればいいです
    • もしくは、Local上に以下の手順でNginx Ingress Controllerを作成します
      • kubectl apply -f system/ingress-controller-nginx.yaml

サンプルアプリのデプロイ手順(Istioなし)

  1. デプロイ手順

    # secretファイルの作成
    cd kubernetes
    ./make_secret.sh
    
    # アプリのデプロイ
    kubectl apply -f .
    * access to https://<ingress-controller-address>
    
    # アプリの動作確認
    # ブラウザ上でユーザ名とパスワードを入力すると、秘密のメッセージを取得できます
    # User: "root"
    # Password: "ossj_sectest"
  2. 削除手順

    cd kubernetes
    kubectl delete -f .

サンプルアプリのデプロイ手順(Istioあり)

  1. デプロイ手順

    # secretファイルの作成
    cd kubernetes
    ./make_secret.sh
    
    # アプリのデプロイ
    ./istio_deploy.sh
  2. 削除手順

    cd kubernetes
    ./delete_istio_pod.sh

About

A demo of basic security in Kubernetes and Istio.

Resources

Stars

Watchers

Forks

Packages

No packages published