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
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 samoisEnrolled(). 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_otpne 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
- wvdsentra – zaledje za overjanje, od katerega je vzorec skrbniške plošče (zavihki, shramba JSON) prevzet nespremenjen. Na tej namestitvi ni nameščeno; stran opisuje izvor, ne delujočega paketa.
- Tehnična referenca – stanje, ki ga ta stran utemeljuje
- Koncepti – zagotovilo in pravilnik, ki sta nastala ob utrditvi