Biztonság és bevált gyakorlatok

Viszonteladói API

Az API-t azzal a feltételezéssel terveztük, hogy minden hívásnak közvetlen pénzügyi következménye van és érzékeny szerverhozzáférési adatokhoz férhet hozzá. A biztonsági követelmények ezért jelentősen meghaladják a REST alapelvárásait.

Bevezetett védelmi mechanizmusok

  • HMAC-SHA256: Minden kérés HMAC-SHA256 aláírást kap a metódus, útvonal, időbélyeg, nonce és törzs hash felett. Állandó idejű ellenőrzés (hash_equals).
  • AES-256-GCM: A titkok kizárólag AES-256-GCM rejtjelszövegként tárolódnak (libsodium). A mesterkulcs az adatbázison kívül található: /etc/kh-reseller-api/master.key.v{N}.
  • Replay protection: Időbélyeg-ablak +-300 másodperc, nonce-gyorsítótár 600 másodperc. Egy sikeresen aláírt kérést nem lehet visszajátszani.
  • Scope-based authorization: Kulcsonként kifejezett jogosultsági lista. Az íráshoz és érzékeny adatokhoz tartozó jogosultságokat kifejezetten engedélyezni kell.
  • IP whitelist (optional): Opcionális IP fehérlista kulcsonként (CIDR jelölés, IPv4 és IPv6).
  • Rate limit: Többrétegű: kulcsonként (perc plusz nap) és IP-címenként (perc). Token-bucket burst tűréssel.
  • Idempotency: A megrendelések és a destruktív szolgáltatási műveletek Idempotency-Key fejlécet igényelnek. 24 órás visszajátszás-védelem a hálózati újrapróbálkozások ellen.
  • Tenant isolation: Minden adatbázis-lekérdezés szigorúan az Ön fiókazonosítójára szűr. Bérlők közötti hozzáférés konstrukciójánál fogva lehetetlen.
  • Tamper-evident audit log: Minden kérés bekerül az audit-naplóba láncolt hash értékkel (chain_hash[n] = sha256(chain_hash[n-1] || row_n)). Az utólagos manipulációt a hash-törés azonnal felfedi.
  • Credentials.read alerting: Minden credentials.read hívás dedikált audit-bejegyzést hoz létre, valamint opcionális megerősítő e-mailt küld a fióktulajdonosnak.
  • SSRF-guarded webhooks: A webhook URL-eket tárolás előtt ellenőrizzük: kizárólag HTTPS, a DNS-feloldásnak kizárólag nyilvános IP-ket kell visszaadnia (sem RFC1918, sem link-local).

Bevált gyakorlatok az Ön oldalán

  • A titkot titokkezelőben tárolja (HashiCorp Vault, AWS Secrets Manager, Doppler, 1Password), soha ne a kódban, soha ne git-tárolóban.
  • A titkot rendszeresen forgassa el (legalább évente vagy személyzeti változás után). Egykattintásos rotáció a portálon, a régi titok azonnal érvénytelenné válik.
  • Használati esetenként egy dedikált kulcs minimális jogosultsággal (lehetőleg csak olvasás). Semmilyen "isteni" kulcsot.
  • Ha integrációja fix IP-címekről fut (felhő, bástya): állítson be IP fehérlistát.
  • Az Idempotency-Key értéket szerveroldalon generálja és tárolja, ne hozzon létre újat minden újrapróbálkozásra. Ajánlás: UUIDv4 logikai megrendelésenként.
  • Állítson be webhookot saját URL-jére; legalább az order.created és credentials.read eseményeket figyelje eseményfolyamként.

Biztonsági közzététel

A biztonsági problémákat bizalmasan jelentse a security@kernelhost.com címre. PGP kulcs kérésre. Válasz 24 órán belül garantáltan. Bug-bounty program előkészítés alatt.