Barvna shema: Temna
Trenutno dejavna stran: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » Identity » Stanje izvedbe in potek utrjevanja

Stanje izvedbe in potek utrjevanja

Vzdrževalni zapis. Beleži, katero stanje je izvedeno, kaj je sprožilo utrditev varnosti in katere navedbe so bile prej tu, pa ne veljajo več. Za opravilo te strani ne potrebujete – za to je stran Identity.

Stanje

Sprejeto. Opisuje stanje paketa in pot, ki je do njega vodila.

Kontekst in potek

Stanje: vpis (aplikacija za preverjanje in enkratna koda po e-pošti), oba skrbniška zaslona, obveznost za imenski prostor, opozorilni pas na vseh straneh, ponastavitev uporabnika, ki jo opravi skrbnik, obveznost ob prijavi ter postopki z enkratno kodo (ponastavitev gesla, samoregistracija, povabilo) so izvedeni in lokalno preverjeni. Obveznost ob prijavi (enforce_login) in metoda po e-pošti (allow_email_method) sta obe privzeto izklopljeni (načelo zasilnega stikala, glejte Tehnična referenca: konfiguracija).

Od 4. avgusta 2026 je naslov za unovčenje kode do=wkidentity_otp. Do tedaj je bil do=wvdsotp in je bil tako edino še živo mesto paketa s predpono iz časa pred preimenovanjem – oba kroga preimenovanja sta ga preskočila, ker je bil na zaščitnem seznamu orodja pomotoma naveden kot ime nenameščenega tujega paketa. Naslov je v povezavah, ki se pošljejo z vsako kodo; preimenovan je bil v trenutku, ko ni bil odprt noben postopek, zato ni obstajala nobena veljavna povezava, ki bi se lahko zlomila.

Od 3. avgusta 2026 se paket imenuje Identity in ne več TOTP. Razlog je v imenu samem: ne upravlja le drugega dejavnika, temveč prijavo, poti za obnovitev in njihovo dosegljivost. Ime, ki navaja postopek, bi poimenovalo nekaj, kar je v paketu le še ena stvar med več.

Do 4. avgusta 2026 je tu pisalo še, da je vtičnik onemogočen v conf/plugins.local.php in da to zadeva »praktično vse vtičnike wvds* hkrati«. Nič od tega ne velja več: datoteka vsebuje natanko dva izklopa (authad in authldap), predpone wvds po preimenovanju ni več, ta vtičnik pa je dejaven.

Od 7. avgusta 2026 paket ponuja tudi Identity Plugin Contract v1: javno fasado (helper_plugin_wkidentity_contract) in dodatno preverjanje z vrnitvijo (StepUp.php), prek katerih lahko drug vtičnik poizve po zavarovanosti seje ali jo zahteva, ne da bi sam gradil TOTP ali enkratne kode po e-pošti. Glejte Tehnična referenca: Identity Plugin Contract v1.

Utrditev varnosti 8. avgusta 2026: pogodba z dneva prej je uvedla lastno besedišče zagotovil, ne da bi preverila, ali ga obstoječe uveljavljanje za imenske prostore dejansko uporablja – in ga ni. enforceNamespacePolicy() je še vedno preverjal le isEnrolled() (trajno lastnost računa) namesto dejanske zavarovanosti seje; pri izklopljenem enforce_login (privzeto) je vpisan uporabnik obvezni imenski prostor dosegel samo z geslom, ne da bi v tej seji kadar koli dokazal dejavnik. Ta zamenjava je zdaj odpravljena (podrobnosti v Konceptih), skupaj z dvema že dokumentiranima, zdaj zaprtima ugotovitvama iz docs/threat-model.md: kodo TOTP je bilo mogoče znotraj njenega okna tolerance uporabiti večkrat (do 90 sekund), potrditvena koda, poslana po e-pošti, pa je bila shranjena kot gola, nesoljena zgoščena vrednost SHA-256. Poleg tega ima lahko račun zdaj hkrati TOTP in e-pošto, pravilnik pa poleg imenskega prostora upošteva tudi skupino in uporabnika, z dokumentiranim razreševanjem sporov.

Naknadni popravki skrbniškega zaslona

Dve spremembi zaslona za drugi dejavnik, ki kot odpravljeni napaki sodita v vzdrževalni zapis in ne v opis zaslona:

Barvna semantika gumbov (od 2026-07-11): ponastavitev (v vsaki vrstici) in »×« za odstranitev s seznama »TOTP zahtevan« sta rdeča (wt-btn–danger, uničujoči dejanji); »Shrani« (zavihek imenskih prostorov) je nevtralen/bel namesto prej modro poudarjenega – noben gumb na tej plošči ni več samodejno poudarjen kot glavni gumb. Nekdanji lokalni blok vzdevkov žetonov –wt-* v admin.css je odstranjen; vsako pravilo zdaj neposredno uporablja osrednjo pogodbo –wk-* (podrobnosti: pogodba v3).

Razbijanje predpomnilnika za admin.css (od 2026-07-12): action.php::injectAssets() je admin.css doslej povezoval brez kakršnega koli razbijalca predpomnilnika (brez niza poizvedbe ?t=…, kot ga ima mehanizem tseed za celotno spletno mesto) – brskalnik, ki je ta naslov že enkrat naložil, je po spremembi CSS še naprej kazal staro, predpomnjeno različico, dokler ni bila izsiljena trda osvežitev. To je bil dejanski vzrok prijavljenega »spet moder gumb namesto belega« – sam barvni popravek je bil že pravilen, le ni v vsakem brskalniku vidno prispel. Popravek: povezava na admin.css ima zdaj niz poizvedbe ?t=…, izpeljan iz časa spremembe datoteke, po istem načelu kot tseed za celotno spletno mesto.

Dokazilo

Preverjeno ločeno proti nadomestnim objektom in v živo proti dejanski namestitvi (prijavljena in anonimna seja, ločeni zagoni procesov), po istem vzorcu kot pri pogodbi delovne površine.

Posledice

  • enforceNamespacePolicy() nikoli več ne sme preverjati samo isEnrolled(). Lastnost računa ne odgovori na vprašanje, ali je ta seja dokazala dejavnik; prav ta zamenjava je sprožila utrditev.
  • Naslova za unovčenje do=wkidentity_otp ne preimenujte znova. Je v vsaki poslani povezavi; preimenovanje zlomi vsak odprt postopek in je varno le, kadar ni odprt noben.
  • Nobena enkratna koda in nobena potrditvena koda se ne sme vrniti v nesoljeno hrambo. Obe sta shranjeni kot soljena zgoščena vrednost; nekdanja hramba SHA-256 je bila poimenovana ugotovitev.

Sorodne teme

sl/wiki/dwe/wkidentity/note-implementation-history.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille