Enhancing plone.sesssion security

16 messages Options
Embed this post
Permalink
George L

Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
Hi,

Currently plone.session stores a keyring of five secrets, and verifies authentication by checking a user's cookie -- to see if it is the proper hash of the user id and the current secret. There is also a way of manually adding a new secret to invalidate current sessions. And, there is also a way of configuring plone.session to set the cookies' expiration time (on the client side). This should all work fine on most web sites.

Also the best way of securing a Plone site is to use https.

All that being said, it seems like there should be some ways of strengthening the security setup whether http or https is in effect. Because right now, in the periods that the secrets are unchanged:
  - If a person logs in; then logs out and logs back in, the cookie value used in both sessions will be the same.
  - If a person logs in from different browsers, the cookie value will be the same in both sessions.
  - Meaning that if somehow discovered the cookie value, they could have a way of faking a cookie and accessing the account
  - Someone could manually extend the expiration time of the cookie past the intended time

An alternative would be:
 * Each time someone logs in:
    - Generate a new secret s.
    - Store that secret, the user id, and an expiration time (if desired) in a persistent dictionary with the user id's as key values.
    - Store that secret (or a hash of the secret and user id) in a cookie.
 * Each time someone logs out:
    - Based on the cookie value, invalidate the secret
 * On each request
    - Check to see that the cookie value corresponds to a stored secret/user id pair that hasn't expired yet
    - Extend the expiration time

I think because this uses persistent data to store information, this would avoid some of the issues with SessionCrumbler from the PLIP #48 proposal, including issues with inconsistency across Zope restarts and multiple ZEO clients.

Does this sound reasonable? I'm somewhat experienced with the tech knowledge here but not an expert at it, so hoping to understand if this would work.

Peace, community, justice,
- George
Laurence Rowe

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
George L wrote:

> Hi,
>
> Currently plone.session stores a keyring of five secrets, and verifies
> authentication by checking a user's cookie -- to see if it is the proper
> hash of the user id and the current secret. There is also a way of manually
> adding a new secret to invalidate current sessions. And, there is also a way
> of configuring plone.session to set the cookies' expiration time (on the
> client side). This should all work fine on most web sites.
>
> Also the best way of securing a Plone site is to use https.
>
> All that being said, it seems like there should be some ways of
> strengthening the security setup whether http or https is in effect. Because
> right now, in the periods that the secrets are unchanged:
>   - If a person logs in; then logs out and logs back in, the cookie value
> used in both sessions will be the same.
>   - If a person logs in from different browsers, the cookie value will be
> the same in both sessions.
>   - Meaning that if somehow discovered the cookie value, they could have a
> way of faking a cookie and accessing the account
>   - Someone could manually extend the expiration time of the cookie past the
> intended time
>
> An alternative would be:
>  * Each time someone logs in:
>     - Generate a new secret s.
>     - Store that secret, the user id, and an expiration time (if desired) in
> a persistent dictionary with the user id's as key values.
>     - Store that secret (or a hash of the secret and user id) in a cookie.
>  * Each time someone logs out:
>     - Based on the cookie value, invalidate the secret
>  * On each request
>     - Check to see that the cookie value corresponds to a stored secret/user
> id pair that hasn't expired yet
>     - Extend the expiration time
>
> I think because this uses persistent data to store information, this would
> avoid some of the issues with SessionCrumbler from the PLIP #48 proposal,
> including issues with inconsistency across Zope restarts and multiple ZEO
> clients.
>
> Does this sound reasonable? I'm somewhat experienced with the tech knowledge
> here but not an expert at it, so hoping to understand if this would work.

We should avoid writing to the database at login as it causes conflict
errors.

I would like to move to the mod_auth_tkt system for signing
authentication cookies. I have this implemented in a branch [1] of
plone.session, however there are ZMI UI problems making seperate forms
for each session plugin and it feels like a layer of indirection too
many. The easiest solution is to just switch out the existing signing
implementation for the mod_auth_tkt one.

mod_auth_tkt cookies include the time at signing, so they are always
unique and can be time limited if so desired. It also enables single
sign on integration with other applications that run under apache.

Laurence

[1] http://dev.plone.org/plone/browser/plone.session/branches/elro-tktauth


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Ross Patterson-2

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
Laurence Rowe <[hidden email]> writes:

> George L wrote:
>> Hi,
>>
>> Currently plone.session stores a keyring of five secrets, and verifies
>> authentication by checking a user's cookie -- to see if it is the proper
>> hash of the user id and the current secret. There is also a way of manually
>
>> adding a new secret to invalidate current sessions. And, there is also a way
>> of configuring plone.session to set the cookies' expiration time (on the
>> client side). This should all work fine on most web sites.
>>
>> Also the best way of securing a Plone site is to use https.
>>
>> All that being said, it seems like there should be some ways of
>> strengthening the security setup whether http or https is in effect. Because
>> right now, in the periods that the secrets are unchanged:
>>   - If a person logs in; then logs out and logs back in, the cookie value
>> used in both sessions will be the same.
>>   - If a person logs in from different browsers, the cookie value will be
>> the same in both sessions.
>>   - Meaning that if somehow discovered the cookie value, they could have a
>> way of faking a cookie and accessing the account
>>   - Someone could manually extend the expiration time of the cookie past the
>> intended time
>>
>> An alternative would be:
>>  * Each time someone logs in:
>>     - Generate a new secret s.
>>     - Store that secret, the user id, and an expiration time (if desired) in
>> a persistent dictionary with the user id's as key values.
>>     - Store that secret (or a hash of the secret and user id) in a cookie.
>>  * Each time someone logs out:
>>     - Based on the cookie value, invalidate the secret
>>  * On each request
>>     - Check to see that the cookie value corresponds to a stored secret/user
>> id pair that hasn't expired yet
>>     - Extend the expiration time
>>
>> I think because this uses persistent data to store information, this would
>> avoid some of the issues with SessionCrumbler from the PLIP #48 proposal,
>> including issues with inconsistency across Zope restarts and multiple ZEO
>> clients.
>>
>> Does this sound reasonable? I'm somewhat experienced with the tech knowledge
>> here but not an expert at it, so hoping to understand if this would work.
>
> We should avoid writing to the database at login as it causes conflict
> errors.

Do we no longer write last log in time to the DB?

> I would like to move to the mod_auth_tkt system for signing
> authentication cookies. I have this implemented in a branch [1] of
> plone.session, however there are ZMI UI problems making seperate forms
> for each session plugin and it feels like a layer of indirection too
> many. The easiest solution is to just switch out the existing signing
> implementation for the mod_auth_tkt one.
>
> mod_auth_tkt cookies include the time at signing, so they are always
> unique and can be time limited if so desired. It also enables single
> sign on integration with other applications that run under apache.

Sounds really nifty and I certainly like integrating with other projects
rather than doing everything ourselves.  I am also, however, concerned
with introducing a hard dependency on Apache.  Can you say more about
the dependency implicsations?

Ross


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
George L

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Laurence Rowe
Laurence Rowe <l <at> lrowe.co.uk> writes:

> > An alternative would be:
> >  * Each time someone logs in:
> >     - Generate a new secret s.
> >     - Store that secret, the user id, and an expiration time (if desired) in
> > a persistent dictionary with the user id's as key values.
> >     - Store that secret (or a hash of the secret and user id) in a cookie.
> >  * Each time someone logs out:
> >     - Based on the cookie value, invalidate the secret
> >  * On each request
> >     - Check to see that the cookie value corresponds to a stored secret/user
> > id pair that hasn't expired yet
> >     - Extend the expiration time
> >
> > I think because this uses persistent data to store information, this would
> > avoid some of the issues with SessionCrumbler from the PLIP #48 proposal,
> > including issues with inconsistency across Zope restarts and multiple ZEO
> > clients.
> >
> > Does this sound reasonable? I'm somewhat experienced with the tech knowledge
> > here but not an expert at it, so hoping to understand if this would work.
>
> We should avoid writing to the database at login as it causes conflict
> errors.


Can you explain this more?

Would this be the case with writing to the database at logout as well?


> I would like to move to the mod_auth_tkt system for signing
> authentication cookies. I have this implemented in a branch [1] of
> plone.session

Looking at the branch --

(1) One downside: If there is no timeout set, then even if a user logs out, the
old cookie value could continue working. If it's possible to write to the
database at logout, one possibility is to write to the database a list of
revoked cookie _ac values.

(2) One thing that could be nice is for a user to be able to invalidate their
past sessions (similar to how in Gmail a user can log out all other sessions).
Currently and with this branch, because all users share the same secret, no user
could do this without invalidating everybody else's sessions as well.

(3) Also, right now the cookie will expire after timeout passes, even if there
is activity in the meantime. Could authenticateCredentials change to
re-timestamp the cookie if the authentication passes? (Implementing the list of
revoked authentication tokens in (1) would be a little more involved in this
case, but still doable. For instance, make the cookie contain a hash involving
the original timestamp, plus another hash involving the current timestamp -- and
on logout, revoke all cookies with the original timestamp/userid combination).

Peace, community, justice,
- George


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
George L

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
George Lee <georgeleejr@...> writes:

> Looking at the branch --
>
> (various suggestions)

Of course, any of those changes would probably make this incompatible with
mod_auth_tkt integration.

Peace, community, justice,
- George


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Hanno Schlichting-4

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ross Patterson-2
On Sun, Jun 21, 2009 at 10:04 PM, Ross Patterson<[hidden email]> wrote:

> Laurence Rowe <[hidden email]> writes:
>> I would like to move to the mod_auth_tkt system for signing
>> authentication cookies. I have this implemented in a branch [1] of
>> plone.session, however there are ZMI UI problems making seperate forms
>> for each session plugin and it feels like a layer of indirection too
>> many. The easiest solution is to just switch out the existing signing
>> implementation for the mod_auth_tkt one.
>
> Sounds really nifty and I certainly like integrating with other projects
> rather than doing everything ourselves.  I am also, however, concerned
> with introducing a hard dependency on Apache.  Can you say more about
> the dependency implicsations?

There's no dependency on Apache. It's basically just a definition of
the cookie format. If we change our default implementation we just
generate and parse a different cookie. As it happens there's an Apache
module which would understand the same format and there's also a
repoze.who plugin for this.

Hanno

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
George L

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ross Patterson-2
Ross Patterson <me@...> writes:

>
> Laurence Rowe <l <at> lrowe.co.uk> writes:
>
> > I would like to move to the mod_auth_tkt system for signing
> > authentication cookies.
>
> Sounds really nifty and I certainly like integrating with other projects
> rather than doing everything ourselves.  I am also, however, concerned
> with introducing a hard dependency on Apache.  Can you say more about
> the dependency implicsations?

I don't think there's any hard dependency -- the implementation creates cookies
that are compatible with mod_auth_tkt, so that it could be integrated easily.

Peace, community, justice,
- George


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Laurence Rowe

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ross Patterson-2
Ross Patterson wrote:

> Laurence Rowe <[hidden email]> writes:
>
>> George L wrote:
>>> Hi,
>>>
>>> Currently plone.session stores a keyring of five secrets, and verifies
>>> authentication by checking a user's cookie -- to see if it is the proper
>>> hash of the user id and the current secret. There is also a way of manually
>>> adding a new secret to invalidate current sessions. And, there is also a way
>>> of configuring plone.session to set the cookies' expiration time (on the
>>> client side). This should all work fine on most web sites.
>>>
>>> Also the best way of securing a Plone site is to use https.
>>>
>>> All that being said, it seems like there should be some ways of
>>> strengthening the security setup whether http or https is in effect. Because
>>> right now, in the periods that the secrets are unchanged:
>>>   - If a person logs in; then logs out and logs back in, the cookie value
>>> used in both sessions will be the same.
>>>   - If a person logs in from different browsers, the cookie value will be
>>> the same in both sessions.
>>>   - Meaning that if somehow discovered the cookie value, they could have a
>>> way of faking a cookie and accessing the account
>>>   - Someone could manually extend the expiration time of the cookie past the
>>> intended time
>>>
>>> An alternative would be:
>>>  * Each time someone logs in:
>>>     - Generate a new secret s.
>>>     - Store that secret, the user id, and an expiration time (if desired) in
>>> a persistent dictionary with the user id's as key values.
>>>     - Store that secret (or a hash of the secret and user id) in a cookie.
>>>  * Each time someone logs out:
>>>     - Based on the cookie value, invalidate the secret
>>>  * On each request
>>>     - Check to see that the cookie value corresponds to a stored secret/user
>>> id pair that hasn't expired yet
>>>     - Extend the expiration time
>>>
>>> I think because this uses persistent data to store information, this would
>>> avoid some of the issues with SessionCrumbler from the PLIP #48 proposal,
>>> including issues with inconsistency across Zope restarts and multiple ZEO
>>> clients.
>>>
>>> Does this sound reasonable? I'm somewhat experienced with the tech knowledge
>>> here but not an expert at it, so hoping to understand if this would work.
>> We should avoid writing to the database at login as it causes conflict
>> errors.
>
> Do we no longer write last log in time to the DB?

We do but we shouldn't.

>> I would like to move to the mod_auth_tkt system for signing
>> authentication cookies. I have this implemented in a branch [1] of
>> plone.session, however there are ZMI UI problems making seperate forms
>> for each session plugin and it feels like a layer of indirection too
>> many. The easiest solution is to just switch out the existing signing
>> implementation for the mod_auth_tkt one.
>>
>> mod_auth_tkt cookies include the time at signing, so they are always
>> unique and can be time limited if so desired. It also enables single
>> sign on integration with other applications that run under apache.
>
> Sounds really nifty and I certainly like integrating with other projects
> rather than doing everything ourselves.  I am also, however, concerned
> with introducing a hard dependency on Apache.  Can you say more about
> the dependency implicsations?

There is no dependency on apache, I just implemented the authentication
scheme in a compatible way.

Laurence


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Ross Patterson-2

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Hanno Schlichting-4
Hanno Schlichting <[hidden email]> writes:

> On Sun, Jun 21, 2009 at 10:04 PM, Ross Patterson<[hidden email]> wrote:
>> Laurence Rowe <[hidden email]> writes:
>>> I would like to move to the mod_auth_tkt system for signing
>>> authentication cookies. I have this implemented in a branch [1] of
>>> plone.session, however there are ZMI UI problems making seperate forms
>>> for each session plugin and it feels like a layer of indirection too
>
>>> many. The easiest solution is to just switch out the existing signing
>>> implementation for the mod_auth_tkt one.
>>
>> Sounds really nifty and I certainly like integrating with other projects
>> rather than doing everything ourselves.  I am also, however, concerned
>> with introducing a hard dependency on Apache.  Can you say more about
>> the dependency implicsations?
>
> There's no dependency on Apache. It's basically just a definition of
> the cookie format. If we change our default implementation we just
> generate and parse a different cookie. As it happens there's an Apache
> module which would understand the same format and there's also a
> repoze.who plugin for this.

How about nginx?  IIS?

Ross

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Hanno Schlichting-4

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by George L
On Sun, Jun 21, 2009 at 10:07 PM, George Lee<[hidden email]> wrote:
> Laurence Rowe <l <at> lrowe.co.uk> writes:
>> I would like to move to the mod_auth_tkt system for signing
>> authentication cookies. I have this implemented in a branch [1] of
>> plone.session
>
> Looking at the branch --

We'd want to extent the implementation with the things done in
http://svn.repoze.org/repoze.who/trunk/repoze/who/plugins/auth_tkt.py
(or still circling in patches for it).

Specifically the reissue interval (3) and the option to set a timeout
(1) and make that configurable in some way.

> (2) One thing that could be nice is for a user to be able to invalidate their
> past sessions (similar to how in Gmail a user can log out all other sessions).
> Currently and with this branch, because all users share the same secret, no user
> could do this without invalidating everybody else's sessions as well.

I'm not convinced that the introduction of a server side session state
is a good idea. None of the session mechanisms for Zope are known to
scale well. I'd certainly wouldn't want to make it the default.

Hanno

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Laurence Rowe

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by George L
George Lee wrote:

> Laurence Rowe <l <at> lrowe.co.uk> writes:
>
>>> An alternative would be:
>>>  * Each time someone logs in:
>>>     - Generate a new secret s.
>>>     - Store that secret, the user id, and an expiration time (if desired) in
>>> a persistent dictionary with the user id's as key values.
>>>     - Store that secret (or a hash of the secret and user id) in a cookie.
>>>  * Each time someone logs out:
>>>     - Based on the cookie value, invalidate the secret
>>>  * On each request
>>>     - Check to see that the cookie value corresponds to a stored secret/user
>>> id pair that hasn't expired yet
>>>     - Extend the expiration time
>>>
>>> I think because this uses persistent data to store information, this would
>>> avoid some of the issues with SessionCrumbler from the PLIP #48 proposal,
>>> including issues with inconsistency across Zope restarts and multiple ZEO
>>> clients.
>>>
>>> Does this sound reasonable? I'm somewhat experienced with the tech knowledge
>>> here but not an expert at it, so hoping to understand if this would work.
>> We should avoid writing to the database at login as it causes conflict
>> errors.
>
>
> Can you explain this more?
>
> Would this be the case with writing to the database at logout as well?

It would be an issue at logout too. Writing to the database slows things
  down and should in general be avoided for all read-only operations.

>> I would like to move to the mod_auth_tkt system for signing
>> authentication cookies. I have this implemented in a branch [1] of
>> plone.session
>
> Looking at the branch --
>
> (1) One downside: If there is no timeout set, then even if a user logs out, the
> old cookie value could continue working. If it's possible to write to the
> database at logout, one possibility is to write to the database a list of
> revoked cookie _ac values.
 >
> (2) One thing that could be nice is for a user to be able to invalidate their
> past sessions (similar to how in Gmail a user can log out all other sessions).
> Currently and with this branch, because all users share the same secret, no user
> could do this without invalidating everybody else's sessions as well.

If we stored secrets per user then we would need to load the secret to
validate the cookie at every request (except for the caching, see
below.). This would slow things down further. Gmail shows user specific
data, so it needs to load user specific information anyway.

> (3) Also, right now the cookie will expire after timeout passes, even if there
> is activity in the meantime. Could authenticateCredentials change to
> re-timestamp the cookie if the authentication passes? (Implementing the list of
> revoked authentication tokens in (1) would be a little more involved in this
> case, but still doable. For instance, make the cookie contain a hash involving
> the original timestamp, plus another hash involving the current timestamp -- and
> on logout, revoke all cookies with the original timestamp/userid combination).

mod_auth_tkt in apache can issue an updated cookie when you reach a
proportion of the timeout value. I didn't implement this yet because the
acl_users caching complicates matters - it caches a authenticated
credentials so the session plugin is not invoked every request. On
systems I have this installed I let apache update the ticket.

Laurence


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Ross Patterson-2

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Hanno Schlichting-4
Hanno Schlichting <[hidden email]>
writes:

> On Sun, Jun 21, 2009 at 10:04 PM, Ross Patterson<[hidden email]> wrote:
>> Laurence Rowe <[hidden email]> writes:
>>> I would like to move to the mod_auth_tkt system for signing
>>> authentication cookies. I have this implemented in a branch [1] of
>>> plone.session, however there are ZMI UI problems making seperate forms
>>> for each session plugin and it feels like a layer of indirection too
>
>>> many. The easiest solution is to just switch out the existing signing
>>> implementation for the mod_auth_tkt one.
>>
>> Sounds really nifty and I certainly like integrating with other projects
>> rather than doing everything ourselves.  I am also, however, concerned
>> with introducing a hard dependency on Apache.  Can you say more about
>> the dependency implicsations?
>
> There's no dependency on Apache. It's basically just a definition of
> the cookie format. If we change our default implementation we just
> generate and parse a different cookie. As it happens there's an Apache
> module which would understand the same format and there's also a
> repoze.who plugin for this.

So is this just a re-implementation in Plone of the mod_auth_tkt
"standard"?

At any rate, I should clarify my question, sorry.  Will users of the
Plone installer, nginx, IIS, etc. still be able to do cookie based login
if we were to include this change?

Ross


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Hanno Schlichting-4

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
On Sun, Jun 21, 2009 at 11:15 PM, Ross Patterson<[hidden email]> wrote:
> So is this just a re-implementation in Plone of the mod_auth_tkt
> "standard"?
>
> At any rate, I should clarify my question, sorry.  Will users of the
> Plone installer, nginx, IIS, etc. still be able to do cookie based login
> if we were to include this change?

It's really just changing the value of the __ac cookie. Nobody notices
any difference, except it makes it possible for other software to
parse and understand or issue these cookies

Hanno

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Alexander Limi

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ross Patterson-2
On Sun, 21 Jun 2009 13:04:03 -0700, Ross Patterson  
<[hidden email]> wrote:

>> We should avoid writing to the database at login as it causes conflict
>> errors.
>
> Do we no longer write last log in time to the DB?

As Laurence said, we do, but we shouldn't. This is probably something we  
can fix in Plone 4, or at least make optional. Shouldn't be invasive  
enough to require a PLIP, I'd file it under general performance  
improvements. :)

--
Alexander Limi · http://limi.net


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Alexander Limi · http://limi.net

alan runyan-2

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
On Mon, Jun 22, 2009 at 2:25 AM, Alexander Limi<[hidden email]> wrote:

> On Sun, 21 Jun 2009 13:04:03 -0700, Ross Patterson
> <[hidden email]> wrote:
>
>>> We should avoid writing to the database at login as it causes conflict
>>> errors.
>>
>> Do we no longer write last log in time to the DB?
>
> As Laurence said, we do, but we shouldn't. This is probably something we
> can fix in Plone 4, or at least make optional. Shouldn't be invasive
> enough to require a PLIP, I'd file it under general performance
> improvements. :)

It would be nice to throw a logout event for any application which
needs to subscribe to such an event.  Instead of simply removing
the database write.

-alan

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Wichert Akkerman

Re: Enhancing plone.sesssion security

Reply Threaded More More options
Print post
Permalink
On 6/25/09 3:04 PM, Alan Runyan wrote:

> On Mon, Jun 22, 2009 at 2:25 AM, Alexander Limi<[hidden email]>  wrote:
>> On Sun, 21 Jun 2009 13:04:03 -0700, Ross Patterson
>> <[hidden email]>  wrote:
>>
>>>> We should avoid writing to the database at login as it causes conflict
>>>> errors.
>>> Do we no longer write last log in time to the DB?
>> As Laurence said, we do, but we shouldn't. This is probably something we
>> can fix in Plone 4, or at least make optional. Shouldn't be invasive
>> enough to require a PLIP, I'd file it under general performance
>> improvements. :)
>
> It would be nice to throw a logout event for any application which
> needs to subscribe to such an event.  Instead of simply removing
> the database write.

Most users never explicitly log out. They just close their browser.

Wichert.

--
Wichert Akkerman <[hidden email]>   It is simple to make things.
http://www.wiggy.net/                  It is hard to make things simple.

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers