diff --git a/website/src/app/kb/faq/page.tsx b/website/src/app/kb/faq/page.tsx new file mode 100644 index 000000000..7d777eebf --- /dev/null +++ b/website/src/app/kb/faq/page.tsx @@ -0,0 +1,11 @@ +import FAQ from "@/components/FAQ"; +import { Metadata } from "next"; + +export const metadata: Metadata = { + title: "FAQ • Firezone Docs", + description: "Firezone Documentation", +}; + +export default function Page() { + return ; +} diff --git a/website/src/app/kb/faq/readme.mdx b/website/src/app/kb/faq/readme.mdx new file mode 100644 index 000000000..e69de29bb diff --git a/website/src/components/FAQ/index.tsx b/website/src/components/FAQ/index.tsx new file mode 100644 index 000000000..5605694c7 --- /dev/null +++ b/website/src/components/FAQ/index.tsx @@ -0,0 +1,5 @@ +import Content from "./readme.mdx"; + +export default function FAQ() { + return ; +} diff --git a/website/src/components/FAQ/readme.mdx b/website/src/components/FAQ/readme.mdx new file mode 100644 index 000000000..508db91ea --- /dev/null +++ b/website/src/components/FAQ/readme.mdx @@ -0,0 +1,232 @@ +# FAQ + +Frequently asked questions. + +## Glossary of terms + +**Site**: [Sites](/kb/deploy/sites) are user-created environments where admins +can manage Resources and the Gateways that enable access to those Resources +(e.g. US-West, Chicago-LAN, or Prod). All Gateways and Resources in a Site are +assumed to be able to reach each other in a shared network context such as a VPC +or LAN. + +**Gateway**: [Gateways](/kb/deploy/gateways) are Firezone servers that run on +your infrastructure. Gateways must be defined within a Site, and any traffic +to/from resources associated with a Site will pass through one of that Site’s +Gateways. We distribute the Gateway as self-contained binaries on our +[releases page](https://github.com/firezone/firezone/releases), or as a Docker +image or Systemd unit file with instructions shown when you deploy the Gateway +from the admin portal. Gateways can run on everything from a Raspberry Pi to +bare metal servers and everything in between. Gateways are designed to be +lightweight and don't require persistent storage to function. + +**Resource**: A [Resource](/kb/deploy/resources) is any DNS name, IP, or network +(CIDR range) you wish to manage access for. DNS-based Resources can be used to +manage access to internal or external applications and automatically match all +subdomains as well. CIDR-based Resources can be used to manage access for an +entire subnets, similar to a traditional VPN. + +**Policy**: [Policies](/kb/deploy/policies) define a one-to-one mapping between +a user group and a Resource. Access to Resources is default-deny, which means a +user can't access a Resource until a Policy permitting access is created. + +**Group**: User groups consist of one or more users, usually members of the same +team or department (e.g. Engineering, DevOps, Sales) and can be used in Policies +to give all users in that Group access to a Resource. Users and groups can be +automatically synced from your Identity Provider (Google Workspace only) to +ensure only active users and groups maintain access to your Resources. + +## General + +#### What is Firezone? + +Firezone lets organizations manage secure remote access to their most sensitive +Resources. We’re an open source zero trust network access (ZTNA) solution that’s +built on [WireGuard®](https://wireguard.com), a modern protocol that’s up to +4-6x faster than OpenVPN. + +#### What is zero trust network access? + +Zero trust network access (ZTNA) starts with the premise that users who want to +access a resource on a network are untrusted. This means that any attempt to +access a resource must be denied until a user 1) verifies their identity +(authentication), and 2) the platform confirms that the user is allowed to +access the resource (authorization). Learn more about zero trust network access. + +#### How is Firezone different from a VPN? + +While Firezone is built on [WireGuard®](https://wireguard.com), a VPN protocol, +it differs from a traditional VPN by providing access controls that authenticate +users and verify access before providing access to a specific resource. +Traditional VPNs usually give users access to the entire network, and do not +distinguish between different resources. + +#### How does Firezone work? + +For a complete description of how Firezone works, our architecture, and how it +can help you manage access to infrastructure or shared services, check out our +[repository](https://github.com/firezone/firezone). + +#### Where does Firezone run? + +Firezone runs on your own infrastructure in just about any public, private, or +cloud network. Most of our customers use Firezone to access resources in public +cloud providers like AWS, Azure, Google Cloud Platform, and Digital Ocean, or +on-premise networks. Because Firezone operates at layer 3 of the networking +stack, it supports all application protocols without modification. + +## Deploying Firezone + +#### How long does it take to set up Firezone? + +Firezone can be set up in less than 10 minutes, and gateways can be added by +running a simple Docker command. Visit our docs for more information and step by +step instructions. + +#### Do I have to be technical to run Firezone? + +No, deploying Firezone doesn’t require any specialized networking expertise. If +you know how to run a Docker container or Linux-based VM in your network, then +you should be able to deploy Firezone (check out the +[Quickstart Guide](/kb/quickstart) for step-by-step instructions). + +#### Do I need to make any changes to my infra to run Firezone? + +No. While Firezone can be deployed as you build out a network, it’s also an +overlay network that can provide fine-grained access control to resources in an +existing network. All you need to start giving users secure access to resources +in a network, is to install a Firezone [Gateway](/kb/deploy/gateways) on a +server or VM in that network. Gateways can also be deployed at scale using +Terraform. + +#### Do I need to disable my VPN to use Firezone? + +No, you can run Firezone alongside your existing VPN, and switch over whenever +you’re ready. There’s no need for any downtime or unnecessary disruptions. + +#### Can I self-host Firezone? + +Firezone uses a split control plane and data plane architecture to allow for +things like key distribution, user authentication, and policy enforcement to +happen out-of-band with the hot data paths. The data plane components such as +the clients and Gateway are specifically designed to be self-hosted, but the +control plane, due to its complexity, security, and persistence requirements, is +not. + +That said, Firezone's product is 100% open source and can be found at our +[main repository](https://github.com/firezone/firezone). Our license does not +prevent self-hosters from using the product as they see fit. + +#### How do I get Firezone on an end-user device? + +Users can install the Firezone client [here](/kb/deploy/clients). After +installing the Client, users simply need to enter their account ID and sign in +using their email or SSO to start accessing the Resources that you (an Admin) +has given them permission to access in the Firezone admin portal. + +#### Can Firezone connect to my identity provider (IdP)? + +Yes. Firezone integrates with any [OIDC-compatible](/kb/authenticate/oidc) +identity provider, including Google Workspace, Azure AD, Okta, and OneLogin. +Firezone does not store or handle end-user credentials like passwords. + +#### Where should I run my Gateway(s)? + +Gateways are [released](https://github.com/firezonze/firezone/releases) as +self-contained binaries for Linux that we package as a Docker image or Systemd +unit, which you can run on any Linux-based server or VM (e.g. on AWS, GCP, +Azure, or on-premise). You only need a single Gateway in each Site to provide +secure remote access to Resources associated with that Site. However, we +recommend deploying two or more Gateways for load-balancing and automatic +failover. + +#### What is a service account? + +Service accounts facilitate secure connections from a server, VM or container to +a Resource. Because service accounts do not involve a user, they can’t fulfill +2FA requirements, and use the Firezone client in a non-interactive way (headless +mode). + +## Performance + +#### Does all my traffic go through Firezone? + +Network traffic is always end-to-end encrypted, and by default, routes directly +to gateways running on your infrastructure. If you have managed relays enabled, +encrypted data may pass through our global relay network if a direct connection +cannot be established. Firezone can never decrypt the contents of your traffic. + +#### Can Firezone support more traffic as my company scales up? + +Scaling Firezone to support your rapidly growing organization is as simple as +powering up or deploying additional Gateway servers, or leveraging the Firezone +API and Terraform to programmatically scale up with your network. + +#### What protocol does Firezone use to encrypt traffic? + +Firezone uses [WireGuard®](https://wireguard.com) to encrypt all data plane +traffic and TLS to encrypt all control plane traffic. + +#### What happens if I add the same Resource to more than one Site? + +The end-user client will automatically select the nearest gateway, and route +traffic to/from that Resource. + +#### What happens if Firezone goes offline? + +You will not be able to access the Firezone Admin Console, or make changes to +your account via the API. Existing connections should remain active for +approximately 5 minutes before being disconnected. + +## Users + +#### How do end users get Firezone? + +Windows and Linux users can download the client from +[here](https://github.com/firezone/firezone/releases). MacOS, iOS, iPadOS, +Android, and ChromeOS users can download the client from their device’s app +store. + +#### Do users need to interact with the Firezone client? + +The client app is designed to be unobtrusive, and once a user clicks connect and +authenticates with their credentials, it should run in the background without +the need for additional interaction. Users may find it helpful to click on the +Firezone app to see a list of available resources, but the app is always on and +doesn’t need to be toggled. Always-on split tunneling means that accessing +anything other than Firezone resources should be unaffected when using Firezone. + +## Admins + +#### How can I limit access to resources? + +Firezone lets admins set access control using a combination of Policies and User +Groups. This means that admins can establish role-based, or any other logical +group at a fine-grained Resource level. + +## Billing + +#### How do you charge for Firezone? + +Firezone charges per seat — visit our [pricing page](/pricing) for more +information. Accounts are billed when they start service, or at the beginning of +each billing cycle. Enterprise plans are billed quarterly or annually, and can +be paid via credit card, ACH, or wire transfer. Firezone does not require a +credit card to get started. + +To cancel or change plans, contact support@firezone.dev. + +## Security + +#### What firewall ports do I have to open to use Firezone? + +None. The Firezone control plane propagates connection information like public +keys across your network, so Gateways and Resources don’t need to listen for +inbound connections from the public internet. This means that your network +remains inaccessible from the internet, with no visible entry points. + +#### How can I be sure Firezone is secure? + +Firezone helps improve organizations’ cybersecurity posture by offering a modern +approach to securing access to sensitive Resources in their private network. +[Read our security disclosure policy](https://github.com/firezone/firezone/blob/main/SECURITY.md) diff --git a/website/src/components/KbSidebar/Item.tsx b/website/src/components/KbSidebar/Item.tsx index d02083c5b..cfc23652f 100644 --- a/website/src/components/KbSidebar/Item.tsx +++ b/website/src/components/KbSidebar/Item.tsx @@ -25,7 +25,13 @@ export default function Item({ } > {!topLevel && } - + {label} diff --git a/website/src/components/KbSidebar/index.tsx b/website/src/components/KbSidebar/index.tsx index d44191d0c..929d9c9fd 100644 --- a/website/src/components/KbSidebar/index.tsx +++ b/website/src/components/KbSidebar/index.tsx @@ -148,6 +148,9 @@ export default function KbSidebar() { +
  • + +