Cosign — open-source инструмент (Sigstore project) для cryptographic signing container images. Supply chain security essential в 2026. Keyless mode — использует OIDC (GitHub Actions / Google / Microsoft) вместо long-lived keys. Verify: cosign verify --certificate-identity=... image. SLSA (Supply-chain Levels for Software Artifacts) level 3 комплаенс достижим с cosign + GitHub Actions.
Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.
brew install cosign или скачать binarycosign sign --yes ghcr.io/me/app:v1cosign verify image --certificate-identity=user@example.com| Сценарий | Конфиг |
|---|---|
| GitHub Actions keyless sign | # .github/workflows/release.yml
permissions:
id-token: write # OIDC для cosign
packages: write
- name: Sign image
run: |
cosign sign --yes \
ghcr.io/${{ github.repository }}:${{ github.sha }} |
| Verify signed image | cosign verify \
--certificate-identity-regexp='.+@example.com' \
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
ghcr.io/me/app:v1 |
| Kubernetes policy-controller | apiVersion: policy.sigstore.dev/v1beta1
kind: ClusterImagePolicy
metadata:
name: enforce-signed
spec:
images: [ { glob: 'ghcr.io/me/*' } ]
authorities:
- keyless:
identities:
- issuer: https://token.actions.githubusercontent.com
subjectRegExp: '.+' |
| Key-based (legacy) | # Generate key pair
$ cosign generate-key-pair
# Sign with private key
$ cosign sign --key cosign.key ghcr.io/me/app:v1
# Verify with public
$ cosign verify --key cosign.pub ghcr.io/me/app:v1 |
| SBOM attach + sign | # Generate SBOM
$ syft ghcr.io/me/app:v1 -o spdx-json > sbom.json
# Attach + sign atomically
$ cosign attest --predicate sbom.json --type spdx \
ghcr.io/me/app:v1 |
Инструмент проверяет HTTP-заголовки безопасности, конфигурацию SSL/TLS, утечки серверной информации и защиту от распространённых атак (XSS, clickjacking, MIMEsniffing). Оценка от A до F показывает общий уровень защиты.
Проверка Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy и других.
Версия TLS, срок сертификата, цепочка доверия, поддержка HSTS.
Поиск раскрытых серверных версий, debug-режимов, открытых конфигов и директорий.
Детальный отчёт с объяснением каждой проблемы и конкретными шагами для исправления.
аудит HTTP-заголовков
проверка конфигурации
CSP и HSTS настройка
соответствие стандартам
Strict-Transport-Security.Server: Apache/2.4.52 помогает атакующим подобрать эксплойт. Скройте версию.DENY или SAMEORIGIN.nosniff браузер может интерпретировать файлы неправильно (MIME sniffing).Content-Security-Policy-Report-Only, мониторьте нарушения, затем включите.Server, X-Powered-By, X-AspNet-Version из ответов.История security-проверок и мониторинг HTTP-заголовков безопасности.
Зарегистрироваться (FREE)Supply chain attacks (SolarWinds, xz) показали: untrusted images = RCE. Signing доказывает "это image was built by X CI". SLSA level 3 требует.
Keyless: no key management, OIDC-based, suitable для most. Key-based: offline signing, для air-gapped, requires key storage (HSM / KMS).
Software Bill of Materials. syft / Trivy генерируют list packages в image. Combined с cosign attest — creates attested SBOM.
sigstore-policy-controller (preferred 2025+) или Kyverno с cosign verify. Block unsigned images or wrong signer.