[Kubernetes]静解析リソース
ユーザワークロードの静的解析
kubectlを使用してPodの生成要求を送信すると、認証、認可、および追加コントローラによってPodが生成されます.
このような多くのプロセスを経験する前に、クラスタに配備する前にセキュリティポリシーをチェックして適用できたらどうなりますか?
kubesec
ユーザーのワークロードを静的に分析し、リソースファイルを表示し、ポリシーを適用するには、kubedcというツールを使用します.
https://kubesec.io
kubedcは、リソースファイルを分析し、セキュリティ上の脅威が発生する可能性のあるホットスポットと、どのような理由で脅威が発生する可能性があるかを示す結果ファイルを出力します.結果ファイルには、分析結果に基づいたスコアも含まれます.
[
{
"object": "Pod/node.default",
"valid": true,
"fileName": "node.yaml",
"message": "Failed with a score of -27 points",
"score": -27,
"scoring": {
"critical": [
{
"id": "Privileged",
"selector": "containers[] .securityContext .privileged == true",
"reason": "Privileged containers can allow almost completely unrestricted host access",
"points": -30
}
],
"passed": [
{
"id": "ServiceAccountName",
"selector": ".spec .serviceAccountName",
"reason": "Service accounts restrict Kubernetes API access and should be configured with least privilege",
"points": 3
}
],
...
以上の結果例は、特権関連項目に違反していることを確認したため、-27点は検査に合格しなかった.クbedcのインストール
直接インストールする方法は次のとおりです.それ以外にもドックコンテナを使って運転する方法もあります.
$ wget https://github.com/controlplaneio/kubesec/releases/download/v2.11.0/kubesec_linux_amd64.tar.gz
$ tar -xvf kubesec_linux_amd64.tar.gz
$ mv kubesec /usr/bin/
正常にインストールされていることを確認します.$ kubesec
Validate Kubernetes resource security policies
Usage:
kubesec [command]
Available Commands:
help Help about any command
http Starts kubesec HTTP server on the specified port
scan Scans Kubernetes resource YAML or JSON
version Prints kubesec version
Flags:
-h, --help help for kubesec
kubedcの使用
kubedc scanコマンドを使用して、リソース定義ファイルを解析できます.
$ kubesec scan pod.yaml
このほか、kubedcを直接インストールするのではなく、kubedcのパブリックホストサービスにリクエストを送信する方法もあります.$ curl -sSX POST --data-binary @"pod.yaml" http://v2.kubesec.io/scan
kubedcをローカルサーバとして実行してリクエストを送信する方法も使用できます.$ kubesec http 8080&
Reference
この問題について([Kubernetes]静解析リソース), 我々は、より多くの情報をここで見つけました https://velog.io/@jay-side-project/Kubernetes-리소스-정적-분석하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol