Proposal: delete BMCWeb sessions after some kinds of account changes

Joseph Reynolds jrey at linux.ibm.com
Fri Mar 13 05:46:20 AEDT 2020


On 2/21/20 6:45 AM, Alexander Tereschenko wrote:
> On 17-Feb-20 23:10, Joseph Reynolds wrote:
>> This proposal is to enhance BMCWeb to terminate login session that 
>> are associated with accounts that have incompatible changes.  I 
>> understand this practice is allowed Redfish and recommended by OWASP.
>>
> This makes sense to me, with one specific note - see below

Good.  I hadn't thought through any of the specific cases.  Some ideas:
1. password becomes expired (for any reason, for example due to password 
aging (which is not implemented in OpenBMC)) ==> the 
PasswordChangeRequired property becomes true, with its restrictions.
2. password becomes unexpired (because a new password was successfully 
set) ==> currently the session remains valid <-- Redfish specifically 
allows that behavior.  On the other hand, OWASP recommends deleting the 
session even in this case.
3. The account itself is disabled, expired, or deleted.  ==> The session 
gets deleted.
4. The account is renamed ==> The session gets deleted.

Hey George, are you getting some ideas for test cases here?  :-)

>
>> - The [proposed][] ExpiredPassword D-Bus property and the 
>> PasswordChangeRequired Redfish properties set to True.  Sessions 
>> where this property is True are needed for a user to change their own 
>> password.
>
> While not terminating these sessions (which certainly makes sense), 
> should we restrict them to only allow for password change action 
> starting immediately after that flag is set? I'm not sure how it works 
> now.

Yes.  To clarify the wording: When an account's password changes to 
expired aka "PasswordChangeRequired", in-flight operations can complete, 
but new operations (including operations from an valid login session) 
should be restricted by the PasswordChangeRequired requirements (which 
restrict the session to the operations required to change the account 
password).

My proposed ExpiredPassword D-Bus property design ( 
https://lists.ozlabs.org/pipermail/openbmc/2020-February/020554.html) 
would make the statement above become true.  I am currently working on 
the first part of the implementation (the D-Bus portion), with the 
BMCWeb portion to follow.
That same design would also make the converse true: Successfully setting 
a new password would remove the PasswordChangeRequired condition; this 
would allow the session's usual privileges to take effect.

Now let me get back to that....

- Joseph

>
> regards,
> Alexander
>



More information about the openbmc mailing list