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

Commit

Permalink
added security features page (#516)
Browse files Browse the repository at this point in the history
* added security features page

* move self-host instructions

* fix typo, add link

* remove stray code block
  • Loading branch information
d4mr authored Jul 18, 2024
1 parent 2c7af13 commit 29b36f2
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 2 deletions.
26 changes: 26 additions & 0 deletions src/app/engine/features/security/page.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { Details, Callout, DocImage } from "@doc";
import { createMetadata } from "@doc";

export const metadata = createMetadata({
title: "Security | thirdweb Engine",
description:
"thirdweb Engine provides you with security features to configure and restrict access.",
});

# Security

Engine provides you with security features to configure and restrict access to sensitive operations.

## IP Allowlist

You can restrict access to your Engine instance by configuring an IP allowlist. This can be configured in the **Configuration** section of the [Engine dashboard](https://thirdweb.com/dashboard/engine/).
If an IP allowlist is not configured, Engine will allow all incoming requests.

<Callout variant="info" title="Note">
This does not affect calls from the Engine dashboard to your Engine instance.
</Callout>

## Domain Allowlist (CORS)

You can restrict access to your Engine instance by configuring a domain allowlist. This can be configured in the **Configuration** section of the [Engine dashboard](https://thirdweb.com/dashboard/engine/).
Multiple domains can be added to the allowlist, and Engine will only accept requests from these domains. A wildcard domain can also be added to allow requests from any domain.
7 changes: 5 additions & 2 deletions src/app/engine/self-host/page.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ docker run \
| `LOG_LEVEL` | Determines the logging severity level. Adjust for finer control over logged information. (Default: `debug`) |
| `PRUNE_TRANSACTIONS` | When `false`, Engine prevents the pruning/deletion of processed transaction data. (Default: `true`) |
| `ENABLE_KEYPAIR_AUTH` | Enables [Keypair Authentication](/engine/features/keypair-authentication). |
| `TRUST_PROXY` | When `true`, trust the `X-Forwarded-For` header to allow Engine to use the correct client IP address for the IP allowlist. |

<span style={{ color: "red" }}>*</span> Required

Expand Down Expand Up @@ -129,8 +130,6 @@ See [Production Checklist](/engine/production-checklist#cloud-hosting) for best
- Minimum specs: 2 vCPU, 2 GB memory (AWS equivalent: t4g.small)
- Set the `connection_limit` parameter within your `POSTGRES_CONNECTION_URL` environment variable to `10`.

### FAQ

#### How do I filter logs in Engine?

Configure log verbosity via the `LOG_LEVEL` environment variable.
Expand Down Expand Up @@ -168,3 +167,7 @@ Example configuration:
```bash
POSTGRES_CONNECTION_URL=postgres://postgres:postgres@localhost:5432/postgres?connection_limit=10
```

#### What is `x-forwarded-for` and how does it affect Engine?

If you have engine running on a server behind a reverse proxy, you can set the `TRUST_PROXY` environment variable to `true` to trust the `X-Forwarded-For` header. Reverse proxies like Nginx or Apache will add this header to the request with the original client IP address, and setting this variable will allow Engine to use the correct IP address for the IP Allowlist. For more details on IP Allowlisting, refer to the [Security Features](/engine/features/security) page.
4 changes: 4 additions & 0 deletions src/app/engine/sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@ export const sidebar: SideBar = {
name: "Contract Subscriptions",
href: `${engineSlug}/features/contract-subscriptions`,
},
{
name: "Security",
href: `${engineSlug}/features/security`,
},
],
},
{
Expand Down

0 comments on commit 29b36f2

Please sign in to comment.