
kube-scan: ferramenta de avaliação de risco de clusters k8s da Octarine
Experimente hoje a nossa ferramenta gratuita de avaliação de riscos do Kubernetes.
Execute-o em qualquer cluster a qualquer momento. Nenhum dado sai do seu cluster. Não coletamos nenhuma informação.
Para mais informações sobre a Octarine, consulte https://www.octarinesec.com.
O Kube-Scan atribui uma pontuação de risco, de 0 (sem risco) a 10 (risco alto) para cada carga de trabalho. O risco é baseado na configuração de tempo de execução de cada carga de trabalho (atualmente mais de 20 configurações). As regras exatas e a fórmula de pontuação fazem parte do framework open-source KCCSS, o Kubernetes Common Configuration Scoring System.
O KCCSS é semelhante ao Common Vulnerability Scoring System (CVSS), o padrão da indústria para classificar vulnerabilidades, mas em vez disso foca nas próprias configurações e definições de segurança. Vulnerabilidades são sempre prejudiciais, mas as definições de configuração podem ser inseguras, neutras ou críticas para proteção ou remediação. O KCCSS pontua tanto riscos quanto correções como regras separadas, e permite que os usuários calculem um risco para cada configuração de tempo de execução de uma carga de trabalho e depois calculem o risco total da carga de trabalho.
Por favor, observe que o kube-scan atualmente examina o cluster ao iniciar e irá reexaminá-lo a cada 24 horas. Portanto, se você quiser obter uma pontuação de risco atualizada (por exemplo, após instalar um novo aplicativo), deve reiniciar o pod kube-scan.
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
kubectl port-forward --namespace kube-scan svc/kube-scan-ui 8080:80
Em seguida, aponte o seu navegador para http://localhost:8080.
kubectl apply -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml
Em seguida, obtenha o endereço do balanceador de carga através de
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..ip}
ou
kubectl -n kube-scan get service kube-scan-ui -o jsonpath={..hostname}
dependendo do tipo de balanceador de carga.
Em seguida, aponte seu navegador para esse endereço.
Se você aplicou o kube-scan ao seu cluster com o serviço de balanceador de carga:
"HOST" refere-se ao IP externo do serviço.
Se você usou port-forward:
"HOST" refere-se a "localhost:8080"
Obtendo todos os riscos no seu cluster:
GET http://HOST/api/risks
Solicitando ao serviço kube-scan que recalcule os riscos (caso um recurso tenha sido alterado):
POST http://HOST/api/refresh
Esta pode ser uma operação longa - dependendo do tamanho do cluster, então você pode obter o status da operação de atualização:
GET http://HOST/api/refreshing_status
Construa a imagem do servidor (a partir da pasta raiz)
cd server
docker build -t SERVER_TAG_NAME .
docker push SERVER_TAG_NAME
Construa a imagem do cliente (a partir da pasta raiz)
cd client
docker build -t CLIENT_TAG_NAME .
docker push CLIENT_TAG_NAME
Defina as imagens dos contêineres kube-scan no yaml desejado (a partir da pasta raiz) contêiner kube-scan com SERVER_TAG_NAME contêiner kube-scan-ui com CLIENT_TAG_NAME
Aplique o yaml desejado e siga as instruções de "início rápido" ou "usando balanceador de carga"
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan.yaml
No caso de usar um balanceador de carga:
kubectl delete -f https://raw.githubusercontent.com/octarinesec/kube-scan/master/kube-scan-lb.yaml

