security

seccomp

seccompとは Seccompとは、Linuxカーネルが持つセキュリティ機構の一つで、Secure Computing Modeの略です。 簡単に言うと、Seccompはシステムコールの許可・不許可を設定できるようにし、危険なシステムコールを実行できなくするためのものです。 突然の「O…

手元のクラスタ(kind)でgvisorを試す

kindでgvisorを使用できるようにする。 nodeに入る。(自分のケースでは1node構成なので、control-planeになっている。) docker exec -it kind-control kind-control-plane bash gvisorをインストールする。 以下はInstallation - gVisorにあるインストール…

Kubernetesにおけるetcd内のデータの暗号化

問題点:etcdには平文でデータが格納されている。 k8sの各種マニフェストははetcdに平文で保存されている。 secretであっても平文で保存されている。 twoという文字列を隠蔽したくてone-plus-oneというsecretを作成する。 $ k create secret generic one-plu…

NodeRestriction

NodeRestrictionはKuberntesによって提供されるAdmissionPluginでkube-api-serverで--enable-admission-plugins=NodeRestionを指定することで有効化できる。 kubernetes.io 効果1 nodeが他のnodeのラベルを変更することを禁じる。 効果2 nodeにおけるnode-re…

Kubernetes Authorization

authorization mode kubernetesではauthorizationに関していくつかのモードを提供してくれている。 authorization modeの指定はkube-api-serverで--authorization-modeを使って行う。 よくある、設定は--authorization-mode=Node, RBACになっている。 Kubern…

AppArmor

AppArmor(Application Armor)とは、Linux Security Modulesの一種であり、各プログラムにセキュリティプロファイルを結びつけ、プログラムのできることに制限をかけるプログラムである。プロファイルは、ネットワークアクセス、Raw socket アクセス、ファ…

ClusterRoleとRoleBindingの組み合わせ

Namespaced Resource Role Rolebinding Cluster Resource ClusterRole ClusterRolebinding Role系のリソースとBinding系のリソースの組み合わせ 以下は直感的に理解できる。 RoleとRoleBindingの組み合わせ(青線) ClusterRoleとClusterRoleBindingの組み合…