Skip to main content

Zabezpečení podpisu balíčků

Integrita balíčků

Balíčky Deb:

  • Všechny balíčky deb musí obsahovat soubor kontrolních součtů MD5 (automaticky generovaný nástrojem dpkg-deb):

    DEBIAN/md5sums

    Poznámka: Vývojáři nemusí DEBIAN/md5sums vytvářet ručně; dpkg-deb jej během sestavení vygeneruje automaticky.

  • Vývojáři by měli poskytnout kontrolní součty SHA-256 vedle balíčků deb:

    sha256sum <appid>_<version>_amd64.deb > <appid>_<version>_amd64.deb.sha256

Aplikace Docker:

  • Obrazy Docker by měly používat reference s podpisem/připnutým otiskem:
    image: myapp@sha256:<digest> # Preferred over :latest
  • Používejte Docker Content Trust (DOCKER_CONTENT_TRUST=1) pro ověřená stažení

Důvěra vydavatele

TOS Developer Platform buduje důvěru vydavatele prostřednictvím:

  1. Ověření účtu vývojáře: Registrace vyžaduje ověření e-mailem
  2. Kontrola aplikace: Všechna podání procházejí ruční bezpečnostní kontrolou
  3. Identita vydavatele: Pole publisher v config.ini se zobrazuje uživatelům
  4. Protokol auditu verzí: Všechna podání verzí jsou zaznamenána a dohledatelná

Budoucí plán: TerraMaster plánuje zavést podpis balíčků Deb založený na klíčích GPG a integrovat Docker Content Trust pro obrazy kontejnerů.

Do zavedení úplného schématu podpisu GPG jsou kontrolní součty SHA-256 povinné. Po budoucí implementaci podpisu GPG může být tento požadavek upraven na volitelný nebo může sloužit jako paralelní doplňkové ověření.

  1. Všechna podání musí obsahovat soubory kontrolních součtů SHA-256 pro každý binární artefakt
  2. Platforma ověřuje kontrolní součty proti nahraným balíčkům
  3. Neshody kontrolních součtů povedou k automatickému zamítnutí
  4. Správci musí na svých účtech úložišť (GitHub/Gitee) povolit dvoufaktorové ověřování (2FA)

Požadavky na bezpečnostní audit

Všechny aplikace musí během kontroly projít bezpečnostním auditem:

Položka kontrolyAplikace DebAplikace Docker
Žádná pevně zakódovaná pověření
Oprávnění root je přísně zakázáno
Žádný privilegovaný režim (přísně zakázán)N/A
Žádné soubory zapisovatelné všemiN/A
Pouze deklarované závislosti
Žádná nadměrná spotřeba prostředků
Skenování zranitelnostíVolitelnéDoporučeno: docker scan / trivy
Žádné zranitelnosti injektáže skriptů
Žádné zranitelnosti path traversal
Žádné citlivé informace v protokolech
Kontrolní součty odpovídají nahraným artefaktům

Zabezpečení dodavatelského řetězce

Aplikace Deb:

  • Deklarujte přesné verze závislostí v DEBIAN/control
  • Kdykoli je to možné, používejte reprodukovatelné procesy sestavení
  • Nepřibalujte zbytečné soubory nebo knihovny

Aplikace Docker:

  • Připněte tagy obrazů na konkrétní verze nebo otisky (vyhněte se :latest)
  • Ke zmenšení útoku plochy používejte vícefázová sestavení
  • Pravidelně aktualizujte základní obrazy tak, aby zahrnovaly bezpečnostní záplaty
  • Do produkčních obrazů nezahrnujte vývojové nástroje