NexusFabricCereți o prezentare

Securitate

Un evaluator tehnic are trei întrebări: cine poate intra, cât de departe ajunge un apelant nelegitimat, și ce scapă într-un jurnal. Pagina asta răspunde la toate trei, în ordinea aia.

Poarta e închisă implicit

Procesul care răspunde cererilor cere o credențială. Pornirea fără poartă există ca opțiune explicită și se anunță la fiecare pornire — nu e un implicit moștenit, și nu se poate ajunge acolo din greșeală.

Cât de departe ajunge un apelant nelegitimat

Poarta rulează înaintea corpului. Un apelant fără credențială valabilă provoacă două interogări indexate și atât: niciun octet de corp citit, nicio parsare de JSON sau XML, niciun artefact încărcat, niciun permis de execuție cerut.

De aici vine și un refuz care pare ciudat până e explicat: un apelant fără credențială care anunță un corp peste plafon primește un refuz de autentificare, nu unul de dimensiune. Plafonul e stare internă a instalației și nu se divulgă înainte de autentificare.

Tenantul e o entitate înregistrată

  • Un tenant se creează deliberat, cu o comandă. Publicarea unui flux sub un nume de tenant inexistent nu îl creează implicit — o greșeală de tastare nu devine tenant real, tăcut.
  • Un tenant necunoscut și unul dezactivat răspund identic din afară, cu același corp ca un flux inexistent. Catalogul de ce există într-o instalație nu se divulgă.
  • O referință de bibliotecă se rezolvă în tenantul apelantului, iar artefactul compilat poartă copia acelui tenant.

Ce nu ajunge într-un jurnal sau într-o eroare

  • Un mesaj de eroare de rulare poartă forma, nu conținutul: niciun sit de eroare din executor nu interpolează o valoare din mesajul primit.
  • Anteturile sensibile ale unui răspuns de backend sunt reținute chiar la captură, deci nu ajung niciodată la dispoziția fluxului — nu se filtrează mai târziu, dintr-un set care le conținea.
  • Anteturile primite de la backend se întorc apelantului numai pe listă declarată. Fără listă, nu trece niciunul: scurgerea se face prin declarație, nu prin omisiune.

Roluri în interfața de administrare

Interfața are roluri cu frontieră impusă: fiecare rută răspunde fiecărui rol exact cum spune tabelul de roluri. Frontiera e verificată rută cu rută, rol cu rol, nu presupusă din faptul că un meniu nu afișează o intrare.

Verdictul unei livrări tratate

O livrare care iese pe secvența de tratare a erorii nu se comite ca reușită. Consecința contează exact când doare: un duplicat corectat al aceleiași chei rulează, în loc să primească înapoi răspunsul de eroare memoizat.

Artefacte, mediu și material criptografic

  • Artefactele stau într-un depozit adresat prin conținut, iar amprenta se verifică la fiecare citire.
  • Un fișier de mediu local completează mediul, dar nu îl suprascrie.
  • Certificatele se țin într-un registru; înlocuirea păstrează istoria, iar un certificat care se apropie de expirare lasă un eveniment.

Ce nu face platforma

Nu se termină TLS în platformă — terminarea e în fața ei, la proxy-ul invers. Și nu există WS-Security: o credențială din corpul unui mesaj nu autentifică, fiindcă poarta decide înainte să existe un corp.