You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -10,46 +14,41 @@ Defguard is a **comprehensive Remote Access Management solution** incorporating
10
14
* Identity Management with [SSO based on OpenID Identity Provider](admin-and-features/features-and-configuration/openid-connect/),
11
15
* Account Lifecycle management with [secure remote account onboarding](help/enrollment.md).
12
16
13
-
It's a **security platform** for building **secure** and **privacy-aware organizations,** as we put great emphasis not only on functionality but also on secure code, architecture and testing (application and security).
17
+
***
14
18
15
-
By design **defguard core (the main component) is meant to be deployed in your secure network segments** (available only from an internal network or by VPN) and operations that require public access (like user onboarding, enrollment, password reset, etc.) **are done using a secure proxy:**
19
+
<markstyle="color:purple;">**Our primary focus at defguard is on prioritizing security. Then, we aim to make this challenging topic both useful and as easy to navigate as possible.**</mark>
This approach is vastly different from most (if not all) VPN/IdP solutions, which are a simple or monolithic application focus on functionalities (like generating configs, managing users, etc.) and most of the time is publicly available in the Internet for any attacker.
23
+
Having said that, this security platform is for building **secure** and **privacy-aware organizations,** as we put great effort not only on functionality but first and foremost on secure code, architecture and testing (application and security).
20
24
21
-
Incorporating IDM, ALM, VPN has also other advantages:
25
+
### Basic security concept
22
26
23
-
1. Internal IdP with 2FA/MFA enables us to provide [**real VPN 2FA/MFA**](admin-and-features/features-and-configuration/wireguard/multi-factor-authentication-mfa-2fa/architecture.md) - and not like most applications just 2FA when opening the app (and not during the connection process). Even if you use [external OIDC](enterprise/all-enteprise-features/external-openid-providers.md) (Google/Microsoft/Custom - which defguard supports), we still use our internal IdP for 2FA/MFA.
24
-
2. Your organisation may use just **one account** (login) for access control to all your applications as well as VPN.
25
-
3. It simplifies deployment, maintenance, audits.
27
+
<figure><imgsrc=".gitbook/assets/defguard (1).png"alt=""><figcaption><p>Defguard main architecture concept</p></figcaption></figure>
26
28
27
-
### What does it mean to build a secure "organization"?
29
+
The main architecture concept is that **all critical data should be in the internal (Intranet) network and not exposed in the public Internet** (contrary to typical and common cloud approach).
28
30
29
-
First of all, It means implementing a **secure architecture** for your network and systems. In the age of "cloud," all systems (and data) are **public.** But that should be **for you to decide!**
31
+
This approach is **vastly different from most (if not all) VPN/IdP solutions**, which are a simple or monolithic applications focus on functionalities and most of the time is publicly available in the Internet for any attacker to exploit.
30
32
31
-
That's why defguard architecture (and implementation) is secure (and thoroughly and comprehensively audited by one of the best security researchers). If you want full privacy, defguard only exposes its VPN gateway (to provide a secure channel to all internal systems that should be behind the firewall) and the public proxy (for the remote user enrollment process).
33
+
Of course you can deploy defguard in a typical scenario (all services on one server and even all publicly available) - but that should be **for you to decide!**
32
34
33
-
It also means having **fundamental secure processes,** like:
35
+
### Incorporating IdP and VPN in one solution
34
36
35
-
* secure remote user enrollment (self-service)
36
-
* user self-service to manage their own data, change passwords, add/remove VPN devices, connect securely to networks
37
-
* for administrators to easily setup, manage and monitor multiple VPN networks (with access control) to provide a secure connection to applications that should not be visible on the internet
38
-
* deploy an Identity Provider to have one place to manage all users
39
-
* that Identity Provider should provide SSO functionality to enable users to log in to all systems with one login/password
40
-
* have 2FA/MFA functionality to harden security
41
-
* setup Yubikey Hardware keys to enable the best 2FA security, secure SSH login with private keys on a secure hardware
42
-
* integrate all your systems with API, and Webhooks (to access defguard functionalities or users' data)
37
+
Incorporating IDM, ALM, VPN has also other advantages:
38
+
39
+
1. Internal IdP with 2FA/MFA enables us to provide [**real VPN 2FA/MFA**](admin-and-features/features-and-configuration/wireguard/multi-factor-authentication-mfa-2fa/architecture.md) - and not like most applications just 2FA when opening the app (and not during the connection process). Even if you use [external OIDC](enterprise/all-enteprise-features/external-openid-providers.md) (Google/Microsoft/Custom - which defguard supports), we still use our internal IdP for 2FA/MFA.
40
+
2. Your organization may use just **one account** (login) for access control to all your applications as well as VPN.
41
+
3. It simplifies deployment, maintenance, audits.
43
42
44
-
**Building a secure organization has always been difficult and costly. Defguard provides a beautiful, easy-to-use (business users) and deploy (admin/DevOps) fundament to make your organization secure.**
43
+
More about [defguard's architecture and security can be found here](in-depth/architecture/).
45
44
46
45
## Features
47
46
48
47
### Remote Access with WireGuard® VPN 2FA/MFA:
49
48
50
49
*[**Multi-Factor Authentication**](admin-and-features/features-and-configuration/wireguard/multi-factor-authentication-mfa-2fa/) using our [desktop client](https://defguard.net/client)
51
50
***multiple VPN Locations** (networks/sites) - with defined access (all users or only Admin group)
52
-
* multiple [Gateways](https://github.com/DefGuard/gateway) for each VPN Location (**high availability/failover**) - supported on a cluster of routers/firewalls for Linux, FreeBSD/PFSense/OPNSense
51
+
* multiple [Gateways](https://github.com/DefGuard/gateway) for each VPN Location ([**high availability/failove**](admin-and-features/setting-up-your-instance/high-availability-and-failover.md)**r**) - supported on a cluster of routers/firewalls for Linux, FreeBSD/PFSense/OPNSense
53
52
* import your current WireGuard server configuration (with a wizard!)
54
53
*_easy_ device setup by users themselves (self-service)
55
54
* automatic IP allocation
@@ -61,7 +60,7 @@ _defguard is not an official WireGuard project, and WireGuard is a registered tr
61
60
### Identity Management:
62
61
63
62
*### [OpenID Connect](https://openid.net/developers/how-connect-works/) based SSO
64
-
* External OpenID privoders for login/account creation (Google/Microsoft/Custom)
63
+
* External [OpenID providers for login/account creation (Google/Microsoft/Custom)](enterprise/all-enteprise-features/external-openid-providers.md)
65
64
* LDAP (tested on [OpenLDAP](https://www.openldap.org/)) synchronization
66
65
* nice UI to manage users
67
66
* Users **self-service** (besides typical data management, users can revoke access to granted apps, MFA, Wireguard, etc.)
@@ -90,7 +89,7 @@ Build with [Rust](https://www.rust-lang.org/) for portability, security, and spe
90
89
91
90
### Pentested!
92
91
93
-
**Checked by professional security researchers** (see [comprehensive security report](https://defguard.net/images/decap/isec-defguard.pdf))
92
+
**Checked by professional security researchers** (see [comprehensive security report](https://defguard.net/pdf/isec-defguard.pdf))
94
93
95
94
## Guides: Jump right in
96
95
@@ -120,6 +119,6 @@ Follow our handy guides to get started on the basics as quickly as possible:
120
119
121
120
Learn the fundamentals of Defguard to get a deeper understanding of our main features:
Copy file name to clipboardExpand all lines: admin-and-features/features-and-configuration/wireguard/network-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Network overview
2
2
3
-
Once your gateway service is up and users start connecting to the VPN, upload/download summary data is stored and can be displayed in "overview" tab of Defguard web application. See [architecture overview](../../../in-depth/architecture.md) for details of core-gateway interaction.
3
+
Once your gateway service is up and users start connecting to the VPN, upload/download summary data is stored and can be displayed in "overview" tab of Defguard web application. See [architecture overview](../../../in-depth/architecture/) for details of core-gateway interaction.
4
4
5
5
On the overview page, you'll see who is currently connected and how much data each connected user transferred. You'll also see overall network transfer charts.
Copy file name to clipboardExpand all lines: features/setting-up-your-instance/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ On initial startup a new `admin` user will be created with a password which can
54
54
55
55
### Tips
56
56
57
-
See our [Configuration](configuration.md) document to check all configurable things before you start. And learn about our Architecture [here](../../in-depth/architecture.md) to see how it works.
57
+
See our [Configuration](configuration.md) document to check all configurable things before you start. And learn about our Architecture [here](../../in-depth/architecture/) to see how it works.
By design **defguard core (the main component) is meant to be deployed in your secure network segments** (available only from an internal network or by VPN) and operations that require public access (like user onboarding, enrollment, password reset, etc.) **are done using a secure proxy:**
This approach is vastly different from most (if not all) VPN/IdP solutions, which are a simple or monolithic application focus on functionalities (like generating configs, managing users, etc.) and most of the time is publicly available in the Internet for any attacker.
8
+
9
+
If you want full privacy, defguard only exposes publicly **components designed for this purpose:**
10
+
11
+
* WireGuard® gateway - to enable VPN access
12
+
* Public Proxy for secure remote processes like:
13
+
*[User enrollment and onboarding](../../admin-and-features/features-and-configuration/remote-user-enrollment/)
Below you can see Defguard architecture in [C4 model](https://c4model.com/) divided into context, containers and components.
19
+
20
+
## Context
21
+
22
+

23
+
24
+
## Containers
25
+
26
+

27
+
28
+
## Components
29
+
30
+

31
+
32
+
### Basics
33
+
34
+
Core is a Rust web server which is exposed as REST API and gRPC web server with typescript and rust clients, it handles connection to database, LDAP server and gateway. Core also handles user authorization via LDAP account. It's configurable using Environmental Variables which you can find [here](../../features/setting-up-your-instance/configuration.md).
35
+
36
+
See Rustdocs [core](https://google.com)[gateway](https://google.com).
37
+
38
+
Gateway is a small CLI gRPC client written in Rust which sends network statistics to Core server and apply network configuration changes on message from core.\
39
+
Our frontend is React app written in Typescript which allows handling all API calls via Web UI.\
40
+
See detailed gRPC docs [here](https://google.com)
41
+
42
+
### Example setup flow
43
+
44
+
After creating your network in our wizard and running our gateway program core will message it with network data. Gateway after receiving data will setup your network using wireguard commands you can think of it like a wrapper on wireguard commands which also sends network information through gRPC. After successfully setting up your network gateway will start sending your networks stats in period given as argument on gateway program start or if not provided at default which is 60 seconds. You can see all of your network statistics, connected users, bandwidth, user devices on the overview page.
0 commit comments