docker-dev central-1 refused all new anonymous sessions after a few failed UserName sign-ins #833

Closed
opened 2026-11-11 00:48:15 -05:00 by dohertj2 · 1 comment
Owner

Seen during the #803 live gate (05:40, 2026-11-11, master 5bbe1e3c): after four failed multi-role UserName activations against opc.tcp://localhost:4840, central-1 refused every subsequent anonymous session with BadUserAccessDenied (even reading the namespace array); no "anonymous admitted" log lines after 05:40:04. central-2 (:4841) kept admitting anonymous. Possibly a per-client-address failed-sign-in limiter latching anonymous too — unconfirmed. Reproduce, identify the mechanism, and make sure a failed-credential lockout doesn't lock out the anonymous principal (or document that it does, and for how long).

Seen during the #803 live gate (05:40, 2026-11-11, master 5bbe1e3c): after four failed `multi-role` UserName activations against opc.tcp://localhost:4840, central-1 refused every subsequent anonymous session with BadUserAccessDenied (even reading the namespace array); no "anonymous admitted" log lines after 05:40:04. central-2 (:4841) kept admitting anonymous. Possibly a per-client-address failed-sign-in limiter latching anonymous too — unconfirmed. Reproduce, identify the mechanism, and make sure a failed-credential lockout doesn't lock out the anonymous principal (or document that it does, and for how long).
dohertj2 added the type:bugpriority:p3 labels 2026-11-11 00:48:15 -05:00
Author
Owner

Fixed (merge 2a87d96f). Pushed to master in d1b6cad2. The SDK lockout is disabled and replaced by FailedCredentialLockout (UserName/API-key only, never anonymous). Concurrent activations wait for a slot (OpcUa:CredentialLockout:SlotWaitSeconds) instead of being refused. Live gate: 10 parallel valid sessions all Good, anonymous unaffected. Hardening in #844/#845 (fixed in this batch).

ScadaBridge impact: anonymous sessions are never locked out; parallel keyed sessions wait rather than fail.

Fixed (merge `2a87d96f`). Pushed to master in `d1b6cad2`. The SDK lockout is disabled and replaced by `FailedCredentialLockout` (UserName/API-key only, never anonymous). Concurrent activations wait for a slot (`OpcUa:CredentialLockout:SlotWaitSeconds`) instead of being refused. Live gate: 10 parallel valid sessions all Good, anonymous unaffected. Hardening in #844/#845 (fixed in this batch). **ScadaBridge impact:** anonymous sessions are never locked out; parallel keyed sessions wait rather than fail.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#833