Verificação de imagem da fase de build
Verificação de vulnerabilidades na fase de build do CI/CD
Verifique se há vulnerabilidades durante a fase de build do pipeline usando plug-ins como Jenkins, Azure Devops, Github Action, gitlab, Bamboo e CircleCI, ou use a API REST. SUSE® Security suporta dois tipos de verificação na fase de build: registro e local. Para a verificação de registro, o SUSE® Security controlador e o scanner devem ser capazes de se conectar ao registro para puxar a imagem.
Para acionar uma verificação na fase de build, o plug-in (por exemplo, Jenkins) deve ser capaz de se conectar ao Controlador ou Allinone. Nota: A porta padrão da API REST para os plug-ins chamarem o scanner é 10443. Essa porta deve ser exposta através do Allinone ou Controlador por meio de um serviço no Kubernetes ou um mapeamento de porta (por exemplo, - 10443:10443) no arquivo de execução ou compose do Docker.
Certifique-se de que há um SUSE® Security contêiner de scanner implantado e configurado corretamente para se conectar ao Allinone ou Controlador. Na versão 4.0 e posteriores, o contêiner neuvector/scanner deve ser implantado separadamente do allinone ou controlador, e está incluído nos arquivos yaml de implantação de exemplo.
Você pode baixar o plug-in do Gerenciador de Plug-ins do Jenkins. Outros plug-ins estão acessíveis através dos catálogos da ferramenta de build, ou na página SUSE® Security github. O scanner do Bamboo está disponível em https://github.com/neuvector/bamboo-plugin/releases/tag/1.0.1. O ORB do CircleCI está disponível em https://github.com/neuvector/circleci-orb e através do catálogo ORB do CircleCI.
Verificação Local na Fase de Build
Para verificação local, o SUSE® Security scanner tentará escanear a imagem em um host local (ou um host acessível pelo comando docker do host remoto).
Para verificação local baseada em Kubernetes ou OpenShift, remova a seção comentada do arquivo yaml de implantação do scanner de exemplo, mostrada nas seções Implantando SUSE® Security. A seção comentada se parece com isto:
env:
# Commented out sections are required only for local build-phase scanning
# - name: SCANNER_DOCKER_URL
# value: tcp://192.168.1.10:2376
- name: CLUSTER_JOIN_ADDR
value: neuvector-svc-controller.neuvector
- name: CLUSTER_ADVERTISED_ADDR
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: CLUSTER_BIND_ADDR
valueFrom:
fieldRef:
fieldPath: status.podIP
# volumeMounts:
# - mountPath: /var/run/docker.sock
# name: docker-sock
# readOnly: true
# volumes:
# - name: docker-sock
# hostPath:
# path: /var/run/docker.sock
restartPolicy: Always
Para verificação local nativa do Docker, siga as instruções para implantações do scanner Docker na seção Implantações de Produção do Docker para o scanner.
Escaneamento de Fase de Build Local - Somente Scanner (Sem Controlador Necessário)
SUSE® Security suporta implantações de scanner autônomas para escaneamento de imagens local (que não requer um Controlador). Certos plug-ins, como o CircleCI ORB, têm uma opção para implantar dinamicamente um scanner quando um trabalho de build requer escaneamento de imagens, e depois remover o scanner quando os resultados são enviados de volta através do ORB. Essas implantações dinâmicas de scanner são automaticamente invocadas através do plug-in, se suportadas.
Por favor, consulte a seção scanner para mais detalhes sobre scanners autônomos.