Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Resource type:
appstream_fleet_session_disconnect_timeoutProvider: AWS
Service:
appstreamSeverity: MEDIUM
Resource type:
OtherWhat this check verifies
AppStream fleets are evaluated forDisconnectTimeoutInSeconds being at or below 300 seconds (5 minutes), which defines how long a streaming session remains active after a user disconnects.
Risk
Long disconnect times keep sessions active, enabling session hijacking or unintended reconnection on lost/stolen devices. This raises data exposure (confidentiality), permits unauthorized actions (integrity), and ties up capacity and costs (availability/operations).Recommendation
SetDisconnectTimeoutInSeconds to 300 or less across fleets. Pair with a short IdleDisconnectTimeoutInSeconds, require re-authentication on reconnect, and enforce least privilege. Monitor session events and use defense in depth (network restrictions, device posture) to reduce takeover risk.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws appstream update-fleet —name <example_resource_name> —disconnect-timeout-in-seconds 300
References
- https://docs.aws.amazon.com/appstream2/latest/developerguide/set-up-stacks-fleets.html
- https://awscli.amazonaws.com/v2/documentation/api/2.9.6/reference/appstream/update-fleet.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = appstream_fleet_session_disconnect_timeout. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks