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

5分でわかる Capabilities と Privilege + KubeCon Recap

5分でわかる Capabilities と Privilege + KubeCon Recap

Docker Meetup Tokyo #23 で発表した Capabilities と KubeCon Recap の内容になります。
Based on 「Keynote: Running with Scissors – Liz Rice」

Transcript

  1. Masaya Aoyama CyberAgent adtech studio MasayaAoyama @amsy810 Based on 「Keynote:

    Running with Scissors – Liz Rice」 Capabilities and Privileges + KubeCon Recap @Docker Meetup Tokyo #23
  2. 連載「今こそ始めよう!Kubernetes 入門」 @ThinkIT Japan Container Days v18.04 Keynote 登壇 CKA (CKA-1700-0138-0100)、CKAD

    (CKAD-1800-0002-0100) OpenStack Active Technical Contributor Masaya Aoyama (@amsy810) Infrastructure Engineer
  3. 日本からは 45 名〜が参加 (2017 EU 3 名〜、2017 NA: 33 名〜)

    日本交流会@コペンハーゲン現地
  4. Capabilities and Privileges Index > Running images as root user

    What is Capabili4es Add Capabili4es At the Kubernetes environment and PodSecurityPolicy We needs more isola4on?
  5. Running images as root user page 05 # nginx:latest に

    capsh CLI を入れただけのイメージ $ docker run --name kubecon -d \ masayaaoyama/nginx:capsh # root 権限で動作しているケースが多い $ docker exec -it kubecon whoami root # ホスト上からは自ホストの root プロセスとして見える $ ps -C nginx -o user,uid,cmd USER UID CMD root 0 nginx: master process nginx -g daemon off;
  6. What is Capabili>es page 06 # root ではあるが一部の権限は与えられていない $ docker

    exec -it kubecon hostname changed-name hostname: you must be root to change the host name # デフォルトで与えられる Capabili>es $ docker exec -it kubecon capsh --print | grep Current Current: = cap_chown,cap_dac_override,cap_fowner,cap_fse4d,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_ bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_seScap+eip 参考: Man page of CAPABILITIES hXps://linuxjm.osdn.jp/html/LDP_man-pages/man7/capabili4es.7.html
  7. Add Capabili>es page 07 # 一部の Capabili>esを有効化する $ docker run

    --name kubecon -d --cap-add SYS_ADMIN masayaaoyama/nginx:capsh Current: = cap_chown,cap_dac_override,cap_fowner,cap_fse4d,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_servic e,cap_net_raw,cap_sys_chroot,cap_sys_admin,cap_mknod,cap_audit_write,cap_seScap+eip # Host と同等の権限を渡す $ docker run --name kubecon -d --privileged=true masayaaoyama/nginx:capsh Current: = cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fse4d,cap_kill,cap_setgid,cap_setuid,cap_setpca p,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_ owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,ca p_sys_nice,cap_sys_resource,cap_sys_4me,cap_sys_Xy_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_contr ol,cap_seScap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend+eip
  8. At the kubernetes environment 一般ユーザ Root Container kubectl Host にデータ書き込み

    (ex. hostPath) 消せない… PodSecurityPolicy の検討を… •  Priviledge の利用可否 •  許可する Capabili4es のリスト •  利用を許可する hostPath
  9. 9 GREAT K8s We needs more secure Isolation? For beXer

    security with container run4me Kata Containers gVisor
  10. Cloud Native に近しい技術や CNCF がホストするプロジェクトについて共有し合う会です! 昨今はコンテナ関係のエコシステムが大量に増えてきましたが、 それらの技術検証結果などを発表しあう場として利用していきたいと思っており、仲間を募集しております。 1. NATS on

    Kubernetesの 良いところ (仮) 2018 年 3 月に CNCF の incubator に仲間入 りを果たした、「Cloud Native なアプリケーション 向けのハイパフォーマンス Messaging システ ム」を提供する NATS について話します。 2. Fluent Bit vs Fluentd 1.x 「Fluentd 1.x vs Fluentd」および「Fluent Bit vs Fluentd 1.x」 の性能や利用可能なプラグインの 比較について話します。 3. サービスメッシュと仲間たち 
 〜Istio vs Conduit vs etc〜 様々な領域で話題になっている ServiceMesh。 Istio や Conduit など、様々な選択肢があります が、それぞれの特徴やできることについて話しま す。
  11. Do you have any questions? @amsy810 Thank you for your

    attention.