keystone/keystone/conf
Colleen Murphy 1ef3828516 Check timestamp of signed EC2 token request
EC2 token requests contain a signature that signs the entire request,
including the access timestamp. While the signature is checked, the
timestamp is not, and so these signed requests remain valid
indefinitely, leaving the token API vulnerable to replay attacks. This
change introduces a configurable TTL for signed token requests and
ensures that the timestamp is actually validated against it.

The check will work for either an AWS Signature v1/v2 'Timestamp'
parameter[1] or the AWS Signature v4 'X-Aws-Date' header or
parameter[2].

Although this technically adds a new feature and the default value of
the feature changes behavior, this change is required to protect
credential holders and therefore must be backported to all supported
branches.

[1] https://docs.aws.amazon.com/general/latest/gr/signature-version-2.html
[2] https://docs.aws.amazon.com/general/latest/gr/sigv4-date-handling.html

Conflicts due to six removal in e2d83ae9:
	keystone/api/_shared/EC2_S3_Resource.py
	keystone/tests/unit/test_contrib_ec2_core.py

Change-Id: Idb10267338b4204b435df233c636046a1ce5711f
Closes-bug: #1872737
(cherry picked from commit ab89ea7490)
(cherry picked from commit 8d5becbe4b)
(cherry picked from commit e3f65d6fbc)
2020-05-02 21:36:47 -07:00
..
__init__.py Add JSON driver for access rules config 2019-03-03 18:33:11 +01:00
access_rules_config.py Add a permissive mode for access rules config 2019-03-03 18:33:49 +01:00
application_credential.py Impose limits on application credentials 2018-01-27 12:00:23 +01:00
assignment.py Default the assignment backend to SQL 2016-10-06 15:42:24 +00:00
auth.py Enable application_credential auth by default 2018-01-27 12:00:23 +01:00
catalog.py Fix misnamed variable in config 2017-05-08 05:00:51 +00:00
constants.py Enable application_credential auth by default 2018-01-27 12:00:23 +01:00
credential.py Check timestamp of signed EC2 token request 2020-05-02 21:36:47 -07:00
default.py Remove deprecated secure_proxy_ssl_header config 2018-11-19 21:55:17 +00:00
domain_config.py Improve keystone.conf [domain_config] documentation 2016-06-29 14:16:03 -05:00
endpoint_filter.py Improve keystone.conf [endpoint_filter] documentation 2016-07-01 15:33:25 +00:00
endpoint_policy.py remove deprecated `[endpoint_policy] enable` option 2016-10-07 20:12:28 +00:00
eventlet_server.py Use HostAddressOpt for opts that accept IP and hostnames 2017-03-16 06:35:21 -04:00
federation.py Fix wording of configuration help text 2017-07-20 17:58:26 +00:00
fernet_receipts.py Implement auth receipts spec 2018-11-02 15:06:19 +01:00
fernet_tokens.py Improve keystone.conf [fernet_tokens] documentation 2016-07-02 08:07:58 +00:00
identity.py Remove rolling_upgrade_password_hash_compat 2017-12-18 09:20:53 +08:00
identity_mapping.py Improve keystone.conf [identity_mapping] documentation 2016-06-29 16:42:51 -05:00
jwt_tokens.py Add configuration options for JWS provider 2019-01-31 19:40:25 +00:00
ldap.py Remove LDAP write support 2017-01-21 21:32:07 -05:00
memcache.py Remove KVS code 2017-02-03 02:25:19 +00:00
oauth1.py Improve keystone.conf [oauth1] documentation 2016-07-01 13:41:34 +00:00
opts.py Remove compatability shim 2018-10-30 17:26:27 -05:00
policy.py Improve keystone.conf [policy] documentation 2016-06-30 19:51:25 +00:00
receipt.py Implement auth receipts spec 2018-11-02 15:06:19 +01:00
resource.py Resource backend is SQL only now 2017-08-14 19:01:02 +00:00
revoke.py Improve keystone.conf [revoke] documentation 2016-07-11 06:55:57 -05:00
role.py Improve keystone.conf [role] documentation 2016-07-11 07:46:26 -05:00
saml.py Set default value for [saml]/idp_contact_surname 2016-08-16 16:11:24 -07:00
security_compliance.py Change unique_last_password_count default to 0 2018-08-23 06:48:36 +00:00
shadow_users.py Improve keystone.conf [shadow_users] documentation 2016-07-13 20:14:46 +00:00
signing.py Removed the deprecated pki_setup command 2017-03-29 00:15:09 +00:00
token.py Merge "Implement JWS token provider" 2019-02-22 03:53:02 +00:00
tokenless_auth.py Improve keystone.conf [tokenless_auth] documentation 2016-07-13 19:00:26 +00:00
trust.py Remove enable config option of trust feature 2018-07-09 16:13:55 +08:00
unified_limit.py Strict two level limit model 2018-07-17 11:59:58 +08:00
utils.py Replace keystone.common.config with keystone.conf package 2016-06-24 17:02:15 +00:00
wsgi.py Expand on debug_middleware option 2018-06-07 23:31:34 +00:00