Skip to content
This repository has been archived by the owner on Mar 1, 2024. It is now read-only.

Commit

Permalink
New general docs page/ToC + new security page. (#254)
Browse files Browse the repository at this point in the history
* New security tips page.
* Update README.md with docs links
* Linked tickets for TO DO docs pages in readme.md
---------

Signed-off-by: Michael Wallace <[email protected]>
  • Loading branch information
MWillWallT authored Jun 8, 2023
1 parent 5202ef6 commit 83e21b5
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 1 deletion.
12 changes: 12 additions & 0 deletions Docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# General Documentation and Information
Welcome to the general documentation page for Pixel Streaming. This page serves as the central hub for accessing various documentation related to Pixel Streaming. It also functions as a Table of Contents, providing easy navigation to different sections of this repository.

[Documentation Table of Contents](/README.md#documentation)
### General Documentation

* [Security Guidelines](/Docs/Security-Guidelines.md)



## Legal
© 2004-2023, Epic Games, Inc. Unreal and its logo are Epic’s trademarks or registered trademarks in the US and elsewhere.
20 changes: 20 additions & 0 deletions Docs/Security-Guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Security Guidelines

To enhance the security of your Pixel Streaming deployments, it is wise to implement additional measures for protection. This documentation page aims to provide you with valuable recommendations and suggestions to bolster the security of your deployments. By following these guidelines, you can significantly enhance the overall security posture and safeguard your Pixel Streaming environment effectively.

## Tips to Improve Security
Please note that implementing the following suggestions may introduce additional setup complexity and could result in increased latency.

1. **Isolate Unreal Engine Instance:** Avoid deploying the Unreal Engine instance on a cloud machine with a public IP. Instead, only allowlist the necessary servers, such as the signalling and TURN servers, to communicate with the UE instance.

2. **Route Media Traffic through TURN Server:** For enhanced security, enforce routing all media traffic through the TURN server. By doing so, only the TURN server and signalling server will be permitted to communicate with the UE instance. Keep in mind that this approach may introduce some additional latency.

3. **Secure TURN Server with User Credentials:** Configure the TURN server with a user database and assign unique credentials to each user. This additional security layer prevents unauthorized access to the relay. By default, Pixel Streaming employs the same TURN credentials for every session, which may simplify access for potential attackers.

4. **Avoid Storing Important Credentials in the UE Container:** As a precautionary measure, refrain from storing any critical credentials or sensitive information within the UE container. This practice helps maintain a higher level of security.

5. **Disable Pixel Streaming Console Commands:** Pixel Streaming ensures that all media traffic is encrypted end-to-end, guaranteeing secure communication. However, note that Pixel Streaming allows users to send commands to the UE instance if enabled. To eliminate this possibility, launch without the `-AllowPixelStreamingCommands` flag.

6. **Separate TURN and Signalling Servers:** It is recommended to avoid colocating the TURN and signalling servers with the UE instance on the same IP or virtual machine (VM). This enables you to configure separate ingress/egress security policies for each server, allowing flexibility in defining the desired level of strictness or looseness. For example, the TURN server can have more relaxed policies while the UE instance can have stricter ones.

By following these tips, you can enhance the security of your Pixel Streaming setup and mitigate potential risks.
File renamed without changes.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ The Pixel Streaming Infrastructure contains reference implementations for all th

For detailed information, see the [frontend readme](Frontend/README.md).


## Releases
We release a number of different things under this repository, currently they are:

Expand Down Expand Up @@ -53,6 +52,13 @@ npm i @epicgames-ps/lib-pixelstreamingfrontend-ue5.2
npm i @epicgames-ps/lib-pixelstreamingfrontend-ui-ue5.2
```

## Documentation
* [General Docs](/Docs/README.md)
* [Frontend Docs](/Frontend/Docs/README.md)
* Signalling Server Docs [TO DO](https://github.com/EpicGames/PixelStreamingInfrastructure/issues/255)
* Matchmaker Docs [TO DO](https://github.com/EpicGames/PixelStreamingInfrastructure/issues/256)
* SFU Docs [TO DO](https://github.com/EpicGames/PixelStreamingInfrastructure/issues/257)

### Tagged source releases + built typescript frontend

[Github releases](https://github.com/EpicGames/PixelStreamingInfrastructure/releases)
Expand Down

0 comments on commit 83e21b5

Please sign in to comment.