Рубрики
Uncategorized

Vilicus — надзиратель для сканирования безопасности контейнеров

Vilicus-это инструмент с открытым исходным кодом, который организует сканирование безопасности контейнеров (Docker/OCI) и C … Tagged Security, Docker, DevOps, Tooling.

Vilicus-это инструмент с открытым исходным кодом, который организует сканирование безопасности контейнеров (Docker/OCI) и централизует все результаты в базе данных для дальнейшего анализа и показателей.

Зачем сканировать уязвимости?

Недавний Анализ Из примерно 4 миллионов изображений Docker Hub фирмы Cyber Security Prevasio обнаружили, что 51% изображений имели уязвимости для использования. Большое количество из них были шахтерами криптовалюты, как открытыми, так и скрытыми, и 6432 изображений имели вредоносное ПО. https://www.infoq.com/news/2020/12/dockerhub-image-vulnerabilities/

Изображение от https://prevasio.com/static/web/viewer.html?file=/static/Red_Kangaroo.pdf

Сканирование безопасности изображений Docker — это процесс поиска уязвимостей безопасности в файлах изображений Docker. Как правило, сканирование изображений работает, анализируя пакеты или другие зависимости, которые определены в файле изображения контейнера, а затем проверяя, есть ли какие -либо известные уязвимости в этих пакетах или зависимостях. https://resources.whitesourcesoftware.com/blog-whitesource/docker-image-security-scanning

Как это работает?

Есть много инструментов для сканирования контейнеров для уязвимостей, таких как Якорь , CLAIR и Триви Анкет Но иногда результаты одного и того же изображения могут быть разными. И этот проект предназначен для того, чтобы помочь разработчикам улучшить качество своих контейнерных изображений, находя уязвимости и, таким образом, обращаясь к ним с агностическим зрелищем от поставщиков.

Некоторые статьи сравнивают инструменты сканирования:

Архитектура

Кэшированная база данных

Vilicus ежедневно обновляет базы данных поставщиков с последними изменениями в DBS Vulns.

Используя стратегию для хранения данных базы данных в слоях изображений Docker, вся платформа готова к использованию за считанные минуты, а не часы. Запуск синхронизации с Vulns с нуля может занять не менее 6 часов.

Проверьте стратегию, используемую в Якорь , CLAIR и Триви

Местный реестр

Vilicus предоставляет локальный реестр, поэтому вы можете построить локальный образ и сканировать его, не подтолкнув его к удаленному хранилищу.

docker build -t localhost:5000/local-image:my-tag .

curl -o docker-compose.yml https://raw.githubusercontent.com/edersonbrilhante/vilicus/main/deployments/docker-compose.yml

docker-compose up -d

IMAGE=localregistry.vilicus.svc:5000/local-image:my-tag

docker run -v ${PWD}/artifacts:/artifacts \
  --network container:vilicus \
  vilicus/vilicus:latest \
  sh -c "dockerize -wait http://vilicus:8080/healthz -wait-retry-interval 60s -timeout 2000s vilicus-client -p /opt/vilicus/configs/conf.yaml -i ${IMAGE}  -t /opt/vilicus/contrib/sarif.tpl -o /artifacts/results.sarif"

Действие GitHub

Действия GitHub позволяют легко автоматизировать все ваши рабочие процессы программного обеспечения, теперь с CI/CD мирового класса. Создайте, тестируйте и разверните свой код прямо из GitHub. Сделайте обзоры кода, управление филиалами и выпуска, занимаясь работой так, как вы хотите. https://github.com/features/actions

Vilicus предоставляет GitHub Action Чтобы помочь вам сканировать изображения контейнеров в вашем CI/CD.

Сканирование контейнера

Сканирование можно сделать с помощью удаленного изображения и локального изображения. Использование удаленного репозитория, такого как Docker.io Изображение будет docker.io/your-organization/image:tag :

  - name: Scan image
    uses: edersonbrilhante/vilicus-github-action@main
    with:
      image: "docker.io/myorganization/myimage:tag"

И использовать локальное изображение, необходимо пометить как Localhost: 5000/Image: Tag :

  - name: Scan image
    uses: edersonbrilhante/vilicus-github-action@main
    with:
      image: "localhost:5000/myimage:tag"

Полный пример

Полный пример с шагами для очистки пространства, строительства локального изображения, сканирования Vilicus и Загрузка результатов в безопасность GitHub

name: Container Image CI
on: [push]
jobs:
  build
    runs-on: ubuntu-latest
    steps:
      - name: Maximize Build Space
        uses: easimon/maximize-build-space@master
        with:
          root-reserve-mb: 512
          swap-size-mb: 1024
          remove-dotnet: 'true'
          remove-android: 'true'
          remove-haskell: 'true'
      - name: Checkout branch
        uses: actions/checkout@v2
      - name: Build the Container image
        run: docker build -t localhost:5000/local-image:${GITHUB_SHA} .
      - name: Vilicus Scan
        uses: edersonbrilhante/vilicus-github-action@main
        with:
          image: localhost:5000/local-image:${{ github.sha }}
      - name: Upload results to github security
        uses: github/codeql-action/upload-sarif@v1
        with:
          sarif_file: artifacts/results.sarif

Приводит к безопасности GitHub

Проверьте пример Использование действия Vilicus GitHub

Пример трубопровода

Список со всеми найденными Вульнами

Детали VULN

Исходный код

Vilicus Github Action

Виликус

Вот и все!

Если у вас есть какие -либо вопросы, оставьте здесь комментарий или пинг меня на 🔗 LinkedIn Анкет

Оригинал: «https://dev.to/edersonbrilhante/vilicus-a-overseer-for-security-scanning-of-container-images-eji»