Configure OAuth tokens to expire after a set period of inactivity
An XCCDF Rule
Description
You can configure OAuth tokens to have have a custom duration. By default, the tokens are valid for 24 hours (86400 seconds).
The maximum age can be either set in the OAuth server configuration or in any of the OAuth clients. The client settings override the OAuth server setting.
To set the OAuth server token max age, edit the OAuth server
object: oc edit oauth cluster
and set the .spec.tokenConfig.accessTokenMaxAgeSeconds
parameter to the desired value:
apiVersion: config.openshift.io/v1 kind: OAuth metadata: ... spec: tokenConfig: accessTokenMaxAgeSeconds: 28800
To set the OAuth client token max age, edit the OAuth client
object: oc edit oauthclient $clientname
and set the top-level accessTokenMaxAgeSeconds
attribute.
apiVersion: oauth.openshift.io/v1 grantMethod: auto kind: OAuthClient metadata: ... accessTokenMaxAgeSeconds: 28800For more information on configuring the OAuth server, consult the OpenShift documentation: https://docs.openshift.com/container-platform/4.7/authentication/configuring-internal-oauth.html
warning alert: Warning
/apis/oauth.openshift.io/v1/oauthclients
API endpoint to the local /apis/oauth.openshift.io/v1/oauthclients
file /apis/config.openshift.io/v1/oauths/cluster
API endpoint to the local /apis/config.openshift.io/v1/oauths/cluster
file .Rationale
Setting a token maximum age to a shorter time period reduces the window of opportunity for unauthorized personnel to take control of the session.
- ID
- xccdf_org.ssgproject.content_rule_oauth_or_oauthclient_token_maxage
- Severity
- Medium
- References
- Updated
Remediation - Kubernetes Patch
apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
name: cluster
spec:
tokenConfig: