-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ability to store securely hashed sessionkeys #47
base: FREESIDE_4_BRANCH
Are you sure you want to change the base?
Add ability to store securely hashed sessionkeys #47
Conversation
Add configurable option for storing the session key (in the access_user_session table) as a salted SHA256 hash) based on setting in the configuration. If the 'hashsalt' configuration setting is a string of positive length, use the salt string as input to the hash stored as the sessionkey. After setting the hashsalt, you will need to restart Apache, freeside-queued, etc. You will also need to close and reopen your browser and flush your cookies.
…/Freeside into feature/hash-sessionkey
into update was already hashed.)
If session keys stored as salted hashes is required for PCI compliance (do you have a specific citation?), then it should be the default, not an option, and it should be enabled automatically on upgrade, without administrator intervention. (Since 4.0 hasn't released yet and the 3.x -> 4.x upgrade is a major version upgrade where we're not trying to preserve web interface sessions, we're not worried about existing sessions.) With regard to the change itself:
|
https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-1.pdf While not specifically named, a session is a type of "authentication credential". |
Hello folks, We're doing 4.0 release preparations, and as a big change, if this doesn't make 4.0 it won't be in until 5.x. Willl you be able to look into the feedback shortly? If you want us to do this work instead, please let us know. |
Ivan, I'll start working on the securely hashed session keys today. I apologize for the delay. Later ... Weldon Whipple On Wed, Dec 9, 2015 at 8:12 PM, Ivan Kohler [email protected]
|
…/Freeside into feature/hash-sessionkey
force a new login for all sessions in progress.
Just pushed modifications to ssh://[email protected]/wwhipple/Freeside.git, Reverted t/Record.t back to its original state. Studying http://www.freeside.biz/mediawiki/index.php/Test_Suite ... On Wed, Dec 9, 2015 at 8:12 PM, Ivan Kohler [email protected]
|
Freeside currently stores sessionkeys on the server in plaintext. Storing them as salted hashes would help be more PCI-compliant.
This pull request implements the ability to optionally store sessionkeys as salted SHA256 hashes.
It is implemented as follows:
First-time Transition to using the hashed sessionkey:
On an installation that includes this patch:
FS/t/Record.t test case: