diff --git a/.gitbook/assets/!new.drawio.svg b/.gitbook/assets/!new.drawio.svg new file mode 100644 index 0000000..1001f09 --- /dev/null +++ b/.gitbook/assets/!new.drawio.svg @@ -0,0 +1,4 @@ + + + +
HTTPS
Wireguard
Internet
Public Proxy
VPN Gateway
Core
GRPC (TLS)
GRPC (TLS)
DMZ
firewall
Internal network
firewall
\ No newline at end of file diff --git a/.gitbook/assets/0257A34A-D5E0-4D6D-9627-EA5149B891A1.PNG b/.gitbook/assets/0257A34A-D5E0-4D6D-9627-EA5149B891A1.PNG new file mode 100644 index 0000000..73ba6d0 Binary files /dev/null and b/.gitbook/assets/0257A34A-D5E0-4D6D-9627-EA5149B891A1.PNG differ diff --git a/.gitbook/assets/1 (1).png b/.gitbook/assets/1 (1).png new file mode 100644 index 0000000..a903844 Binary files /dev/null and b/.gitbook/assets/1 (1).png differ diff --git a/.gitbook/assets/2.png b/.gitbook/assets/2.png new file mode 100644 index 0000000..938e5e6 Binary files /dev/null and b/.gitbook/assets/2.png differ diff --git a/.gitbook/assets/2fa-client.png b/.gitbook/assets/2fa-client.png new file mode 100644 index 0000000..fb18dc9 Binary files /dev/null and b/.gitbook/assets/2fa-client.png differ diff --git a/.gitbook/assets/3.png b/.gitbook/assets/3.png new file mode 100644 index 0000000..5f4b8f7 Binary files /dev/null and b/.gitbook/assets/3.png differ diff --git a/.gitbook/assets/3C830112-BE04-4B62-AFC3-0B8DF04D2C6B.PNG b/.gitbook/assets/3C830112-BE04-4B62-AFC3-0B8DF04D2C6B.PNG new file mode 100644 index 0000000..b70b8e2 Binary files /dev/null and b/.gitbook/assets/3C830112-BE04-4B62-AFC3-0B8DF04D2C6B.PNG differ diff --git a/.gitbook/assets/4.png b/.gitbook/assets/4.png new file mode 100644 index 0000000..14c3558 Binary files /dev/null and b/.gitbook/assets/4.png differ diff --git a/.gitbook/assets/5.png b/.gitbook/assets/5.png new file mode 100644 index 0000000..0e6519c Binary files /dev/null and b/.gitbook/assets/5.png differ diff --git a/.gitbook/assets/6.png b/.gitbook/assets/6.png new file mode 100644 index 0000000..b307bd6 Binary files /dev/null and b/.gitbook/assets/6.png differ diff --git a/.gitbook/assets/93A00C9F-4F80-4B55-8EEE-19A3AB957629.PNG b/.gitbook/assets/93A00C9F-4F80-4B55-8EEE-19A3AB957629.PNG new file mode 100644 index 0000000..fefedff Binary files /dev/null and b/.gitbook/assets/93A00C9F-4F80-4B55-8EEE-19A3AB957629.PNG differ diff --git a/.gitbook/assets/F64A30B5-AD40-431A-A72E-467A7EAFDC1F.PNG b/.gitbook/assets/F64A30B5-AD40-431A-A72E-467A7EAFDC1F.PNG new file mode 100644 index 0000000..131710d Binary files /dev/null and b/.gitbook/assets/F64A30B5-AD40-431A-A72E-467A7EAFDC1F.PNG differ diff --git a/.gitbook/assets/Run gateway modal.png b/.gitbook/assets/Run gateway modal.png deleted file mode 100644 index 874e9f3..0000000 Binary files a/.gitbook/assets/Run gateway modal.png and /dev/null differ diff --git a/.gitbook/assets/Screenshot 2025-08-18 at 13.35.07.png b/.gitbook/assets/Screenshot 2025-08-18 at 13.35.07.png new file mode 100644 index 0000000..0917a65 Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-08-18 at 13.35.07.png differ diff --git a/.gitbook/assets/Screenshot 2025-08-18 at 13.56.24.png b/.gitbook/assets/Screenshot 2025-08-18 at 13.56.24.png new file mode 100644 index 0000000..63b14e4 Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-08-18 at 13.56.24.png differ diff --git a/.gitbook/assets/Screenshot 2025-08-18 at 13.56.49.png b/.gitbook/assets/Screenshot 2025-08-18 at 13.56.49.png new file mode 100644 index 0000000..304af87 Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-08-18 at 13.56.49.png differ diff --git a/.gitbook/assets/Screenshot 2025-09-15 at 11.30.19.png b/.gitbook/assets/Screenshot 2025-09-15 at 11.30.19.png new file mode 100644 index 0000000..4291353 Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-09-15 at 11.30.19.png differ diff --git a/.gitbook/assets/Screenshot 2025-09-23 at 22.09.36.png b/.gitbook/assets/Screenshot 2025-09-23 at 22.09.36.png new file mode 100644 index 0000000..e4fa86a Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-09-23 at 22.09.36.png differ diff --git a/.gitbook/assets/Screenshot 2025-09-23 at 22.12.55.png b/.gitbook/assets/Screenshot 2025-09-23 at 22.12.55.png new file mode 100644 index 0000000..8240116 Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-09-23 at 22.12.55.png differ diff --git "a/.gitbook/assets/Screenshot 2025-10-01 at 5.43.32\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2025-10-01 at 5.43.32\342\200\257PM.png" new file mode 100644 index 0000000..9a1cdcd Binary files /dev/null and "b/.gitbook/assets/Screenshot 2025-10-01 at 5.43.32\342\200\257PM.png" differ diff --git "a/.gitbook/assets/Screenshot 2025-10-01 at 5.45.59\342\200\257PM.png" "b/.gitbook/assets/Screenshot 2025-10-01 at 5.45.59\342\200\257PM.png" new file mode 100644 index 0000000..fbc3ed9 Binary files /dev/null and "b/.gitbook/assets/Screenshot 2025-10-01 at 5.45.59\342\200\257PM.png" differ diff --git a/.gitbook/assets/Screenshot 2025-10-15 at 13.37.33.png b/.gitbook/assets/Screenshot 2025-10-15 at 13.37.33.png new file mode 100644 index 0000000..9c14a4f Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-10-15 at 13.37.33.png differ diff --git a/.gitbook/assets/Screenshot 2025-10-15 at 13.37.55.png b/.gitbook/assets/Screenshot 2025-10-15 at 13.37.55.png new file mode 100644 index 0000000..d13a16e Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-10-15 at 13.37.55.png differ diff --git a/.gitbook/assets/Screenshot 2025-10-24 at 11.20.24.png b/.gitbook/assets/Screenshot 2025-10-24 at 11.20.24.png new file mode 100644 index 0000000..cc49efc Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-10-24 at 11.20.24.png differ diff --git a/.gitbook/assets/Screenshot 2025-12-01 at 14.22.10.png b/.gitbook/assets/Screenshot 2025-12-01 at 14.22.10.png new file mode 100644 index 0000000..b742936 Binary files /dev/null and b/.gitbook/assets/Screenshot 2025-12-01 at 14.22.10.png differ diff --git a/.gitbook/assets/Untitled Diagram.drawio (1).png b/.gitbook/assets/Untitled Diagram.drawio (1).png new file mode 100644 index 0000000..f1f2f47 Binary files /dev/null and b/.gitbook/assets/Untitled Diagram.drawio (1).png differ diff --git a/.gitbook/assets/Untitled Diagram.drawio (1).svg b/.gitbook/assets/Untitled Diagram.drawio (1).svg new file mode 100644 index 0000000..30400f2 --- /dev/null +++ b/.gitbook/assets/Untitled Diagram.drawio (1).svg @@ -0,0 +1,4 @@ + + + +
HTTPS
Wireguard
Internet
Public Proxy
VPN Gateway
Core
GRPC (TLS)
GRPC (TLS)
DMZ
firewall
Internal network
firewall
\ No newline at end of file diff --git a/.gitbook/assets/Untitled Diagram.drawio.png b/.gitbook/assets/Untitled Diagram.drawio.png new file mode 100644 index 0000000..d1ca18d Binary files /dev/null and b/.gitbook/assets/Untitled Diagram.drawio.png differ diff --git a/.gitbook/assets/Untitled Diagram.drawio.svg b/.gitbook/assets/Untitled Diagram.drawio.svg new file mode 100644 index 0000000..5c4c138 --- /dev/null +++ b/.gitbook/assets/Untitled Diagram.drawio.svg @@ -0,0 +1,4 @@ + + + +
HTTPS
HTTPS
Wireguard
Wireguard
DMZ Firewall
DMZ Firewall
Internal Network
Firewall
Internal Network...
GRPC (TLS)
GRPC (TLS)
GRPC (TLS)
GRPC (TLS)
Internet
Internet
Public proxy
Public proxy
VPN Gateway
VPN Gateway
Core
Core
\ No newline at end of file diff --git a/.gitbook/assets/add-device-tutorial (1).png b/.gitbook/assets/add-device-tutorial (1).png new file mode 100644 index 0000000..c78cba7 Binary files /dev/null and b/.gitbook/assets/add-device-tutorial (1).png differ diff --git a/.gitbook/assets/add-device-tutorial (2).png b/.gitbook/assets/add-device-tutorial (2).png new file mode 100644 index 0000000..c78cba7 Binary files /dev/null and b/.gitbook/assets/add-device-tutorial (2).png differ diff --git a/.gitbook/assets/add-device-tutorial.png b/.gitbook/assets/add-device-tutorial.png new file mode 100644 index 0000000..c78cba7 Binary files /dev/null and b/.gitbook/assets/add-device-tutorial.png differ diff --git a/.gitbook/assets/add-instance-tutorial.png b/.gitbook/assets/add-instance-tutorial.png new file mode 100644 index 0000000..b450598 Binary files /dev/null and b/.gitbook/assets/add-instance-tutorial.png differ diff --git a/in-depth/puml/architecture-components.svg b/.gitbook/assets/architecture-components.svg similarity index 100% rename from in-depth/puml/architecture-components.svg rename to .gitbook/assets/architecture-components.svg diff --git a/in-depth/puml/architecture-containers.svg b/.gitbook/assets/architecture-containers.svg similarity index 100% rename from in-depth/puml/architecture-containers.svg rename to .gitbook/assets/architecture-containers.svg diff --git a/in-depth/puml/architecture-context.svg b/.gitbook/assets/architecture-context.svg similarity index 100% rename from in-depth/puml/architecture-context.svg rename to .gitbook/assets/architecture-context.svg diff --git a/.gitbook/assets/aws_cloudformation.png b/.gitbook/assets/aws_cloudformation.png new file mode 100644 index 0000000..bf2edcc Binary files /dev/null and b/.gitbook/assets/aws_cloudformation.png differ diff --git a/.gitbook/assets/aws_cloudformation_v2.png b/.gitbook/assets/aws_cloudformation_v2.png new file mode 100644 index 0000000..0c5de59 Binary files /dev/null and b/.gitbook/assets/aws_cloudformation_v2.png differ diff --git a/.gitbook/assets/client-check-for-updates.png b/.gitbook/assets/client-check-for-updates.png new file mode 100644 index 0000000..e61c164 Binary files /dev/null and b/.gitbook/assets/client-check-for-updates.png differ diff --git a/.gitbook/assets/defguard (1) (1).png b/.gitbook/assets/defguard (3).png similarity index 100% rename from .gitbook/assets/defguard (1) (1).png rename to .gitbook/assets/defguard (3).png diff --git a/.gitbook/assets/defguard-architecture.drawio.svg b/.gitbook/assets/defguard-architecture.drawio.svg new file mode 100644 index 0000000..270daf6 --- /dev/null +++ b/.gitbook/assets/defguard-architecture.drawio.svg @@ -0,0 +1,4 @@ + + + +
HTTPS
Wireguard
DMZ
Internal network
GRPC (TLS)
GRPC (TLS)
Internet
Public proxy
VPN Gateway
Core
\ No newline at end of file diff --git a/.gitbook/assets/defguard-desktop-add-instance.png b/.gitbook/assets/defguard-desktop-add-instance.png deleted file mode 100644 index 1acd44d..0000000 Binary files a/.gitbook/assets/defguard-desktop-add-instance.png and /dev/null differ diff --git a/.gitbook/assets/defguard-desktop-provide-url.png b/.gitbook/assets/defguard-desktop-provide-url.png deleted file mode 100644 index 32cf10a..0000000 Binary files a/.gitbook/assets/defguard-desktop-provide-url.png and /dev/null differ diff --git a/.gitbook/assets/defguard-devices-fingerprint-icon.png b/.gitbook/assets/defguard-devices-fingerprint-icon.png new file mode 100644 index 0000000..8f0427d Binary files /dev/null and b/.gitbook/assets/defguard-devices-fingerprint-icon.png differ diff --git a/.gitbook/assets/defguard-enrollment-email-desktop.png b/.gitbook/assets/defguard-enrollment-email-desktop.png deleted file mode 100644 index 56d566f..0000000 Binary files a/.gitbook/assets/defguard-enrollment-email-desktop.png and /dev/null differ diff --git a/.gitbook/assets/defguard-location-overview-tutorial (1).png b/.gitbook/assets/defguard-location-overview-tutorial (1).png new file mode 100644 index 0000000..235f32b Binary files /dev/null and b/.gitbook/assets/defguard-location-overview-tutorial (1).png differ diff --git a/.gitbook/assets/defguard-location-overview-tutorial (2).png b/.gitbook/assets/defguard-location-overview-tutorial (2).png new file mode 100644 index 0000000..235f32b Binary files /dev/null and b/.gitbook/assets/defguard-location-overview-tutorial (2).png differ diff --git a/.gitbook/assets/defguard-location-overview-tutorial.png b/.gitbook/assets/defguard-location-overview-tutorial.png new file mode 100644 index 0000000..235f32b Binary files /dev/null and b/.gitbook/assets/defguard-location-overview-tutorial.png differ diff --git a/.gitbook/assets/defguard-mobile-biometry-enabled.png b/.gitbook/assets/defguard-mobile-biometry-enabled.png new file mode 100644 index 0000000..fd8b89a Binary files /dev/null and b/.gitbook/assets/defguard-mobile-biometry-enabled.png differ diff --git a/.gitbook/assets/defguard-mobile-biometry-fail.png b/.gitbook/assets/defguard-mobile-biometry-fail.png new file mode 100644 index 0000000..4f65e69 Binary files /dev/null and b/.gitbook/assets/defguard-mobile-biometry-fail.png differ diff --git a/.gitbook/assets/defguard-mobile-biometry-setup (1).png b/.gitbook/assets/defguard-mobile-biometry-setup (1).png new file mode 100644 index 0000000..d01d4ce Binary files /dev/null and b/.gitbook/assets/defguard-mobile-biometry-setup (1).png differ diff --git a/.gitbook/assets/defguard-mobile-biometry-setup.png b/.gitbook/assets/defguard-mobile-biometry-setup.png new file mode 100644 index 0000000..31df83b Binary files /dev/null and b/.gitbook/assets/defguard-mobile-biometry-setup.png differ diff --git a/.gitbook/assets/defguard-mobile-connect-mfa (1).png b/.gitbook/assets/defguard-mobile-connect-mfa (1).png new file mode 100644 index 0000000..0ac3a42 Binary files /dev/null and b/.gitbook/assets/defguard-mobile-connect-mfa (1).png differ diff --git a/.gitbook/assets/defguard-mobile-connect-mfa.png b/.gitbook/assets/defguard-mobile-connect-mfa.png index 0ac3a42..d23cce9 100644 Binary files a/.gitbook/assets/defguard-mobile-connect-mfa.png and b/.gitbook/assets/defguard-mobile-connect-mfa.png differ diff --git a/.gitbook/assets/defguard-mobile-connecting-to-mfa-location.png b/.gitbook/assets/defguard-mobile-connecting-to-mfa-location.png new file mode 100644 index 0000000..135fcc2 Binary files /dev/null and b/.gitbook/assets/defguard-mobile-connecting-to-mfa-location.png differ diff --git a/screencasts/defguard.gif b/.gitbook/assets/defguard.gif similarity index 100% rename from screencasts/defguard.gif rename to .gitbook/assets/defguard.gif diff --git a/.gitbook/assets/detailed-view-instance (1).png b/.gitbook/assets/detailed-view-instance (1).png new file mode 100644 index 0000000..232eb5c Binary files /dev/null and b/.gitbook/assets/detailed-view-instance (1).png differ diff --git a/.gitbook/assets/detailed-view-instance.png b/.gitbook/assets/detailed-view-instance.png new file mode 100644 index 0000000..232eb5c Binary files /dev/null and b/.gitbook/assets/detailed-view-instance.png differ diff --git a/.gitbook/assets/device-list-biometry.png b/.gitbook/assets/device-list-biometry.png new file mode 100644 index 0000000..8c51c03 Binary files /dev/null and b/.gitbook/assets/device-list-biometry.png differ diff --git a/.gitbook/assets/device-name-tutorial.png b/.gitbook/assets/device-name-tutorial.png new file mode 100644 index 0000000..e2e483c Binary files /dev/null and b/.gitbook/assets/device-name-tutorial.png differ diff --git a/.gitbook/assets/enterprise-features.png b/.gitbook/assets/enterprise-features.png new file mode 100644 index 0000000..8f56940 Binary files /dev/null and b/.gitbook/assets/enterprise-features.png differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 0232e5b..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index d7a0144..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 0d50734..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 554f85c..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index d535a09..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index b4c59b6..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index d8ceeb2..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 62a91a2..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index e61b990..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1).png deleted file mode 100644 index 872c8db..0000000 Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1).png index 72b6271..4680580 100644 Binary files a/.gitbook/assets/image (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1).png differ diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png index 9bcef77..4680580 100644 Binary files a/.gitbook/assets/image (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1).png differ diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png index 8d70d0e..2d034d8 100644 Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png index b187ad8..027adaf 100644 Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ diff --git a/.gitbook/assets/image (10) (1) (1) (1) (1).png b/.gitbook/assets/image (10) (1) (1) (1) (1).png deleted file mode 100644 index 0a8d3b0..0000000 Binary files a/.gitbook/assets/image (10) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (10) (1) (1) (1).png b/.gitbook/assets/image (10) (1) (1) (1).png deleted file mode 100644 index f0d6785..0000000 Binary files a/.gitbook/assets/image (10) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (10) (1) (1).png b/.gitbook/assets/image (10) (1) (1).png deleted file mode 100644 index 3177367..0000000 Binary files a/.gitbook/assets/image (10) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (10) (1).png b/.gitbook/assets/image (10) (1).png deleted file mode 100644 index f54c60c..0000000 Binary files a/.gitbook/assets/image (10) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (10).png b/.gitbook/assets/image (10).png index 13ced10..8ca2d66 100644 Binary files a/.gitbook/assets/image (10).png and b/.gitbook/assets/image (10).png differ diff --git a/.gitbook/assets/image (100).png b/.gitbook/assets/image (100).png index 34bd6e3..5b06f11 100644 Binary files a/.gitbook/assets/image (100).png and b/.gitbook/assets/image (100).png differ diff --git a/.gitbook/assets/image (101).png b/.gitbook/assets/image (101).png index 08c83c9..8df8915 100644 Binary files a/.gitbook/assets/image (101).png and b/.gitbook/assets/image (101).png differ diff --git a/.gitbook/assets/image (102).png b/.gitbook/assets/image (102).png index 7ce4ea9..03b1841 100644 Binary files a/.gitbook/assets/image (102).png and b/.gitbook/assets/image (102).png differ diff --git a/.gitbook/assets/image (103).png b/.gitbook/assets/image (103).png index 7a016e7..2b98923 100644 Binary files a/.gitbook/assets/image (103).png and b/.gitbook/assets/image (103).png differ diff --git a/.gitbook/assets/image (104).png b/.gitbook/assets/image (104).png index c9fd008..290d157 100644 Binary files a/.gitbook/assets/image (104).png and b/.gitbook/assets/image (104).png differ diff --git a/.gitbook/assets/image (105).png b/.gitbook/assets/image (105).png index fc747af..25074a2 100644 Binary files a/.gitbook/assets/image (105).png and b/.gitbook/assets/image (105).png differ diff --git a/.gitbook/assets/image (106).png b/.gitbook/assets/image (106).png index 12f0e5f..0a8d3b0 100644 Binary files a/.gitbook/assets/image (106).png and b/.gitbook/assets/image (106).png differ diff --git a/.gitbook/assets/image (107).png b/.gitbook/assets/image (107).png index 009463b..0a8d3b0 100644 Binary files a/.gitbook/assets/image (107).png and b/.gitbook/assets/image (107).png differ diff --git a/.gitbook/assets/image (108).png b/.gitbook/assets/image (108).png index 4f16049..3ecd353 100644 Binary files a/.gitbook/assets/image (108).png and b/.gitbook/assets/image (108).png differ diff --git a/.gitbook/assets/image (109).png b/.gitbook/assets/image (109).png index fe6ae12..0d50734 100644 Binary files a/.gitbook/assets/image (109).png and b/.gitbook/assets/image (109).png differ diff --git a/.gitbook/assets/image (11) (1) (1).png b/.gitbook/assets/image (11) (1) (1).png deleted file mode 100644 index 0a8d3b0..0000000 Binary files a/.gitbook/assets/image (11) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (11) (1).png b/.gitbook/assets/image (11) (1).png deleted file mode 100644 index c4eead5..0000000 Binary files a/.gitbook/assets/image (11) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (11).png b/.gitbook/assets/image (11).png index 0a4a4af..8d70d0e 100644 Binary files a/.gitbook/assets/image (11).png and b/.gitbook/assets/image (11).png differ diff --git a/.gitbook/assets/image (110).png b/.gitbook/assets/image (110).png index 8ab0817..1d83dd8 100644 Binary files a/.gitbook/assets/image (110).png and b/.gitbook/assets/image (110).png differ diff --git a/.gitbook/assets/image (111).png b/.gitbook/assets/image (111).png index d2d027e..89db545 100644 Binary files a/.gitbook/assets/image (111).png and b/.gitbook/assets/image (111).png differ diff --git a/.gitbook/assets/image (112).png b/.gitbook/assets/image (112).png index 56b6ef6..425f607 100644 Binary files a/.gitbook/assets/image (112).png and b/.gitbook/assets/image (112).png differ diff --git a/.gitbook/assets/image (113).png b/.gitbook/assets/image (113).png index 710be56..1a0be3e 100644 Binary files a/.gitbook/assets/image (113).png and b/.gitbook/assets/image (113).png differ diff --git a/.gitbook/assets/image (114).png b/.gitbook/assets/image (114).png index ff1862a..c20014e 100644 Binary files a/.gitbook/assets/image (114).png and b/.gitbook/assets/image (114).png differ diff --git a/.gitbook/assets/image (115).png b/.gitbook/assets/image (115).png index ff1862a..9365f20 100644 Binary files a/.gitbook/assets/image (115).png and b/.gitbook/assets/image (115).png differ diff --git a/.gitbook/assets/image (116).png b/.gitbook/assets/image (116).png index 13284e7..5594cc9 100644 Binary files a/.gitbook/assets/image (116).png and b/.gitbook/assets/image (116).png differ diff --git a/.gitbook/assets/image (117).png b/.gitbook/assets/image (117).png index 7448c90..887dde0 100644 Binary files a/.gitbook/assets/image (117).png and b/.gitbook/assets/image (117).png differ diff --git a/.gitbook/assets/image (118).png b/.gitbook/assets/image (118).png index 5ecbcbc..8df7768 100644 Binary files a/.gitbook/assets/image (118).png and b/.gitbook/assets/image (118).png differ diff --git a/.gitbook/assets/image (119).png b/.gitbook/assets/image (119).png new file mode 100644 index 0000000..41c8cae Binary files /dev/null and b/.gitbook/assets/image (119).png differ diff --git a/.gitbook/assets/image (12) (1) (1).png b/.gitbook/assets/image (12) (1) (1).png deleted file mode 100644 index 3ecd353..0000000 Binary files a/.gitbook/assets/image (12) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (12) (1).png b/.gitbook/assets/image (12) (1).png deleted file mode 100644 index bbbb4a6..0000000 Binary files a/.gitbook/assets/image (12) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (12).png b/.gitbook/assets/image (12).png index 869d1d5..58e6366 100644 Binary files a/.gitbook/assets/image (12).png and b/.gitbook/assets/image (12).png differ diff --git a/.gitbook/assets/image (120).png b/.gitbook/assets/image (120).png new file mode 100644 index 0000000..41c8cae Binary files /dev/null and b/.gitbook/assets/image (120).png differ diff --git a/.gitbook/assets/image (121).png b/.gitbook/assets/image (121).png new file mode 100644 index 0000000..ff094f1 Binary files /dev/null and b/.gitbook/assets/image (121).png differ diff --git a/.gitbook/assets/image (122).png b/.gitbook/assets/image (122).png new file mode 100644 index 0000000..5bd1afa Binary files /dev/null and b/.gitbook/assets/image (122).png differ diff --git a/.gitbook/assets/image (123).png b/.gitbook/assets/image (123).png new file mode 100644 index 0000000..87763ac Binary files /dev/null and b/.gitbook/assets/image (123).png differ diff --git a/.gitbook/assets/image (124).png b/.gitbook/assets/image (124).png new file mode 100644 index 0000000..3f4dedc Binary files /dev/null and b/.gitbook/assets/image (124).png differ diff --git a/.gitbook/assets/image (125).png b/.gitbook/assets/image (125).png new file mode 100644 index 0000000..82fac13 Binary files /dev/null and b/.gitbook/assets/image (125).png differ diff --git a/.gitbook/assets/image (126).png b/.gitbook/assets/image (126).png new file mode 100644 index 0000000..e275a69 Binary files /dev/null and b/.gitbook/assets/image (126).png differ diff --git a/.gitbook/assets/image (127).png b/.gitbook/assets/image (127).png new file mode 100644 index 0000000..e275a69 Binary files /dev/null and b/.gitbook/assets/image (127).png differ diff --git a/.gitbook/assets/image (128).png b/.gitbook/assets/image (128).png new file mode 100644 index 0000000..f96a713 Binary files /dev/null and b/.gitbook/assets/image (128).png differ diff --git a/.gitbook/assets/image (129).png b/.gitbook/assets/image (129).png new file mode 100644 index 0000000..399ac16 Binary files /dev/null and b/.gitbook/assets/image (129).png differ diff --git a/.gitbook/assets/image (13) (1).png b/.gitbook/assets/image (13) (1).png deleted file mode 100644 index 0d50734..0000000 Binary files a/.gitbook/assets/image (13) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (13).png b/.gitbook/assets/image (13).png index 7f3d6fc..9bcef77 100644 Binary files a/.gitbook/assets/image (13).png and b/.gitbook/assets/image (13).png differ diff --git a/.gitbook/assets/image (130).png b/.gitbook/assets/image (130).png new file mode 100644 index 0000000..399ac16 Binary files /dev/null and b/.gitbook/assets/image (130).png differ diff --git a/.gitbook/assets/image (131).png b/.gitbook/assets/image (131).png new file mode 100644 index 0000000..6168c8b Binary files /dev/null and b/.gitbook/assets/image (131).png differ diff --git a/.gitbook/assets/image (132).png b/.gitbook/assets/image (132).png new file mode 100644 index 0000000..7c27940 Binary files /dev/null and b/.gitbook/assets/image (132).png differ diff --git a/.gitbook/assets/image (133).png b/.gitbook/assets/image (133).png new file mode 100644 index 0000000..7c27940 Binary files /dev/null and b/.gitbook/assets/image (133).png differ diff --git a/.gitbook/assets/image (134).png b/.gitbook/assets/image (134).png new file mode 100644 index 0000000..090f360 Binary files /dev/null and b/.gitbook/assets/image (134).png differ diff --git a/.gitbook/assets/image (135).png b/.gitbook/assets/image (135).png new file mode 100644 index 0000000..c467b93 Binary files /dev/null and b/.gitbook/assets/image (135).png differ diff --git a/.gitbook/assets/image (136).png b/.gitbook/assets/image (136).png new file mode 100644 index 0000000..c467b93 Binary files /dev/null and b/.gitbook/assets/image (136).png differ diff --git a/.gitbook/assets/image (137).png b/.gitbook/assets/image (137).png new file mode 100644 index 0000000..97e8513 Binary files /dev/null and b/.gitbook/assets/image (137).png differ diff --git a/.gitbook/assets/image (138).png b/.gitbook/assets/image (138).png new file mode 100644 index 0000000..97e8513 Binary files /dev/null and b/.gitbook/assets/image (138).png differ diff --git a/.gitbook/assets/image (139).png b/.gitbook/assets/image (139).png new file mode 100644 index 0000000..5b492f5 Binary files /dev/null and b/.gitbook/assets/image (139).png differ diff --git a/.gitbook/assets/image (14) (1).png b/.gitbook/assets/image (14) (1).png deleted file mode 100644 index 1d83dd8..0000000 Binary files a/.gitbook/assets/image (14) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (14).png b/.gitbook/assets/image (14).png index 79c8fc1..72b6271 100644 Binary files a/.gitbook/assets/image (14).png and b/.gitbook/assets/image (14).png differ diff --git a/.gitbook/assets/image (140).png b/.gitbook/assets/image (140).png new file mode 100644 index 0000000..5b492f5 Binary files /dev/null and b/.gitbook/assets/image (140).png differ diff --git a/.gitbook/assets/image (141).png b/.gitbook/assets/image (141).png new file mode 100644 index 0000000..5b492f5 Binary files /dev/null and b/.gitbook/assets/image (141).png differ diff --git a/.gitbook/assets/image (142).png b/.gitbook/assets/image (142).png new file mode 100644 index 0000000..3b8dcbf Binary files /dev/null and b/.gitbook/assets/image (142).png differ diff --git a/.gitbook/assets/image (143).png b/.gitbook/assets/image (143).png new file mode 100644 index 0000000..3b8dcbf Binary files /dev/null and b/.gitbook/assets/image (143).png differ diff --git a/.gitbook/assets/image (144).png b/.gitbook/assets/image (144).png new file mode 100644 index 0000000..1fb4197 Binary files /dev/null and b/.gitbook/assets/image (144).png differ diff --git a/.gitbook/assets/image (145).png b/.gitbook/assets/image (145).png new file mode 100644 index 0000000..66a70a9 Binary files /dev/null and b/.gitbook/assets/image (145).png differ diff --git a/.gitbook/assets/image (146).png b/.gitbook/assets/image (146).png new file mode 100644 index 0000000..66a70a9 Binary files /dev/null and b/.gitbook/assets/image (146).png differ diff --git a/.gitbook/assets/image (147).png b/.gitbook/assets/image (147).png new file mode 100644 index 0000000..b4babab Binary files /dev/null and b/.gitbook/assets/image (147).png differ diff --git a/.gitbook/assets/image (148).png b/.gitbook/assets/image (148).png new file mode 100644 index 0000000..d81f763 Binary files /dev/null and b/.gitbook/assets/image (148).png differ diff --git a/.gitbook/assets/image (149).png b/.gitbook/assets/image (149).png new file mode 100644 index 0000000..e84fd0d Binary files /dev/null and b/.gitbook/assets/image (149).png differ diff --git a/.gitbook/assets/image (15) (1).png b/.gitbook/assets/image (15) (1).png deleted file mode 100644 index 89db545..0000000 Binary files a/.gitbook/assets/image (15) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (15).png b/.gitbook/assets/image (15).png index b688551..872c8db 100644 Binary files a/.gitbook/assets/image (15).png and b/.gitbook/assets/image (15).png differ diff --git a/.gitbook/assets/image (150).png b/.gitbook/assets/image (150).png new file mode 100644 index 0000000..ab0cd35 Binary files /dev/null and b/.gitbook/assets/image (150).png differ diff --git a/.gitbook/assets/image (151).png b/.gitbook/assets/image (151).png new file mode 100644 index 0000000..99efc78 Binary files /dev/null and b/.gitbook/assets/image (151).png differ diff --git a/.gitbook/assets/image (152).png b/.gitbook/assets/image (152).png new file mode 100644 index 0000000..6e7e113 Binary files /dev/null and b/.gitbook/assets/image (152).png differ diff --git a/.gitbook/assets/image (153).png b/.gitbook/assets/image (153).png new file mode 100644 index 0000000..faec42b Binary files /dev/null and b/.gitbook/assets/image (153).png differ diff --git a/.gitbook/assets/image (154).png b/.gitbook/assets/image (154).png new file mode 100644 index 0000000..a6eacf8 Binary files /dev/null and b/.gitbook/assets/image (154).png differ diff --git a/.gitbook/assets/image (155).png b/.gitbook/assets/image (155).png new file mode 100644 index 0000000..28927b9 Binary files /dev/null and b/.gitbook/assets/image (155).png differ diff --git a/.gitbook/assets/image (156).png b/.gitbook/assets/image (156).png new file mode 100644 index 0000000..3f2ebef Binary files /dev/null and b/.gitbook/assets/image (156).png differ diff --git a/.gitbook/assets/image (157).png b/.gitbook/assets/image (157).png new file mode 100644 index 0000000..47cbfc9 Binary files /dev/null and b/.gitbook/assets/image (157).png differ diff --git a/.gitbook/assets/image (158).png b/.gitbook/assets/image (158).png new file mode 100644 index 0000000..58825bc Binary files /dev/null and b/.gitbook/assets/image (158).png differ diff --git a/.gitbook/assets/image (159).png b/.gitbook/assets/image (159).png new file mode 100644 index 0000000..0d1addf Binary files /dev/null and b/.gitbook/assets/image (159).png differ diff --git a/.gitbook/assets/image (16) (1).png b/.gitbook/assets/image (16) (1).png deleted file mode 100644 index 425f607..0000000 Binary files a/.gitbook/assets/image (16) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (16).png b/.gitbook/assets/image (16).png index bde9fbe..e61b990 100644 Binary files a/.gitbook/assets/image (16).png and b/.gitbook/assets/image (16).png differ diff --git a/.gitbook/assets/image (160).png b/.gitbook/assets/image (160).png new file mode 100644 index 0000000..b8cc431 Binary files /dev/null and b/.gitbook/assets/image (160).png differ diff --git a/.gitbook/assets/image (161).png b/.gitbook/assets/image (161).png new file mode 100644 index 0000000..14c78bd Binary files /dev/null and b/.gitbook/assets/image (161).png differ diff --git a/.gitbook/assets/image (162).png b/.gitbook/assets/image (162).png new file mode 100644 index 0000000..ca7e7c2 Binary files /dev/null and b/.gitbook/assets/image (162).png differ diff --git a/.gitbook/assets/image (163).png b/.gitbook/assets/image (163).png new file mode 100644 index 0000000..9803d4b Binary files /dev/null and b/.gitbook/assets/image (163).png differ diff --git a/.gitbook/assets/image (164).png b/.gitbook/assets/image (164).png new file mode 100644 index 0000000..62af934 Binary files /dev/null and b/.gitbook/assets/image (164).png differ diff --git a/.gitbook/assets/image (165).png b/.gitbook/assets/image (165).png new file mode 100644 index 0000000..b597c19 Binary files /dev/null and b/.gitbook/assets/image (165).png differ diff --git a/.gitbook/assets/image (166).png b/.gitbook/assets/image (166).png new file mode 100644 index 0000000..3cf8333 Binary files /dev/null and b/.gitbook/assets/image (166).png differ diff --git a/.gitbook/assets/image (70) (1).png b/.gitbook/assets/image (167).png similarity index 100% rename from .gitbook/assets/image (70) (1).png rename to .gitbook/assets/image (167).png diff --git a/.gitbook/assets/image (168).png b/.gitbook/assets/image (168).png new file mode 100644 index 0000000..f066e0c Binary files /dev/null and b/.gitbook/assets/image (168).png differ diff --git a/.gitbook/assets/image (169).png b/.gitbook/assets/image (169).png new file mode 100644 index 0000000..3927591 Binary files /dev/null and b/.gitbook/assets/image (169).png differ diff --git a/.gitbook/assets/image (17) (1).png b/.gitbook/assets/image (17) (1).png deleted file mode 100644 index 1a0be3e..0000000 Binary files a/.gitbook/assets/image (17) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (17).png b/.gitbook/assets/image (17).png index aabb145..05db960 100644 Binary files a/.gitbook/assets/image (17).png and b/.gitbook/assets/image (17).png differ diff --git a/.gitbook/assets/image (170).png b/.gitbook/assets/image (170).png new file mode 100644 index 0000000..3991cd4 Binary files /dev/null and b/.gitbook/assets/image (170).png differ diff --git a/.gitbook/assets/image (171).png b/.gitbook/assets/image (171).png new file mode 100644 index 0000000..203bf50 Binary files /dev/null and b/.gitbook/assets/image (171).png differ diff --git a/.gitbook/assets/image (172).png b/.gitbook/assets/image (172).png new file mode 100644 index 0000000..87dec64 Binary files /dev/null and b/.gitbook/assets/image (172).png differ diff --git a/.gitbook/assets/image (173).png b/.gitbook/assets/image (173).png new file mode 100644 index 0000000..89f60da Binary files /dev/null and b/.gitbook/assets/image (173).png differ diff --git a/.gitbook/assets/image (174).png b/.gitbook/assets/image (174).png new file mode 100644 index 0000000..035c95a Binary files /dev/null and b/.gitbook/assets/image (174).png differ diff --git a/.gitbook/assets/image (175).png b/.gitbook/assets/image (175).png new file mode 100644 index 0000000..6f62005 Binary files /dev/null and b/.gitbook/assets/image (175).png differ diff --git a/.gitbook/assets/image (176).png b/.gitbook/assets/image (176).png new file mode 100644 index 0000000..71d07d8 Binary files /dev/null and b/.gitbook/assets/image (176).png differ diff --git a/.gitbook/assets/image (177).png b/.gitbook/assets/image (177).png new file mode 100644 index 0000000..5f4070e Binary files /dev/null and b/.gitbook/assets/image (177).png differ diff --git a/.gitbook/assets/image (178).png b/.gitbook/assets/image (178).png new file mode 100644 index 0000000..1497608 Binary files /dev/null and b/.gitbook/assets/image (178).png differ diff --git a/.gitbook/assets/image (179).png b/.gitbook/assets/image (179).png new file mode 100644 index 0000000..70f2742 Binary files /dev/null and b/.gitbook/assets/image (179).png differ diff --git a/.gitbook/assets/image (18) (1).png b/.gitbook/assets/image (18) (1).png deleted file mode 100644 index c20014e..0000000 Binary files a/.gitbook/assets/image (18) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (18).png b/.gitbook/assets/image (18).png index d0638ba..485d57b 100644 Binary files a/.gitbook/assets/image (18).png and b/.gitbook/assets/image (18).png differ diff --git a/.gitbook/assets/image (180).png b/.gitbook/assets/image (180).png new file mode 100644 index 0000000..650dc2d Binary files /dev/null and b/.gitbook/assets/image (180).png differ diff --git a/.gitbook/assets/image (181).png b/.gitbook/assets/image (181).png new file mode 100644 index 0000000..1da67db Binary files /dev/null and b/.gitbook/assets/image (181).png differ diff --git a/.gitbook/assets/image (182).png b/.gitbook/assets/image (182).png new file mode 100644 index 0000000..a45d948 Binary files /dev/null and b/.gitbook/assets/image (182).png differ diff --git a/.gitbook/assets/image (183).png b/.gitbook/assets/image (183).png new file mode 100644 index 0000000..f940fe3 Binary files /dev/null and b/.gitbook/assets/image (183).png differ diff --git a/.gitbook/assets/image (184).png b/.gitbook/assets/image (184).png new file mode 100644 index 0000000..9b9d1d1 Binary files /dev/null and b/.gitbook/assets/image (184).png differ diff --git a/.gitbook/assets/image (185).png b/.gitbook/assets/image (185).png new file mode 100644 index 0000000..38acef8 Binary files /dev/null and b/.gitbook/assets/image (185).png differ diff --git a/.gitbook/assets/image (186).png b/.gitbook/assets/image (186).png new file mode 100644 index 0000000..317e723 Binary files /dev/null and b/.gitbook/assets/image (186).png differ diff --git a/.gitbook/assets/image (187).png b/.gitbook/assets/image (187).png new file mode 100644 index 0000000..002ca5a Binary files /dev/null and b/.gitbook/assets/image (187).png differ diff --git a/.gitbook/assets/image (188).png b/.gitbook/assets/image (188).png new file mode 100644 index 0000000..002ca5a Binary files /dev/null and b/.gitbook/assets/image (188).png differ diff --git a/.gitbook/assets/image (189).png b/.gitbook/assets/image (189).png new file mode 100644 index 0000000..039cf1a Binary files /dev/null and b/.gitbook/assets/image (189).png differ diff --git a/.gitbook/assets/image (19) (1).png b/.gitbook/assets/image (19) (1).png deleted file mode 100644 index 9365f20..0000000 Binary files a/.gitbook/assets/image (19) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (19).png b/.gitbook/assets/image (19).png index 62a91a2..34b8115 100644 Binary files a/.gitbook/assets/image (19).png and b/.gitbook/assets/image (19).png differ diff --git a/.gitbook/assets/image (190).png b/.gitbook/assets/image (190).png new file mode 100644 index 0000000..1596b74 Binary files /dev/null and b/.gitbook/assets/image (190).png differ diff --git a/.gitbook/assets/image (191).png b/.gitbook/assets/image (191).png new file mode 100644 index 0000000..608256c Binary files /dev/null and b/.gitbook/assets/image (191).png differ diff --git a/.gitbook/assets/image (192).png b/.gitbook/assets/image (192).png new file mode 100644 index 0000000..f0fc4e9 Binary files /dev/null and b/.gitbook/assets/image (192).png differ diff --git a/.gitbook/assets/image (193).png b/.gitbook/assets/image (193).png new file mode 100644 index 0000000..cfda4c3 Binary files /dev/null and b/.gitbook/assets/image (193).png differ diff --git a/.gitbook/assets/image (194).png b/.gitbook/assets/image (194).png new file mode 100644 index 0000000..ad5d4e5 Binary files /dev/null and b/.gitbook/assets/image (194).png differ diff --git a/.gitbook/assets/image (195).png b/.gitbook/assets/image (195).png new file mode 100644 index 0000000..34bd6e3 Binary files /dev/null and b/.gitbook/assets/image (195).png differ diff --git a/.gitbook/assets/image (196).png b/.gitbook/assets/image (196).png new file mode 100644 index 0000000..08c83c9 Binary files /dev/null and b/.gitbook/assets/image (196).png differ diff --git a/.gitbook/assets/image (197).png b/.gitbook/assets/image (197).png new file mode 100644 index 0000000..7ce4ea9 Binary files /dev/null and b/.gitbook/assets/image (197).png differ diff --git a/.gitbook/assets/image (198).png b/.gitbook/assets/image (198).png new file mode 100644 index 0000000..7a016e7 Binary files /dev/null and b/.gitbook/assets/image (198).png differ diff --git a/.gitbook/assets/image (199).png b/.gitbook/assets/image (199).png new file mode 100644 index 0000000..c9fd008 Binary files /dev/null and b/.gitbook/assets/image (199).png differ diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 0232e5b..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 0591cec..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 486c7bf..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 7ae3c98..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png deleted file mode 100644 index a240ab7..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1).png deleted file mode 100644 index b4c59b6..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1).png deleted file mode 100644 index 9fdd14b..0000000 Binary files a/.gitbook/assets/image (2) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1) (1).png b/.gitbook/assets/image (2) (1) (1).png deleted file mode 100644 index 05db960..0000000 Binary files a/.gitbook/assets/image (2) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png index 58e6366..2d29ff3 100644 Binary files a/.gitbook/assets/image (2) (1).png and b/.gitbook/assets/image (2) (1).png differ diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png index a159aea..02bd340 100644 Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ diff --git a/.gitbook/assets/image (20).png b/.gitbook/assets/image (20).png index 5594cc9..ca9674d 100644 Binary files a/.gitbook/assets/image (20).png and b/.gitbook/assets/image (20).png differ diff --git a/.gitbook/assets/image (200).png b/.gitbook/assets/image (200).png new file mode 100644 index 0000000..fc747af Binary files /dev/null and b/.gitbook/assets/image (200).png differ diff --git a/.gitbook/assets/image (201).png b/.gitbook/assets/image (201).png new file mode 100644 index 0000000..38aaeba Binary files /dev/null and b/.gitbook/assets/image (201).png differ diff --git a/.gitbook/assets/image (202).png b/.gitbook/assets/image (202).png new file mode 100644 index 0000000..354b3a3 Binary files /dev/null and b/.gitbook/assets/image (202).png differ diff --git a/.gitbook/assets/image (203).png b/.gitbook/assets/image (203).png new file mode 100644 index 0000000..960376d Binary files /dev/null and b/.gitbook/assets/image (203).png differ diff --git a/.gitbook/assets/image (204).png b/.gitbook/assets/image (204).png new file mode 100644 index 0000000..d8d2030 Binary files /dev/null and b/.gitbook/assets/image (204).png differ diff --git a/.gitbook/assets/image (205).png b/.gitbook/assets/image (205).png new file mode 100644 index 0000000..b524788 Binary files /dev/null and b/.gitbook/assets/image (205).png differ diff --git a/.gitbook/assets/image (206).png b/.gitbook/assets/image (206).png new file mode 100644 index 0000000..dafc2e6 Binary files /dev/null and b/.gitbook/assets/image (206).png differ diff --git a/.gitbook/assets/image (207).png b/.gitbook/assets/image (207).png new file mode 100644 index 0000000..b00ba95 Binary files /dev/null and b/.gitbook/assets/image (207).png differ diff --git a/.gitbook/assets/image (208).png b/.gitbook/assets/image (208).png new file mode 100644 index 0000000..a6c695b Binary files /dev/null and b/.gitbook/assets/image (208).png differ diff --git a/.gitbook/assets/image (209).png b/.gitbook/assets/image (209).png new file mode 100644 index 0000000..cf2fb76 Binary files /dev/null and b/.gitbook/assets/image (209).png differ diff --git a/.gitbook/assets/image (21).png b/.gitbook/assets/image (21).png index 887dde0..57a8797 100644 Binary files a/.gitbook/assets/image (21).png and b/.gitbook/assets/image (21).png differ diff --git a/.gitbook/assets/image (210).png b/.gitbook/assets/image (210).png new file mode 100644 index 0000000..f0f8163 Binary files /dev/null and b/.gitbook/assets/image (210).png differ diff --git a/.gitbook/assets/image (211).png b/.gitbook/assets/image (211).png new file mode 100644 index 0000000..7f4e6c9 Binary files /dev/null and b/.gitbook/assets/image (211).png differ diff --git a/.gitbook/assets/image (212).png b/.gitbook/assets/image (212).png new file mode 100644 index 0000000..7f5f435 Binary files /dev/null and b/.gitbook/assets/image (212).png differ diff --git a/.gitbook/assets/image (213).png b/.gitbook/assets/image (213).png new file mode 100644 index 0000000..66abb0b Binary files /dev/null and b/.gitbook/assets/image (213).png differ diff --git a/.gitbook/assets/image (214).png b/.gitbook/assets/image (214).png new file mode 100644 index 0000000..cb712e1 Binary files /dev/null and b/.gitbook/assets/image (214).png differ diff --git a/.gitbook/assets/image (215).png b/.gitbook/assets/image (215).png new file mode 100644 index 0000000..cdb2478 Binary files /dev/null and b/.gitbook/assets/image (215).png differ diff --git a/.gitbook/assets/image (216).png b/.gitbook/assets/image (216).png new file mode 100644 index 0000000..90c1d5c Binary files /dev/null and b/.gitbook/assets/image (216).png differ diff --git a/.gitbook/assets/image (217).png b/.gitbook/assets/image (217).png new file mode 100644 index 0000000..f7e0f69 Binary files /dev/null and b/.gitbook/assets/image (217).png differ diff --git a/.gitbook/assets/image (218).png b/.gitbook/assets/image (218).png new file mode 100644 index 0000000..3e6fe2c Binary files /dev/null and b/.gitbook/assets/image (218).png differ diff --git a/.gitbook/assets/image (22).png b/.gitbook/assets/image (22).png index 8df7768..b21aaf0 100644 Binary files a/.gitbook/assets/image (22).png and b/.gitbook/assets/image (22).png differ diff --git a/.gitbook/assets/image (23).png b/.gitbook/assets/image (23).png index 41c8cae..e2193d4 100644 Binary files a/.gitbook/assets/image (23).png and b/.gitbook/assets/image (23).png differ diff --git a/.gitbook/assets/image (24).png b/.gitbook/assets/image (24).png index 41c8cae..13ced10 100644 Binary files a/.gitbook/assets/image (24).png and b/.gitbook/assets/image (24).png differ diff --git a/.gitbook/assets/image (25).png b/.gitbook/assets/image (25).png index ff094f1..0a4a4af 100644 Binary files a/.gitbook/assets/image (25).png and b/.gitbook/assets/image (25).png differ diff --git a/.gitbook/assets/image (26).png b/.gitbook/assets/image (26).png index 5bd1afa..869d1d5 100644 Binary files a/.gitbook/assets/image (26).png and b/.gitbook/assets/image (26).png differ diff --git a/.gitbook/assets/image (27).png b/.gitbook/assets/image (27).png index 87763ac..7f3d6fc 100644 Binary files a/.gitbook/assets/image (27).png and b/.gitbook/assets/image (27).png differ diff --git a/.gitbook/assets/image (28).png b/.gitbook/assets/image (28).png index 3f4dedc..79c8fc1 100644 Binary files a/.gitbook/assets/image (28).png and b/.gitbook/assets/image (28).png differ diff --git a/.gitbook/assets/image (29).png b/.gitbook/assets/image (29).png index 82fac13..b688551 100644 Binary files a/.gitbook/assets/image (29).png and b/.gitbook/assets/image (29).png differ diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png deleted file mode 100644 index 0232e5b..0000000 Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png deleted file mode 100644 index 2ef0b30..0000000 Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1).png deleted file mode 100644 index 1d25e0f..0000000 Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1).png deleted file mode 100644 index df75d4d..0000000 Binary files a/.gitbook/assets/image (3) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3) (1) (1).png b/.gitbook/assets/image (3) (1) (1).png deleted file mode 100644 index bcae4d5..0000000 Binary files a/.gitbook/assets/image (3) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png index 485d57b..cd8bf27 100644 Binary files a/.gitbook/assets/image (3) (1).png and b/.gitbook/assets/image (3) (1).png differ diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png index 8ca2d66..faf29fa 100644 Binary files a/.gitbook/assets/image (3).png and b/.gitbook/assets/image (3).png differ diff --git a/.gitbook/assets/image (30).png b/.gitbook/assets/image (30).png index e275a69..bde9fbe 100644 Binary files a/.gitbook/assets/image (30).png and b/.gitbook/assets/image (30).png differ diff --git a/.gitbook/assets/image (31).png b/.gitbook/assets/image (31).png index e275a69..aabb145 100644 Binary files a/.gitbook/assets/image (31).png and b/.gitbook/assets/image (31).png differ diff --git a/.gitbook/assets/image (32).png b/.gitbook/assets/image (32).png index f96a713..d0638ba 100644 Binary files a/.gitbook/assets/image (32).png and b/.gitbook/assets/image (32).png differ diff --git a/.gitbook/assets/image (33).png b/.gitbook/assets/image (33).png index 399ac16..62a91a2 100644 Binary files a/.gitbook/assets/image (33).png and b/.gitbook/assets/image (33).png differ diff --git a/.gitbook/assets/image (34).png b/.gitbook/assets/image (34).png index 399ac16..62a91a2 100644 Binary files a/.gitbook/assets/image (34).png and b/.gitbook/assets/image (34).png differ diff --git a/.gitbook/assets/image (35).png b/.gitbook/assets/image (35).png index 6168c8b..9fdd14b 100644 Binary files a/.gitbook/assets/image (35).png and b/.gitbook/assets/image (35).png differ diff --git a/.gitbook/assets/image (36).png b/.gitbook/assets/image (36).png index 7c27940..bcae4d5 100644 Binary files a/.gitbook/assets/image (36).png and b/.gitbook/assets/image (36).png differ diff --git a/.gitbook/assets/image (37).png b/.gitbook/assets/image (37).png index 7c27940..bb2e3ef 100644 Binary files a/.gitbook/assets/image (37).png and b/.gitbook/assets/image (37).png differ diff --git a/.gitbook/assets/image (38).png b/.gitbook/assets/image (38).png index 090f360..bb2e3ef 100644 Binary files a/.gitbook/assets/image (38).png and b/.gitbook/assets/image (38).png differ diff --git a/.gitbook/assets/image (39).png b/.gitbook/assets/image (39).png index c467b93..4c9dd0a 100644 Binary files a/.gitbook/assets/image (39).png and b/.gitbook/assets/image (39).png differ diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png deleted file mode 100644 index 5b06f11..0000000 Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1).png deleted file mode 100644 index 7a40504..0000000 Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (4) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1).png deleted file mode 100644 index 027a24b..0000000 Binary files a/.gitbook/assets/image (4) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (4) (1) (1).png b/.gitbook/assets/image (4) (1) (1).png deleted file mode 100644 index dad40b6..0000000 Binary files a/.gitbook/assets/image (4) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png index bb2e3ef..cd8bf27 100644 Binary files a/.gitbook/assets/image (4) (1).png and b/.gitbook/assets/image (4) (1).png differ diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png index 34b8115..88c1b81 100644 Binary files a/.gitbook/assets/image (4).png and b/.gitbook/assets/image (4).png differ diff --git a/.gitbook/assets/image (40).png b/.gitbook/assets/image (40).png index c467b93..4c9dd0a 100644 Binary files a/.gitbook/assets/image (40).png and b/.gitbook/assets/image (40).png differ diff --git a/.gitbook/assets/image (41).png b/.gitbook/assets/image (41).png index 97e8513..c0288ec 100644 Binary files a/.gitbook/assets/image (41).png and b/.gitbook/assets/image (41).png differ diff --git a/.gitbook/assets/image (42).png b/.gitbook/assets/image (42).png index 97e8513..c0288ec 100644 Binary files a/.gitbook/assets/image (42).png and b/.gitbook/assets/image (42).png differ diff --git a/.gitbook/assets/image (43).png b/.gitbook/assets/image (43).png index 5b492f5..f54c60c 100644 Binary files a/.gitbook/assets/image (43).png and b/.gitbook/assets/image (43).png differ diff --git a/.gitbook/assets/image (44).png b/.gitbook/assets/image (44).png index 5b492f5..d8ceeb2 100644 Binary files a/.gitbook/assets/image (44).png and b/.gitbook/assets/image (44).png differ diff --git a/.gitbook/assets/image (45).png b/.gitbook/assets/image (45).png index 5b492f5..b4c59b6 100644 Binary files a/.gitbook/assets/image (45).png and b/.gitbook/assets/image (45).png differ diff --git a/.gitbook/assets/image (46).png b/.gitbook/assets/image (46).png index 3b8dcbf..b4c59b6 100644 Binary files a/.gitbook/assets/image (46).png and b/.gitbook/assets/image (46).png differ diff --git a/.gitbook/assets/image (47).png b/.gitbook/assets/image (47).png index 3b8dcbf..a240ab7 100644 Binary files a/.gitbook/assets/image (47).png and b/.gitbook/assets/image (47).png differ diff --git a/.gitbook/assets/image (48).png b/.gitbook/assets/image (48).png index 1fb4197..d535a09 100644 Binary files a/.gitbook/assets/image (48).png and b/.gitbook/assets/image (48).png differ diff --git a/.gitbook/assets/image (49).png b/.gitbook/assets/image (49).png index 66a70a9..7ae3c98 100644 Binary files a/.gitbook/assets/image (49).png and b/.gitbook/assets/image (49).png differ diff --git a/.gitbook/assets/image (5) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1) (1) (1).png deleted file mode 100644 index 8df8915..0000000 Binary files a/.gitbook/assets/image (5) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (5) (1) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1) (1).png deleted file mode 100644 index 615f80f..0000000 Binary files a/.gitbook/assets/image (5) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (5) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1).png deleted file mode 100644 index 291e00c..0000000 Binary files a/.gitbook/assets/image (5) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (5) (1) (1).png b/.gitbook/assets/image (5) (1) (1).png deleted file mode 100644 index 2da65ed..0000000 Binary files a/.gitbook/assets/image (5) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (5) (1).png b/.gitbook/assets/image (5) (1).png deleted file mode 100644 index bb2e3ef..0000000 Binary files a/.gitbook/assets/image (5) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png index eefc69c..f9141d5 100644 Binary files a/.gitbook/assets/image (5).png and b/.gitbook/assets/image (5).png differ diff --git a/.gitbook/assets/image (50).png b/.gitbook/assets/image (50).png index 66a70a9..df75d4d 100644 Binary files a/.gitbook/assets/image (50).png and b/.gitbook/assets/image (50).png differ diff --git a/.gitbook/assets/image (51).png b/.gitbook/assets/image (51).png index b4babab..dad40b6 100644 Binary files a/.gitbook/assets/image (51).png and b/.gitbook/assets/image (51).png differ diff --git a/.gitbook/assets/image (52).png b/.gitbook/assets/image (52).png index d81f763..2da65ed 100644 Binary files a/.gitbook/assets/image (52).png and b/.gitbook/assets/image (52).png differ diff --git a/.gitbook/assets/image (53).png b/.gitbook/assets/image (53).png index e84fd0d..ed9aefd 100644 Binary files a/.gitbook/assets/image (53).png and b/.gitbook/assets/image (53).png differ diff --git a/.gitbook/assets/image (54).png b/.gitbook/assets/image (54).png index ab0cd35..17210e9 100644 Binary files a/.gitbook/assets/image (54).png and b/.gitbook/assets/image (54).png differ diff --git a/.gitbook/assets/image (55).png b/.gitbook/assets/image (55).png index 99efc78..66fcb0d 100644 Binary files a/.gitbook/assets/image (55).png and b/.gitbook/assets/image (55).png differ diff --git a/.gitbook/assets/image (56).png b/.gitbook/assets/image (56).png index 6e7e113..538de99 100644 Binary files a/.gitbook/assets/image (56).png and b/.gitbook/assets/image (56).png differ diff --git a/.gitbook/assets/image (57).png b/.gitbook/assets/image (57).png index faec42b..3177367 100644 Binary files a/.gitbook/assets/image (57).png and b/.gitbook/assets/image (57).png differ diff --git a/.gitbook/assets/image (58).png b/.gitbook/assets/image (58).png index a6eacf8..554f85c 100644 Binary files a/.gitbook/assets/image (58).png and b/.gitbook/assets/image (58).png differ diff --git a/.gitbook/assets/image (59).png b/.gitbook/assets/image (59).png index 28927b9..486c7bf 100644 Binary files a/.gitbook/assets/image (59).png and b/.gitbook/assets/image (59).png differ diff --git a/.gitbook/assets/image (6) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (6) (1) (1) (1) (1) (1).png deleted file mode 100644 index 03b1841..0000000 Binary files a/.gitbook/assets/image (6) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (6) (1) (1) (1) (1).png b/.gitbook/assets/image (6) (1) (1) (1) (1).png deleted file mode 100644 index 119ce53..0000000 Binary files a/.gitbook/assets/image (6) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (6) (1) (1) (1).png b/.gitbook/assets/image (6) (1) (1) (1).png deleted file mode 100644 index 35e92a8..0000000 Binary files a/.gitbook/assets/image (6) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (6) (1) (1).png b/.gitbook/assets/image (6) (1) (1).png deleted file mode 100644 index ed9aefd..0000000 Binary files a/.gitbook/assets/image (6) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (6) (1).png b/.gitbook/assets/image (6) (1).png deleted file mode 100644 index 4c9dd0a..0000000 Binary files a/.gitbook/assets/image (6) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png index ca9674d..16f6463 100644 Binary files a/.gitbook/assets/image (6).png and b/.gitbook/assets/image (6).png differ diff --git a/.gitbook/assets/image (60).png b/.gitbook/assets/image (60).png index 3f2ebef..1d25e0f 100644 Binary files a/.gitbook/assets/image (60).png and b/.gitbook/assets/image (60).png differ diff --git a/.gitbook/assets/image (61).png b/.gitbook/assets/image (61).png index 47cbfc9..027a24b 100644 Binary files a/.gitbook/assets/image (61).png and b/.gitbook/assets/image (61).png differ diff --git a/.gitbook/assets/image (62).png b/.gitbook/assets/image (62).png index 58825bc..291e00c 100644 Binary files a/.gitbook/assets/image (62).png and b/.gitbook/assets/image (62).png differ diff --git a/.gitbook/assets/image (63).png b/.gitbook/assets/image (63).png index 0d1addf..35e92a8 100644 Binary files a/.gitbook/assets/image (63).png and b/.gitbook/assets/image (63).png differ diff --git a/.gitbook/assets/image (64).png b/.gitbook/assets/image (64).png index b8cc431..adc8355 100644 Binary files a/.gitbook/assets/image (64).png and b/.gitbook/assets/image (64).png differ diff --git a/.gitbook/assets/image (65).png b/.gitbook/assets/image (65).png index 14c78bd..f81b5bb 100644 Binary files a/.gitbook/assets/image (65).png and b/.gitbook/assets/image (65).png differ diff --git a/.gitbook/assets/image (66).png b/.gitbook/assets/image (66).png index ca7e7c2..f81b5bb 100644 Binary files a/.gitbook/assets/image (66).png and b/.gitbook/assets/image (66).png differ diff --git a/.gitbook/assets/image (67).png b/.gitbook/assets/image (67).png index 9803d4b..f0d6785 100644 Binary files a/.gitbook/assets/image (67).png and b/.gitbook/assets/image (67).png differ diff --git a/.gitbook/assets/image (68).png b/.gitbook/assets/image (68).png index 62af934..c4eead5 100644 Binary files a/.gitbook/assets/image (68).png and b/.gitbook/assets/image (68).png differ diff --git a/.gitbook/assets/image (69).png b/.gitbook/assets/image (69).png index b597c19..bbbb4a6 100644 Binary files a/.gitbook/assets/image (69).png and b/.gitbook/assets/image (69).png differ diff --git a/.gitbook/assets/image (7) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (7) (1) (1) (1) (1) (1).png deleted file mode 100644 index 2b98923..0000000 Binary files a/.gitbook/assets/image (7) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (7) (1) (1) (1) (1).png b/.gitbook/assets/image (7) (1) (1) (1) (1).png deleted file mode 100644 index 0d25390..0000000 Binary files a/.gitbook/assets/image (7) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (7) (1) (1) (1).png b/.gitbook/assets/image (7) (1) (1) (1).png deleted file mode 100644 index adc8355..0000000 Binary files a/.gitbook/assets/image (7) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (7) (1) (1).png b/.gitbook/assets/image (7) (1) (1).png deleted file mode 100644 index 17210e9..0000000 Binary files a/.gitbook/assets/image (7) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (7) (1).png b/.gitbook/assets/image (7) (1).png deleted file mode 100644 index 4c9dd0a..0000000 Binary files a/.gitbook/assets/image (7) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png index 57a8797..45de2cb 100644 Binary files a/.gitbook/assets/image (7).png and b/.gitbook/assets/image (7).png differ diff --git a/.gitbook/assets/image (70).png b/.gitbook/assets/image (70).png index 3cf8333..0d50734 100644 Binary files a/.gitbook/assets/image (70).png and b/.gitbook/assets/image (70).png differ diff --git a/.gitbook/assets/image (71).png b/.gitbook/assets/image (71).png index f066e0c..d7a0144 100644 Binary files a/.gitbook/assets/image (71).png and b/.gitbook/assets/image (71).png differ diff --git a/.gitbook/assets/image (72).png b/.gitbook/assets/image (72).png index 3ec0417..0591cec 100644 Binary files a/.gitbook/assets/image (72).png and b/.gitbook/assets/image (72).png differ diff --git a/.gitbook/assets/image (73).png b/.gitbook/assets/image (73).png index 3927591..2ef0b30 100644 Binary files a/.gitbook/assets/image (73).png and b/.gitbook/assets/image (73).png differ diff --git a/.gitbook/assets/image (74).png b/.gitbook/assets/image (74).png index 12f0e5f..7a40504 100644 Binary files a/.gitbook/assets/image (74).png and b/.gitbook/assets/image (74).png differ diff --git a/.gitbook/assets/image (75).png b/.gitbook/assets/image (75).png index 3991cd4..615f80f 100644 Binary files a/.gitbook/assets/image (75).png and b/.gitbook/assets/image (75).png differ diff --git a/.gitbook/assets/image (76).png b/.gitbook/assets/image (76).png index 203bf50..119ce53 100644 Binary files a/.gitbook/assets/image (76).png and b/.gitbook/assets/image (76).png differ diff --git a/.gitbook/assets/image (77).png b/.gitbook/assets/image (77).png index 87dec64..0d25390 100644 Binary files a/.gitbook/assets/image (77).png and b/.gitbook/assets/image (77).png differ diff --git a/.gitbook/assets/image (78).png b/.gitbook/assets/image (78).png index 89f60da..8364770 100644 Binary files a/.gitbook/assets/image (78).png and b/.gitbook/assets/image (78).png differ diff --git a/.gitbook/assets/image (79).png b/.gitbook/assets/image (79).png index 035c95a..0232e5b 100644 Binary files a/.gitbook/assets/image (79).png and b/.gitbook/assets/image (79).png differ diff --git a/.gitbook/assets/image (8) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (8) (1) (1) (1) (1) (1).png deleted file mode 100644 index 290d157..0000000 Binary files a/.gitbook/assets/image (8) (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (8) (1) (1) (1) (1).png b/.gitbook/assets/image (8) (1) (1) (1) (1).png deleted file mode 100644 index 8364770..0000000 Binary files a/.gitbook/assets/image (8) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (8) (1) (1) (1).png b/.gitbook/assets/image (8) (1) (1) (1).png deleted file mode 100644 index f81b5bb..0000000 Binary files a/.gitbook/assets/image (8) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (8) (1) (1).png b/.gitbook/assets/image (8) (1) (1).png deleted file mode 100644 index 66fcb0d..0000000 Binary files a/.gitbook/assets/image (8) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (8) (1).png b/.gitbook/assets/image (8) (1).png deleted file mode 100644 index c0288ec..0000000 Binary files a/.gitbook/assets/image (8) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png index b21aaf0..8166234 100644 Binary files a/.gitbook/assets/image (8).png and b/.gitbook/assets/image (8).png differ diff --git a/.gitbook/assets/image (80).png b/.gitbook/assets/image (80).png index 6f62005..0232e5b 100644 Binary files a/.gitbook/assets/image (80).png and b/.gitbook/assets/image (80).png differ diff --git a/.gitbook/assets/image (81).png b/.gitbook/assets/image (81).png index 71d07d8..0232e5b 100644 Binary files a/.gitbook/assets/image (81).png and b/.gitbook/assets/image (81).png differ diff --git a/.gitbook/assets/image (82).png b/.gitbook/assets/image (82).png index 5f4070e..1311e08 100644 Binary files a/.gitbook/assets/image (82).png and b/.gitbook/assets/image (82).png differ diff --git a/.gitbook/assets/image (83).png b/.gitbook/assets/image (83).png index 1497608..b187ad8 100644 Binary files a/.gitbook/assets/image (83).png and b/.gitbook/assets/image (83).png differ diff --git a/.gitbook/assets/image (84).png b/.gitbook/assets/image (84).png index 70f2742..a159aea 100644 Binary files a/.gitbook/assets/image (84).png and b/.gitbook/assets/image (84).png differ diff --git a/.gitbook/assets/image (85).png b/.gitbook/assets/image (85).png index 650dc2d..eefc69c 100644 Binary files a/.gitbook/assets/image (85).png and b/.gitbook/assets/image (85).png differ diff --git a/.gitbook/assets/image (86).png b/.gitbook/assets/image (86).png index 1da67db..3ec0417 100644 Binary files a/.gitbook/assets/image (86).png and b/.gitbook/assets/image (86).png differ diff --git a/.gitbook/assets/image (87).png b/.gitbook/assets/image (87).png index a45d948..12f0e5f 100644 Binary files a/.gitbook/assets/image (87).png and b/.gitbook/assets/image (87).png differ diff --git a/.gitbook/assets/image (88).png b/.gitbook/assets/image (88).png index f940fe3..12f0e5f 100644 Binary files a/.gitbook/assets/image (88).png and b/.gitbook/assets/image (88).png differ diff --git a/.gitbook/assets/image (89).png b/.gitbook/assets/image (89).png index 9b9d1d1..009463b 100644 Binary files a/.gitbook/assets/image (89).png and b/.gitbook/assets/image (89).png differ diff --git a/.gitbook/assets/image (9) (1) (1) (1) (1).png b/.gitbook/assets/image (9) (1) (1) (1) (1).png deleted file mode 100644 index 25074a2..0000000 Binary files a/.gitbook/assets/image (9) (1) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (9) (1) (1) (1).png b/.gitbook/assets/image (9) (1) (1) (1).png deleted file mode 100644 index f81b5bb..0000000 Binary files a/.gitbook/assets/image (9) (1) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (9) (1) (1).png b/.gitbook/assets/image (9) (1) (1).png deleted file mode 100644 index 538de99..0000000 Binary files a/.gitbook/assets/image (9) (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (9) (1).png b/.gitbook/assets/image (9) (1).png deleted file mode 100644 index c0288ec..0000000 Binary files a/.gitbook/assets/image (9) (1).png and /dev/null differ diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png index e2193d4..5ecbcbc 100644 Binary files a/.gitbook/assets/image (9).png and b/.gitbook/assets/image (9).png differ diff --git a/.gitbook/assets/image (90).png b/.gitbook/assets/image (90).png index 38acef8..4f16049 100644 Binary files a/.gitbook/assets/image (90).png and b/.gitbook/assets/image (90).png differ diff --git a/.gitbook/assets/image (91).png b/.gitbook/assets/image (91).png index 317e723..fe6ae12 100644 Binary files a/.gitbook/assets/image (91).png and b/.gitbook/assets/image (91).png differ diff --git a/.gitbook/assets/image (92).png b/.gitbook/assets/image (92).png index 002ca5a..8ab0817 100644 Binary files a/.gitbook/assets/image (92).png and b/.gitbook/assets/image (92).png differ diff --git a/.gitbook/assets/image (93).png b/.gitbook/assets/image (93).png index 002ca5a..d2d027e 100644 Binary files a/.gitbook/assets/image (93).png and b/.gitbook/assets/image (93).png differ diff --git a/.gitbook/assets/image (94).png b/.gitbook/assets/image (94).png index 039cf1a..56b6ef6 100644 Binary files a/.gitbook/assets/image (94).png and b/.gitbook/assets/image (94).png differ diff --git a/.gitbook/assets/image (95).png b/.gitbook/assets/image (95).png index 1596b74..710be56 100644 Binary files a/.gitbook/assets/image (95).png and b/.gitbook/assets/image (95).png differ diff --git a/.gitbook/assets/image (96).png b/.gitbook/assets/image (96).png index 608256c..ff1862a 100644 Binary files a/.gitbook/assets/image (96).png and b/.gitbook/assets/image (96).png differ diff --git a/.gitbook/assets/image (97).png b/.gitbook/assets/image (97).png index f0fc4e9..ff1862a 100644 Binary files a/.gitbook/assets/image (97).png and b/.gitbook/assets/image (97).png differ diff --git a/.gitbook/assets/image (98).png b/.gitbook/assets/image (98).png index cfda4c3..13284e7 100644 Binary files a/.gitbook/assets/image (98).png and b/.gitbook/assets/image (98).png differ diff --git a/.gitbook/assets/image (99).png b/.gitbook/assets/image (99).png index ad5d4e5..7448c90 100644 Binary files a/.gitbook/assets/image (99).png and b/.gitbook/assets/image (99).png differ diff --git a/.gitbook/assets/image-3.png b/.gitbook/assets/image-3.png deleted file mode 100644 index fbf7671..0000000 Binary files a/.gitbook/assets/image-3.png and /dev/null differ diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png index 1311e08..c083684 100644 Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ diff --git a/.gitbook/assets/image3333.png b/.gitbook/assets/image3333.png new file mode 100644 index 0000000..63384df Binary files /dev/null and b/.gitbook/assets/image3333.png differ diff --git a/.gitbook/assets/instance-grid-view-tutorial.png b/.gitbook/assets/instance-grid-view-tutorial.png new file mode 100644 index 0000000..a1e4137 Binary files /dev/null and b/.gitbook/assets/instance-grid-view-tutorial.png differ diff --git a/.gitbook/assets/internal-mfa-option.png b/.gitbook/assets/internal-mfa-option.png new file mode 100644 index 0000000..2691ee7 Binary files /dev/null and b/.gitbook/assets/internal-mfa-option.png differ diff --git a/.gitbook/assets/keepalive-interval.png b/.gitbook/assets/keepalive-interval.png new file mode 100644 index 0000000..392cb6f Binary files /dev/null and b/.gitbook/assets/keepalive-interval.png differ diff --git a/.gitbook/assets/location-overview-detailed-tutorial.png b/.gitbook/assets/location-overview-detailed-tutorial.png new file mode 100644 index 0000000..8c12efd Binary files /dev/null and b/.gitbook/assets/location-overview-detailed-tutorial.png differ diff --git a/.gitbook/assets/mfa-modal.png b/.gitbook/assets/mfa-modal.png new file mode 100644 index 0000000..08e3b61 Binary files /dev/null and b/.gitbook/assets/mfa-modal.png differ diff --git a/.gitbook/assets/mobile-client-desktop-modal (1).png b/.gitbook/assets/mobile-client-desktop-modal (1).png new file mode 100644 index 0000000..5924e08 Binary files /dev/null and b/.gitbook/assets/mobile-client-desktop-modal (1).png differ diff --git a/.gitbook/assets/mobile-client-desktop-modal.png b/.gitbook/assets/mobile-client-desktop-modal.png new file mode 100644 index 0000000..5924e08 Binary files /dev/null and b/.gitbook/assets/mobile-client-desktop-modal.png differ diff --git a/.gitbook/assets/new-mfa-method-mobile.png b/.gitbook/assets/new-mfa-method-mobile.png new file mode 100644 index 0000000..27f4f5a Binary files /dev/null and b/.gitbook/assets/new-mfa-method-mobile.png differ diff --git a/.gitbook/assets/obraz (1) (1).png b/.gitbook/assets/obraz (1) (1).png deleted file mode 100644 index c1c7aab..0000000 Binary files a/.gitbook/assets/obraz (1) (1).png and /dev/null differ diff --git a/.gitbook/assets/obraz (10).png b/.gitbook/assets/obraz (10).png index 07a0db2..3587d3a 100644 Binary files a/.gitbook/assets/obraz (10).png and b/.gitbook/assets/obraz (10).png differ diff --git a/.gitbook/assets/obraz (11).png b/.gitbook/assets/obraz (11).png index 8a2a114..5cc3571 100644 Binary files a/.gitbook/assets/obraz (11).png and b/.gitbook/assets/obraz (11).png differ diff --git a/.gitbook/assets/obraz (12).png b/.gitbook/assets/obraz (12).png index a736da3..07a0db2 100644 Binary files a/.gitbook/assets/obraz (12).png and b/.gitbook/assets/obraz (12).png differ diff --git a/.gitbook/assets/obraz (13).png b/.gitbook/assets/obraz (13).png index 507ffc8..8a2a114 100644 Binary files a/.gitbook/assets/obraz (13).png and b/.gitbook/assets/obraz (13).png differ diff --git a/.gitbook/assets/obraz (14).png b/.gitbook/assets/obraz (14).png new file mode 100644 index 0000000..a736da3 Binary files /dev/null and b/.gitbook/assets/obraz (14).png differ diff --git a/.gitbook/assets/obraz (15).png b/.gitbook/assets/obraz (15).png new file mode 100644 index 0000000..507ffc8 Binary files /dev/null and b/.gitbook/assets/obraz (15).png differ diff --git a/.gitbook/assets/obraz (2) (1).png b/.gitbook/assets/obraz (2) (1).png deleted file mode 100644 index c1c7aab..0000000 Binary files a/.gitbook/assets/obraz (2) (1).png and /dev/null differ diff --git a/.gitbook/assets/obraz (4).png b/.gitbook/assets/obraz (4).png index fc325c7..c1c7aab 100644 Binary files a/.gitbook/assets/obraz (4).png and b/.gitbook/assets/obraz (4).png differ diff --git a/.gitbook/assets/obraz (5).png b/.gitbook/assets/obraz (5).png index 104e1a5..c1c7aab 100644 Binary files a/.gitbook/assets/obraz (5).png and b/.gitbook/assets/obraz (5).png differ diff --git a/.gitbook/assets/obraz (6).png b/.gitbook/assets/obraz (6).png index 5a56d90..fc325c7 100644 Binary files a/.gitbook/assets/obraz (6).png and b/.gitbook/assets/obraz (6).png differ diff --git a/.gitbook/assets/obraz (7).png b/.gitbook/assets/obraz (7).png index bac0da8..104e1a5 100644 Binary files a/.gitbook/assets/obraz (7).png and b/.gitbook/assets/obraz (7).png differ diff --git a/.gitbook/assets/obraz (8).png b/.gitbook/assets/obraz (8).png index 3587d3a..5a56d90 100644 Binary files a/.gitbook/assets/obraz (8).png and b/.gitbook/assets/obraz (8).png differ diff --git a/.gitbook/assets/obraz (9).png b/.gitbook/assets/obraz (9).png index 5cc3571..bac0da8 100644 Binary files a/.gitbook/assets/obraz (9).png and b/.gitbook/assets/obraz (9).png differ diff --git a/in-depth/puml/openid-flow.svg b/.gitbook/assets/openid-flow.svg similarity index 100% rename from in-depth/puml/openid-flow.svg rename to .gitbook/assets/openid-flow.svg diff --git a/.gitbook/assets/remote-desktop-enrollment (1).png b/.gitbook/assets/remote-desktop-enrollment (1).png new file mode 100644 index 0000000..4815f71 Binary files /dev/null and b/.gitbook/assets/remote-desktop-enrollment (1).png differ diff --git a/.gitbook/assets/remote-desktop-enrollment.png b/.gitbook/assets/remote-desktop-enrollment.png new file mode 100644 index 0000000..4815f71 Binary files /dev/null and b/.gitbook/assets/remote-desktop-enrollment.png differ diff --git a/.gitbook/assets/user-device-list-tutorial.png b/.gitbook/assets/user-device-list-tutorial.png new file mode 100644 index 0000000..475c55c Binary files /dev/null and b/.gitbook/assets/user-device-list-tutorial.png differ diff --git a/.github/workflows/puml.yaml b/.github/workflows/puml.yaml deleted file mode 100644 index 4be49ec..0000000 --- a/.github/workflows/puml.yaml +++ /dev/null @@ -1,21 +0,0 @@ -name: generate plantuml files -on: - push: - branches: - - docs -jobs: - generate_plantuml: - runs-on: ubuntu-latest - name: plantuml - steps: - - name: checkout - uses: actions/checkout@v1 - with: - fetch-depth: 1 - - name: plantuml - id: plantuml - uses: grassedge/generate-plantuml-action@v1.5 - with: - message: "Render PlantUML files" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e43b0f9..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store diff --git a/README.md b/README.md index e529bae..1ae1b33 100644 --- a/README.md +++ b/README.md @@ -8,19 +8,19 @@ Welcome to the Defguard documentation. Here, you'll learn how to explore the ful Briefly describes Defguard and its features. * [Getting started](getting-started/one-line-install.md)\ Lets you quickly set up your own Defguard instance to explore its features an user interface. -* [Features and configuration](admin-and-features/overview.md)\ +* [Features and configuration](features/overview.md)\ Helps you, as a future Defguard administrator, get familiar with all of defguard's features and how to configure them to suit your needs. * [Deployment strategies](deployment-strategies/setting-up-your-instance.md)\ Walks you through the most common deployment strategies to help you set up your Defguard instance as a production-grade solution. * [Enterprise](enterprise/enterprise-features.md)\ Outlines the benefits, terms, and purchasing process for the Defguard Enterprise license. -* [Using Defguard (for end users)](help/overwiew.md)\ +* [Using Defguard (for end users)](using-defguard-for-end-users/overwiew.md)\ Helps you, as a Defguard end user, get familiar with the client applications and their features so you can quickly connect to your Defguard instance. * [Tutorials](tutorials/step-by-step-setting-up-a-vpn-server/)\ A collection of step-by-step guides with clear examples and helpful screenshots to make the setup process smooth and enjoyable. -* [In depth](in-depth/architecture-decision-records/README.md)\ +* [In depth](in-depth/architecture-decision-records/)\ In-depth information about the platform and its development, reflecting our commitment to transparency. * [For developers](for-developers/contributing.md)\ All the information you need to become a Defguard contributor — join us in building a better solution. -* [Resources](resources/troubleshooting/README.md)\ +* [Resources](support-1/troubleshooting/)\ A collection of essential resources, including troubleshooting guides, API documentation, and more. diff --git a/SUMMARY.md b/SUMMARY.md index 93076b4..55657d1 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -12,126 +12,146 @@ * [One-line install script](getting-started/one-line-install.md) -## Features - -* [Overview](admin-and-features/overview.md) -* [Zero-Trust VPN with 2FA/MFA](admin-and-features/wireguard/README.md) - * [Create/Manage VPN Location](admin-and-features/wireguard/create-your-vpn-network.md) - * [Network overview](admin-and-features/wireguard/network-overview.md) - * [Executing custom gateway commands](admin-and-features/wireguard/executing-custom-gateway-commands.md) - * [Multi-Factor Authentication (MFA/2FA)](admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/README.md) - * [MFA Architecture](admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/architecture.md) - * [Remote desktop client configuration](admin-and-features/wireguard/remote-desktop-activation.md) - * [DNS and domains](admin-and-features/wireguard/dns-and-domains.md) - * [VPN & Client behaviour customization](admin-and-features/wireguard/behavior-customization.md) -* [Remote user enrollment](admin-and-features/remote-user-enrollment/README.md) - * [User onboarding after enrollment](admin-and-features/remote-user-enrollment/user-onboarding-after-enrollment.md) - * [Automatic (real time) desktop client configuration & sync](admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md) -* [Internal SSO (OpenID Connect Provider)](admin-and-features/openid-connect/README.md) - * [Portainer](admin-and-features/openid-connect/portainer.md) - * [Grafana setup](admin-and-features/openid-connect/grafana-setup.md) - * [Proxmox](admin-and-features/openid-connect/proxmox.md) - * [Matrix / Synapse](admin-and-features/openid-connect/proxmox-1.md) - * [Django](admin-and-features/openid-connect/django.md) - * [MinIO](admin-and-features/openid-connect/minio.md) - * [Vault](admin-and-features/openid-connect/vault.md) -* [External SSO/OpenID providers](admin-and-features/external-openid-providers/README.md) - * [Google](admin-and-features/external-openid-providers/google.md) - * [Microsoft](admin-and-features/external-openid-providers/microsoft.md) - * [Okta](admin-and-features/external-openid-providers/okta.md) - * [JumpCloud](admin-and-features/external-openid-providers/jumpcloud.md) - * [Keycloak](admin-and-features/external-openid-providers/keycloak.md) - * [Zitadel](admin-and-features/external-openid-providers/zitadel.md) - * [Custom](admin-and-features/external-openid-providers/custom.md) - * [External OIDC secure enrollment](admin-and-features/external-openid-providers/external-oidc-secure-enrollment.md) -* [LDAP and Active Directory integration](admin-and-features/ldap-and-active-directory-integration/README.md) - * [Configuration](admin-and-features/ldap-and-active-directory-integration/configuration.md) - * [Settings table](admin-and-features/ldap-and-active-directory-integration/settings-table.md) - * [Two-way LDAP and Active Directory synchronization](admin-and-features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md) -* [Access Control List](admin-and-features/access-control-list/README.md) - * [ACL Aliases](admin-and-features/access-control-list/acl-aliases.md) - * [Implementation Details](admin-and-features/access-control-list/firewall-internals.md) -* [Network devices](admin-and-features/network-devices.md) -* [Activity & Audit logs](activity-log/README.md) - * [Audit Log Streaming to SIEM systems](activity-log/activity-log-streaming/README.md) - * [Supported SIEM systems integrations](activity-log/activity-log-streaming/activity-log-integrations/README.md) - * [Vector integration guide](activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md) - * [Logstash integration guide](activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md) -* [Notifications](notifications/README.md) - * [Email notifications](notifications/setting-up-smtp-for-email-notifications.md) - * [Gateway notifications](notifications/gateway-notifications.md) - * [New version notifications](notifications/new-version-notifications.md) -* [Integrations](integrations/README.md) - * [Webhooks](integrations/webhooks.md) - * [REST API](integrations/api-tokens.md) -* [OPSense Configuartion](admin-and-features/setting-up-your-instance/gateway/README.md) -* [SSH Authentication](admin-and-features/ssh-authentication.md) -* [Forward auth](admin-and-features/forward-auth.md) -* [YubiKey Provisioning](admin-and-features/yubikey-provisioning.md) -* [User SNAT bindings](user-snat-bindings.md) +## Features + +* [Overview](features/overview.md) +* [Zero-Trust VPN with 2FA/MFA](features/wireguard/README.md) + * [Create/Manage VPN Location](features/wireguard/create-your-vpn-network.md) + * [Network overview](features/wireguard/network-overview.md) + * [Multi-Factor Authentication (MFA/2FA)](features/wireguard/multi-factor-authentication-mfa-2fa/README.md) + * [Internal SSO based MFA](features/wireguard/multi-factor-authentication-mfa-2fa/internal-sso-based-mfa.md) + * [External SSO based MFA](features/wireguard/multi-factor-authentication-mfa-2fa/external-sso-based-mfa.md) + * [Remote desktop client configuration](features/wireguard/remote-desktop-activation.md) + * [VPN & Client behaviour customization](features/wireguard/behavior-customization.md) + * [DNS and domains](features/wireguard/dns-and-domains.md) + * [Executing custom gateway commands](features/wireguard/executing-custom-gateway-commands.md) +* [Remote user enrollment](features/remote-user-enrollment/README.md) + * [User onboarding after enrollment](features/remote-user-enrollment/user-onboarding-after-enrollment.md) + * [Automatic (real time) desktop client configuration & sync](features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md) +* [Internal SSO (OpenID Connect Provider)](features/openid-connect/README.md) + * [Portainer](features/openid-connect/portainer.md) + * [Grafana setup](features/openid-connect/grafana-setup.md) + * [Proxmox](features/openid-connect/proxmox.md) + * [Matrix / Synapse](features/openid-connect/proxmox-1.md) + * [Django](features/openid-connect/django.md) + * [MinIO](features/openid-connect/minio.md) + * [Vault](features/openid-connect/vault.md) +* [External SSO/OpenID providers](features/external-openid-providers/README.md) + * [Google](features/external-openid-providers/google.md) + * [Microsoft](features/external-openid-providers/microsoft.md) + * [Okta](features/external-openid-providers/okta.md) + * [JumpCloud](features/external-openid-providers/jumpcloud.md) + * [Keycloak](features/external-openid-providers/keycloak.md) + * [Zitadel](features/external-openid-providers/zitadel.md) + * [Custom](features/external-openid-providers/custom.md) + * [External OIDC secure enrollment](features/external-openid-providers/external-oidc-secure-enrollment.md) +* [LDAP and Active Directory integration](features/ldap-and-active-directory-integration/README.md) + * [Configuration](features/ldap-and-active-directory-integration/configuration.md) + * [Settings table](features/ldap-and-active-directory-integration/settings-table.md) + * [Two-way LDAP and Active Directory synchronization](features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md) +* [Access Control List](features/access-control-list/README.md) + * [ACL Aliases](features/access-control-list/acl-aliases.md) + * [Implementation Details](features/access-control-list/firewall-internals.md) +* [Network devices](features/network-devices.md) +* [Activity & Audit logs](features/activity-log/README.md) + * [Audit Log Streaming to SIEM systems](features/activity-log/activity-log-streaming/README.md) + * [Supported SIEM systems integrations](features/activity-log/activity-log-streaming/activity-log-integrations/README.md) + * [Vector integration guide](features/activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md) + * [Logstash integration guide](features/activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md) +* [Notifications](features/notifications/README.md) + * [Email notifications](features/notifications/setting-up-smtp-for-email-notifications.md) + * [Gateway notifications](features/notifications/gateway-notifications.md) + * [New version notifications](features/notifications/new-version-notifications.md) +* [Integrations](features/integrations/README.md) + * [Webhooks](features/integrations/webhooks.md) + * [REST API](features/integrations/api-tokens.md) +* [OPSense Configuartion](features/gateway.md) +* [SSH Authentication](features/ssh-authentication.md) +* [Forward auth](features/forward-auth.md) +* [YubiKey Provisioning](features/yubikey-provisioning.md) +* [User SNAT bindings](features/user-snat-bindings.md) ## Deployment strategies * [Overview](deployment-strategies/setting-up-your-instance.md) -* [Standalone package based installation](deployment-strategies/standalone-package-based-installation.md) -* [Docker images and tags](deployment-strategies/docker-images-and-tags.md) +* [Deploying to Production](deployment-strategies/deploying-to-production.md) +* [Hardware, OS, network and firewall recommendations](deployment-strategies/hardware-os-network-and-firewall-recommendations.md) +* [Standalone package based installation](deployment-strategies/standalone-package-based-installation/README.md) + * [Defguard APT repository](deployment-strategies/standalone-package-based-installation/defguard-apt-repository.md) * [Docker Compose](deployment-strategies/docker-compose.md) * [Kubernetes](deployment-strategies/kubernetes.md) * [Terraform](deployment-strategies/terraform.md) -* [AMIs and AWS CloudFormation](deployment-strategies/amis-and-aws-cloudformation.md) +* [Amazon Machine Image (AMI)](deployment-strategies/amis-and-aws-cloudformation/README.md) + * [Configuring HTTPS using AWS Certificate Manager](deployment-strategies/amis-and-aws-cloudformation/configuring-https-using-aws-certificate-manager.md) +* [Adding a location and getting a Gateway token](deployment-strategies/gateway.md) +* [Configuration](deployment-strategies/configuration.md) +* [Running Gateway on OPNsense firewall](deployment-strategies/running-gateway-on-opnsense-firewall.md) +* [Running Gateway on MikroTik routers](deployment-strategies/running-gateway-on-mikrotik-routers.md) +* [Reverse Proxy configuration using Nginx](deployment-strategies/reverse-proxy-configuration-using-nginx.md) * [High Availability and Failover](deployment-strategies/high-availability-and-failover.md) -* [Upgrading](deployment-strategies/upgrading.md) +* [Updating and version compatibility](deployment-strategies/updating-and-version-compatibility.md) +* [Migration guides](deployment-strategies/upgrading.md) +* [Using a userspace wireguard-go implementation](deployment-strategies/using-a-userspace-wireguard-go-implementation.md) * [Pre-production and development releases](deployment-strategies/pre-production-and-development-releases.md) -* [Gateway](deployment-strategies/gateway/README.md) - * [Running gateway on MikroTik routers](deployment-strategies/gateway/running-gateway-on-mikrotik-routers.md) * [Securing gRPC communication](deployment-strategies/grpc-ssl-communication.md) - -*** - -* [OpenID RSA key](openid-rsa-key.md) -* [Health check](health-check.md) -* [Configuration](configuration.md) +* [Using RSA instead of HMAC for OpenID key](deployment-strategies/openid-rsa-key.md) +* [Health check](deployment-strategies/health-check.md) +* [Production deployment verification guide](deployment-strategies/production-deployment-verification-guide.md) ## Enterprise * [License](enterprise/license.md) * [Enterprise features](enterprise/enterprise-features.md) -## Using Defguard (for end users) - -* [Overview](help/overwiew.md) -* [Mobile Client](help/mobile-client/README.md) - * [Adding new Instance](help/mobile-client/instance-adding.md) - * [Connecting to Instance](help/mobile-client/instance-connect.md) - * [Managing your Instance](help/mobile-client/instance-manage.md) -* [Desktop Client](help/desktop-client/README.md) - * [Instance configuration](help/desktop-client/instance-configuration.md) - * [Using Multi-Factor Authentication (MFA)](help/desktop-client/using-multi-factor-authentication-mfa.md) -* [CLI Client](help/cli-client.md) -* [Other WireGuard® Clients](help/adding-wireguard-devices/README.md) - * [Configuring a device for new VPN Location manually](help/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md) -* [Password change / Reset](help/changing-your-password.md) -* [Enrollment & Onboarding](help/enrollment/README.md) - * [With internal Defguard SSO](help/enrollment/with-internal-defguard-sso.md) - * [With external SSO (Google/Microsoft/Custom)](help/enrollment/with-external-sso-google-microsoft-custom.md) -* [Setting up 2FA/MFA](help/setting-up-2fa-mfa.md) +## Using Defguard (for end users) + +* [Overview](using-defguard-for-end-users/overwiew.md) +* [Mobile Client](using-defguard-for-end-users/mobile-client/README.md) + * [Adding new Instance](using-defguard-for-end-users/mobile-client/instance-adding.md) + * [Connecting to Instance](using-defguard-for-end-users/mobile-client/instance-connect.md) + * [Managing your Instance](using-defguard-for-end-users/mobile-client/instance-manage.md) + * [Using Biometry as MFA method](using-defguard-for-end-users/mobile-client/using-biometry-as-mfa-method.md) +* [Desktop Client](using-defguard-for-end-users/desktop-client/README.md) + * [Instance configuration](using-defguard-for-end-users/desktop-client/instance-configuration.md) + * [Using Multi-Factor Authentication (MFA)](using-defguard-for-end-users/desktop-client/using-multi-factor-authentication-mfa.md) +* [CLI Client](using-defguard-for-end-users/cli-client.md) +* [Other WireGuard® Clients](using-defguard-for-end-users/adding-wireguard-devices/README.md) + * [Configuring a device for new VPN Location manually](using-defguard-for-end-users/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md) +* [Password change / Reset](using-defguard-for-end-users/changing-your-password.md) +* [Enrollment & Onboarding](using-defguard-for-end-users/enrollment/README.md) + * [With internal Defguard SSO](using-defguard-for-end-users/enrollment/with-internal-defguard-sso.md) + * [With external SSO (Google/Microsoft/Custom)](using-defguard-for-end-users/enrollment/with-external-sso-google-microsoft-custom.md) +* [Setting up 2FA/MFA](using-defguard-for-end-users/setting-up-2fa-mfa.md) + +## Support + +* [How to submit an issue](support-1/how-to-submit-an-issue.md) +* [Troubleshooting Guide](support-1/troubleshooting/README.md) + * [Sending support information](support-1/troubleshooting/sending-support-info.md) + * [Client Windows installer exit codes](support-1/troubleshooting/windows-installer-exit-codes.md) + * [Client "All traffic" connection issues](support-1/troubleshooting/client-all-traffic-connection-issues.md) + * [WebAuthn security keys](support-1/troubleshooting/webauthn-security-keys.md) + * [Desktop Client connectivity issues](support-1/troubleshooting/desktop-client-connectivity-issues.md) +* [Server migration and licence transfer](support-1/server-migration-and-licence-transfer.md) ## Tutorials * [Step by step setting up a VPN server](tutorials/step-by-step-setting-up-a-vpn-server/README.md) * [Adding additional VPN locations](tutorials/step-by-step-setting-up-a-vpn-server/adding-additional-vpn-locations.md) + * [Custom HTTPS Configuration](tutorials/step-by-step-setting-up-a-vpn-server/custom-https-configuration.md) ## In depth +* [Architecture](in-depth/architecture/README.md) + * [How do VPN statistics work](in-depth/architecture/how-do-vpn-statistics-work.md) + * [Security concepts](in-depth/architecture/security-concepts.md) + * [MFA Architecture](in-depth/architecture/architecture.md) * [Architecture Decision Records](in-depth/architecture-decision-records/README.md) * [1.5](in-depth/architecture-decision-records/1.5.md) * [1.4](in-depth/architecture-decision-records/1.4.md) * [1.3](in-depth/architecture-decision-records/1.3.md) * [Pre-1.3](in-depth/architecture-decision-records/pre-1.3.md) -* [Architecture](in-depth/architecture/README.md) - * [How do VPN statistics work](in-depth/architecture/how-do-vpn-statistics-work.md) - * [Security concepts](in-depth/architecture/security-concepts.md) -* [Roadmap](features/roadmap.md) +* [Roadmap](in-depth/roadmap.md) * [Release cycle](in-depth/release-cycle.md) ## For Developers @@ -143,11 +163,3 @@ * [Adding translations](for-developers/dev-env-setup/translations-web/adding-translations.md) * [Translations (client)](for-developers/dev-env-setup/translations-client/README.md) * [Adding translations](for-developers/dev-env-setup/translations-client/adding-translations.md) - -## Resources - -* [Troubleshooting Guide](resources/troubleshooting/README.md) - * [Sending support information](resources/troubleshooting/sending-support-info.md) - * [Client Windows installer exit codes](resources/troubleshooting/windows-installer-exit-codes.md) - * [Client "All traffic" connection issues](resources/troubleshooting/client-all-traffic-connection-issues.md) - * [WebAuthn security keys](resources/troubleshooting/webauthn-security-keys.md) diff --git a/about/about-defguard.md b/about/about-defguard.md index 147ba9f..6df0465 100644 --- a/about/about-defguard.md +++ b/about/about-defguard.md @@ -1,48 +1,101 @@ # About Defguard -{% embed url="https://www.youtube.com/watch?v=4PF7edMGBwk" %} - ## What is Defguard? -Defguard is a **comprehensive Remote Access Management solution** incorporating in one solution: +Defguard is an enterprise-ready platform built on top of WireGuard®, designed to make private networking simple, scalable, and secure. + +It integrates identity management, policy enforcement, and secure access provisioning into a single, cohesive system - whether you deploy it in your own infrastructure or in the cloud. + +Defguard helps organizations: + +* Manage VPN access for distributed teams. +* Integrate identity sources such as LDAP, Active Directory, or external OIDC providers. +* Enforce multi-factor authentication (MFA). +* Automate device enrollment. +* Simplify network segmentation and access control using policies. + +For a detailed list of features go to the [Features overview](/broken/pages/dt2GFcP4faJtj82iTYQw) section. + +## Why choose Defguard? + +Defguard was built with security, transparency, and control at its core. + +Here’s why organizations choose it over traditional VPN management or proprietary systems: + +#### 🏗️ Self-Hosted and Privacy-Focused + +Defguard can be deployed on your own infrastructure, giving you full ownership of data and keys. + +No external cloud relay, no hidden telemetry - your traffic and user data never leave your environment. + +#### 🔒 Zero Trust by Design + +Authentication and authorization with MFA happen continuously, not just at login. + +Access decisions are policy-driven and identity-based, reducing lateral movement risks and insider threats. + +#### 🔑 True MFA (Multi-Factor Authentication) for VPN Access + +Most applications provide MFA only when opening or logging into the app - not during the VPN connection itself. + +Defguard takes a different approach. + +Thanks to its internal Identity Provider (IdP), Defguard enforces real, [connection-level MFA](../in-depth/architecture/architecture.md), ensuring that multi-factor authentication is applied as part of the VPN handshake - not just the UI login step. + +Even when using [external OIDC](../features/external-openid-providers/) providers (Google, Microsoft, or a custom one supported by Defguard), Defguard still applies its internal IdP-based MFA for actual VPN session authentication. + +This design delivers true, end-to-end verification that protects both users and infrastructure from credential theft or token replay attacks. + +#### ⚙️ Open, Extensible, and Interoperable + +Defguard integrates cleanly with your existing identity stack - LDAP, AD, or OIDC - without forcing vendor lock-in. + +Its webhooks make it easy to extend or automate within DevOps workflows. -* True Zero-Trust [WireGuard® VPN with 2FA/Multi-Factor Authentication](../admin-and-features/wireguard/), -* Identity Management with [SSO based on OpenID Identity Provider](../admin-and-features/openid-connect/), -* Account Lifecycle management with [secure remote account onboarding](../help/enrollment/). +#### 🧭 Simple for Users, Powerful for Admins -*** +End users enjoy one-click VPN access via the Defguard apps, while admins gain granular control through a modern web interface. -**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.** +#### 🧩 Modular and Scalable -*** +Each component (Core, Gateway, Proxy) can be deployed independently, allowing flexible scaling - from a single office setup to multi-region enterprise deployments. -Defguard is a true Zero-Trust [WireGuard® VPN with 2FA/Multi-Factor Authentication](../admin-and-features/wireguard/), as each connection requires MFA (and not only when logging in into the client application like other solutions): +#### 🧱 Security Built into the Development Process -
+Defguard follows modern software supply-chain and security best practices: -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). +* Signed container images and binaries. +* Publishing SBOMs. +* Scanning for and reacting to vulnerabilities on a daily basis. +* Regular penetration testing. -### Basic security concept +#### 🌱 Open Source and Transparent by Design -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) and only services that need to be exposed to the Internet - should be exposed in a controled (DMZ) network segments: +Defguard is open source - you can inspect, audit, and contribute to the code that powers your infrastructure. -

Internet, DMZ & Internal network segments

+We believe transparency is a cornerstone of security and trust. -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. +Our approach goes beyond code: -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!** +* Open organisation: we share our [development roadmap](https://github.com/orgs/DefGuard/projects/5), [security practices](https://defguard.net/security/), and [architecture decisions](../in-depth/architecture-decision-records/) publicly. +* Open processes: our builds, signing, and release workflows are verifiable end-to-end. +* Open security scans: we publish [penetration tests reports](https://defguard.net/pentesting/), and [daily SBOM CVE scan reports](https://defguard.net/sbom/). +* Community-driven development: [we welcome feedback](../support.md#found-a-bug-need-a-feature), issues, and [contributions from users](../for-developers/contributing.md) and integrators. +* No black boxes: every component, from Core to Gateway, can be deployed, configured, and verified independently. -### Incorporating IdP and VPN in one solution +Defguard’s openness ensures trust through verifiability, not promises — aligning with the principles of modern, transparent cybersecurity. -Incorporating IDM, ALM, VPN has also other advantages: +## How is Defguard built? -1. Internal IdP with 2FA/MFA enables us to provide [**real VPN 2FA/MFA**](../admin-and-features/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](../admin-and-features/external-openid-providers/) (Google/Microsoft/Custom - which Defguard supports), we still use our internal IdP for 2FA/MFA. -2. Your organization may use just **one account** (login) for access control to all your applications as well as VPN. -3. It simplifies deployment, maintenance, audits. +Defguard consists of several modular services that can be deployed together or separately, depending on your architecture: -More about [defguard's architecture and security can be found here](../in-depth/architecture/). +* Core – the main service responsible for user management, authentication, configuration storage, and integrations. +* VPN Gateway – provides the VPN endpoint for clients; runs WireGuard and synchronizes configuration with Core. +* Public Proxy – an optional component that handles communication between the Core and external services or clients in restricted environments. +* Desktop and Mobile Apps – client applications for macOS, Windows, Linux, Android, and iOS, allowing users to connect easily and securely. -## Pentested! +This layered architecture with a strict division of responsibility guarantees maximum security (verified by multiple in-depth [penetration tests](https://defguard.net/pentesting/)). -**Checked by professional security researchers** (see [comprehensive security report](https://defguard.net/pdf/isec-defguard.pdf)) +
+For the reasoning behind this division, please refer to the [Architecture documentation](../in-depth/architecture/). diff --git a/about/features-overview.md b/about/features-overview.md index d195a04..8555ab1 100644 --- a/about/features-overview.md +++ b/about/features-overview.md @@ -1,69 +1,109 @@ # Features overview -### Remote Access with WireGuard® VPN 2FA/MFA: - -* [**Multi-Factor Authentication**](../admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/) using our [desktop client](https://defguard.net/client) -* **Multiple VPN Locations** (networks/sites) - with defined access (all users or only Admin group) -* Multiple [Gateways](https://github.com/DefGuard/gateway) for each VPN Location ([**high availability/failover**](../deployment-strategies/high-availability-and-failover.md)) - supported on a cluster of routers/firewalls for Linux, FreeBSD/PFSense/OPNSense -* Import your current WireGuard server configuration (with a wizard!) -* _Easy_ device setup by users themselves (self-service) -* Automatic IP allocation +Defguard combines secure remote access, modern identity management, and powerful integrations - all in one open-source platform.\ +Below you’ll find an overview of its main capabilities, designed for both administrators and end users. + +### 🌐 Remote Access with WireGuard® VPN + 2FA/MFA + +Secure, high-performance VPN built on [WireGuard®](https://www.wireguard.com/) protocol, enhanced with real multi-factor authentication. + +* [Multi-Factor Authentication](https://docs.defguard.net/features/wireguard/multi-factor-authentication-mfa-2fa) using our [desktop client](https://defguard.net/client) +* Multiple VPN Locations (networks/sites) - define access for all users or selected admin groups +* Multiple [Gateways](https://github.com/DefGuard/gateway) per VPN Location with [high availability/failover](https://docs.defguard.net/deployment-strategies/high-availability-and-failover) +* Import your existing WireGuard configuration easily with a guided wizard +* Self-service device setup - users can add their devices on their own +* Automatic IP allocation for connected devices * Kernel (Linux, FreeBSD/OPNSense/PFSense) & userspace WireGuard support -* [Dashboard and statistics overview](../admin-and-features/wireguard/network-overview.md) of connected users/devices for admins +* [Dashboard & statistics](https://docs.defguard.net/features/wireguard/network-overview) for admins - track users and connections + +### 💻 Desktop, 📱 Mobile & 🧰 CLI Clients + +Defguard provides modern, easy-to-use clients for every platform - giving users secure, MFA-protected VPN access wherever they work. + +* Desktop Client - available for [Windows, macOS, and Linux](https://defguard.net/download/) + * Enables direct VPN connection using MFA/2FA + * One-click enrollment via secure deep links received from the administrator +* Mobile Apps - available for [Android](https://play.google.com/store/apps/details?id=net.defguard.mobile) and [iOS](https://apps.apple.com/us/app/defguard-vpn-client/id6748068630) + * Connect securely to the Defguard VPN using multi-factor authentication + * Includes an additional biometric factor (Face ID / Touch ID) for MFA confirmation + * Allows fast approval of authentication requests directly from the phone +* [CLI Client](../using-defguard-for-end-users/cli-client.md) - lightweight and script-friendly tool for Linux + * Provides full VPN control via terminal + * Ideal for automation, servers, or advanced users preferring CLI workflows + +### 🔑 Multi-Factor/2FA Authentication + +Add another layer of protection to user accounts. -_Defguard is not an official WireGuard project, and WireGuard is a registered trademark of Jason A. Donenfeld._ +* [Time-based One-Time Password (TOTP)](https://en.wikipedia.org/wiki/Time-based_one-time_password) - compatible with Google Authenticator, Authy, etc. +* WebAuthn / FIDO2 - hardware keys, Face ID, Touch ID, and other authenticators +* Email tokens as an additional authentication method +* Biometric verification via the mobile app - use your device’s built-in Face ID or fingerprint sensor to confirm login or VPN access -### [_Activity & Audit Logs_](../activity-log/) +### 👤 Identity Management -* User event logging with detailed metadata -* Advanced filtering and search by user, module, event type and time range -* Role-based visibility - users can see only their events -* Grouped logs by modules (Defguard, enrollment, VPN) -* Real-time [log streaming](../activity-log/activity-log-streaming/) to SIEM tools (Enterprise feature) +Manage your users and their access in one place. -### OpenID Connect +* [OpenID Connect](https://openid.net/developers/how-connect-works/) based SSO +* External [OpenID providers for login/account creation (Google/Microsoft/Custom)](https://docs.defguard.net/features/external-openid-providers) +* [LDAP and Active Directory integration](../features/ldap-and-active-directory-integration/) +* Simple, modern UI for managing users +* User self-service - manage data, revoke app access, reset MFA, control WireGuard devices -* Defguard is an internal OIDC provider for [Single Sign-On](../admin-and-features/openid-connect/). -* Supports [external OpenID](../admin-and-features/external-openid-providers/) providers for user authentication. +### 🧭 Account Lifecycle Management -### [Access Control List](../admin-and-features/access-control-list/) +Automated, secure, and user-friendly onboarding. -* Access rules for VPN locations +* Secure remote (over the Internet) [user enrollment](../features/remote-user-enrollment/) +* [User onboarding after enrollment](../features/remote-user-enrollment/user-onboarding-after-enrollment.md) +* Self-service password reset + +### 🧱 Access Control List + +Granular, instant control over VPN access. + +* [Access rules per VPN location](../features/access-control-list/) * Allow or deny access based on users or groups -* Changes are applied in **real time** +* Changes are applied in real time + +### 🔐 OpenID Connect + +Defguard acts as your internal OIDC provider - giving you full control over identity and SSO. + +* Defguard is an [internal OIDC provider](../features/openid-connect/) for Single Sign-On +* Supports [external OpenID](https://docs.defguard.net/features/external-openid-providers) providers for authentication + +### 🧾 Activity & Audit Logs -### Identity Management: +Monitor and understand what’s happening across your system with detailed, searchable logs. -* #### [OpenID Connect](https://openid.net/developers/how-connect-works/) based SSO -* External [OpenID providers for login/account creation (Google/Microsoft/Custom)](../admin-and-features/external-openid-providers/) -* LDAP (tested on [OpenLDAP](https://www.openldap.org/)) synchronization -* Nice UI to manage users -* Users **self-service** (besides typical data management, users can revoke access to granted apps, MFA, WireGuard, etc.) +* [User event logging](../features/activity-log/#viewing-activity-log-events) with complete metadata +* Advanced filtering by user, module, event type, or time range +* Role-based visibility - users only see their own events +* Logs grouped by module (Defguard, enrollment, VPN) +* Real-time [log streaming](https://docs.defguard.net/features/activity-log/activity-log-streaming) to SIEM tools _(Enterprise feature)_ -### [Multi-Factor/2FA](https://en.wikipedia.org/wiki/Multi-factor_authentication) Authentication +### 📬 Notifications -* [Time-based One-Time Password Algorithm](https://en.wikipedia.org/wiki/Time-based_one-time_password) (TOTP - e.g. Google Authenticator) -* WebAuthn / FIDO2 - for hardware key authentication support (e.g. YubiKey, Face ID, Touch ID, ...) -* Email tokens +Stay in the loop with real-time notifications. -### Account Lifecycle Management: +* [Email notifications](https://docs.defguard.net/features/notifications/setting-up-smtp-for-email-notifications) via SMTP +* [Gateway disconnect/reconnect](https://docs.defguard.net/features/notifications/gateway-notifications) alerts +* [New version](https://docs.defguard.net/features/notifications/new-version-notifications) notifications -* Secure remote (over the internet) [user enrollment](https://defguard.gitbook.io/defguard/help/remote-user-enrollment) -* User [onboarding after enrollment](https://defguard.gitbook.io/defguard/help/remote-user-enrollment/user-onboarding-after-enrollment) -* Self-service for password reset +### 🛡️ YubiKey Provisioning -### Notifications +Easily create and populate the SSH and GPG/OpenPGP keys on a YubiKey hardware key. -* [Email notifications ](../notifications/setting-up-smtp-for-email-notifications.md)via SMTP -* [Gateway disconnect/reconnect](../notifications/gateway-notifications.md) notifications -* [New version](../notifications/new-version-notifications.md) notifications +* [YubiKey hardware keys provisioning](../features/yubikey-provisioning.md) for users with one click -### YubiKey Provisioning +### 🔗 Integrations -[YubiKey hardware keys](https://www.yubico.com/) provisioning for users with _one click_ +Easily connect Defguard with your existing systems. -### Integrations +* [Webhooks](https://docs.defguard.net/features/integrations/webhooks) for automation +* [REST API](https://docs.defguard.net/features/integrations/api-tokens) for integrations and scripting -[Webhooks](../integrations/webhooks.md) & [REST API](../integrations/api-tokens.md) +### ⚙️ Built with Rust -Build with [Rust](https://www.rust-lang.org/) for portability, security, and speed +Built in [Rust](https://www.rust-lang.org/) - delivering portability, security, and speed from the ground up. diff --git a/admin-and-features/external-openid-providers/jumpcloud.md b/admin-and-features/external-openid-providers/jumpcloud.md deleted file mode 100644 index 7fb8a5c..0000000 --- a/admin-and-features/external-openid-providers/jumpcloud.md +++ /dev/null @@ -1,40 +0,0 @@ -# JumpCloud - -1. Login to your JumpCloud admin account. -2. Navigate to SSO Applications\\ - -
-3. Add a new SSO Application -4. Select "Custom" on this screen. - -
-5. Select "Configure SSO with OIDC". - -
-6. Fill the app's display label in the next form.\\ - -
-7. After finishing this configuration, you will be redirected to your newly created SSO Application's settings. Go to the "SSO" tab first. - -
-8. Configure as following: - -
- - Make sure to set the correct Redirect URI and Login URL that will reflect your Defguard's setup. If you access your Defguard dashboard at e.g. `https://defguard.example.net` your redirect URI will be `https://defguard.example.net/auth/callback` and the login URL `https://defguard.example.net/auth/login`. Additionally, if you are using a Defguard proxy to enrol users, you can also add another redirect URI in the form of `/openid/callback`, where the `` is the address at which your proxy enrollment page is accessible. -9. Next, select the profile scope and add an `email` user attribute mapping by hand, like so: - -
- - It's important **not** to select the email standard scope checkbox, as it will automatically add a constant `email_verified` field which doesn't conform to the OpenID standard and doesn't work with Defguard. You can see the following section for more information: [#jumpcloud](./#jumpcloud "mention"). -10. Click "Activate". You will be presented with a client ID and a secret. Copy both of them, as you will need to insert them in Defguard's settings. -11. Go to Defguard settings, OpenID tab, select a `Custom` provider tab and paste the copied values: - -
- - Set the base URL to `https://oauth.id.jumpcloud.com/`. The display name may be whatever you want. -12. Back in JumpCloud, make sure your users have access to the SSO Application. You can enable it by navigating to the `User groups` menu and selecting the group you want to enable logging in through JumpCloud for. Only users from this group will be able to log in to Defguard with JumpCloud. In this example, we will select the `All users` group, which is a dynamic group containing every user. -13. Now in the group settings menu, select the `Applications` tab and select the checkbox next to your newly created app, this will enable the app for that group. Click `Save group` when you finish. - -
-14. Now you should be able to log in to Defguard with JumpCloud. diff --git a/admin-and-features/overview.md b/admin-and-features/overview.md deleted file mode 100644 index a02c899..0000000 --- a/admin-and-features/overview.md +++ /dev/null @@ -1,16 +0,0 @@ -# Overview - -## Welcome to Defguard admin documentation - -This documentation walks you through all the administrative features of Defguard and how to configure them. - -We recommend setting up your own example instance using our [one-line install script](../getting-started/one-line-install.md) to explore these features firsthand. As you follow along, you can adjust the configuration directly within your instance to better understand each feature in action. - -### What you’ll learn - -As a future Defguard administrator, this documentation will help you: - -* Be aware of all the possibilities you have with Defguard. -* How to configure them to your needs. - -If you're more interested in different deployment strategies after using our [one-line install script](../getting-started/one-line-install.md), go to the [deployment strategies](broken-reference/) section. diff --git a/admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/README.md b/admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/README.md deleted file mode 100644 index 4375b9a..0000000 --- a/admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/README.md +++ /dev/null @@ -1,105 +0,0 @@ -# Multi-Factor Authentication (MFA/2FA) - -We support two types of Multi-Factor Authentication: - -1. Based on our [Internal OIDC/SSO](../../openid-connect/) - called [Internal MFA ](./#internal-mfa)- using this method the Desktop & Mobile clients authenticate with **TOTP & Email codes** and after that with **session keys based on Wireguard Pre-Shared Keys** (PSK). For more details about this please refer to the [architecture section](architecture.md). -2. Based on [External OIDC/SSO](../../external-openid-providers/) - called [External MFA](./#externa-mfa) - this method is supported from version 1.5 ([currently in alpha](../../../deployment-strategies/pre-production-and-development-releases.md)) and requires the External SSO to be configured in the system. Each connection when using this method will open a web browser with authentication session to the SSO (like Google/Microsoft Entra/Okta/....) and after successful authentication **session keys based on WireGuard Pre-Shared Keys** (PSK) are exchanged between the client and server (for more details about this please refer to the [architecture section](architecture.md)). - -{% hint style="success" %} -From version 1.5 ([currently in alpha](../../../deployment-strategies/pre-production-and-development-releases.md)) **each VPN Location can be configured to use either Internal or External MFA.** -{% endhint %} - -## Internal MFA - -Enabling Internal MFA for a desired VPN Location is done by: - -1. Going into Defguard to **VPN Overview** -2. Selecting the VPN Location from the dropdown list, and pressing the **Edit Location** button in the top right corner of the page -3. Check the "**Require MFA for this Location**" checkbox under the Location Configuration section -4. Set **peer disconnect threshold**, we recommend it to be min. 300 (5 min) - see chapter [below](./#peer-disconnect-threshold). -5. And **save changes**. - -

Example MFA Location configuration

- -### Peer disconnect **threshold** - -When MFA is enabled on a location, Defguard periodically (currently every **1 minute**) checks statistics if a client is connected and if the period of inactivity (defined in Peer disconnect threshold option) is met, a client is disconnected. - -Thus, the gateway needs to be configured to send statistics in that period. - -We recommend to set: - -* gateway to send statistics every 30sec -* Peer disconnect threshold we recommend it to be min. 300 (5 min) - -### Client update after enabling MFA - -{% hint style="warning" %} -When MFA configuration is changed, all clients must do an [Instance Update](../../../help/desktop-client/instance-configuration.md#updating-instance). -{% endhint %} - -### Testing MFA on Defguard client - -If a VPN has MFA enabled, before connecting you will be asked to complete the authentication step first: - -

MFA in Defguard desktop client

- -### Supported MFA methods - -For now, MFA is only available with the following methods: - -* [TOTP - Time-based one-time password](../../../help/setting-up-2fa-mfa.md#one-time-password) -* Email - requires [SMTP to be configured](../../../notifications/setting-up-smtp-for-email-notifications.md) - -{% hint style="warning" %} -Please remember to configure TOTP on you user account and/or SMTP settings for MFA on the desktop client to work.. -{% endhint %} - -### User MFA setup - -After enabling MFA for a given VPN, users will need to enable MFA for their accounts to be able to connect. This process is described in [setting-up-2fa-mfa.md](../../../help/setting-up-2fa-mfa.md "mention"). For simplicity & security, the desktop client uses the same MFA methods as the Defguard server. - -An error message will be shown if users attempt to select an MFA method that has not been enabled for their accounts: - -

Attempting to use an MFA method that has not been enabled on the user's account.

- -### Successful authentication - -If authentication succeeds, the VPN two-factor authentication modal will be closed and connection to the selected VPN will be attempted. Users will be asked to authenticate on every connection to a VPN with MFA enabled. - -## External MFA - -In order to enable the External MFA authentication: - -1. Your instance **must have** [external OIDC/SSO configured](../../external-openid-providers/). -2. Select the VPN Location from the dropdown list on the Network Overview, and pressing the **Edit Location** button in the top right corner of the page. -3. Select the External MFA in the menu. - -
- -#### Client disconnect threshold - -When MFA is enabled on a location, Defguard periodically (currently every **1 minute**) checks statistics if a client is connected and if the period of inactivity (defined in this option) is met, a client is disconnected. - -Thus, the gateway needs to be configured to send statistics in that period. - -{% hint style="info" %} -We recommend to set: - -* Gateway to send statistics every 30sec -* Peer disconnect threshold we recommend it to be min. 300 (5 min) -{% endhint %} - -### Testing MFA on Defguard client - -When a location has External MFA enabled, after clicking Connect in the Desktop client ([here you can find information about Mobile Client External MFA](../../../help/mobile-client/instance-connect.md#external-mfa)), there will be information displayed about authentication requirement: - -
- -In order to authenticate the user will be prompted to click on Authenticate with your configured OIDC (like Authenticate with Google) - which will open the browser and start the authentication session with your OIDC/SSO provider by the [Defguard Enrollment ](../../../help/enrollment/)service (which is the only public component). - -After successful authentication, the user will be informed by the enrollment service like so: - -
- -And the VPN should be connected. diff --git a/deployment-strategies/amis-and-aws-cloudformation.md b/deployment-strategies/amis-and-aws-cloudformation.md deleted file mode 100644 index 5031909..0000000 --- a/deployment-strategies/amis-and-aws-cloudformation.md +++ /dev/null @@ -1,396 +0,0 @@ -# AMIs and AWS CloudFormation - -{% hint style="warning" %} -This feature is still under development. The documentation may be incomplete or refer to resources that are not yet available. -{% endhint %} - -## AMIs (Amazon Machine Images) - -We provide an AMI for each Defguard component (Core, Gateway and Proxy) which can be used to launch instances in AWS. The AMIs are available in the following regions: - -* `us-east-1` (N. Virginia) -* `eu-west-1` (Ireland) -* `ap-northeast-1` (Tokyo) - -We recommend using the AMIs either with a CloudFormation template or with our Terraform module, as they will automatically configure the instances with the necessary settings. - -## CloudFormation Templates - -You can import the CloudFormation template from the AWS Marketplace or from our GitHub [deployment repository](https://github.com/DefGuard/deployment). - -The template consists of the following components: - -* **Defguard Core** -* **Defguard Gateway** - The template has only one Gateway instance, but Defguard supports running multiple Gateways if you need more VPN locations. -* **Defguard Proxy** -* **PostgreSQL Database** - -We recommend reading the [Architecture documentation](https://docs.defguard.net/in-depth/architecture) to understand how these components interact. - -The template has the following configurable parameters: - -### Core Instance - -* `CoreCookieInsecure` (optional): If set to `true`, Defguard Core will use insecure cookies. This is not recommended for production environments. Set it to `true` if you are using HTTP instead of HTTPS. -* `CoreGrpcPort` (optional): The gRPC port, default is `50051`. This is used for communication between Defguard components. -* `CoreHttpPort` (optional): The HTTP port on which Defguard Core should listen, default is `8000`. This is where the Defguard web UI will be accessible. -* `CoreInstanceType` (optional): The instance type (e.g., `t3.medium`, `m5.large`), default is `t3.micro`. -* `CoreLogLevel` (optional): The log level of Defguard Core, default is `info`. -* `CoreUrl` (required): The URL where Defguard Core will be accessible (e.g., `https://defguard.example.com`). This should be the URL that users will use to access the Defguard web interface. -* `CoreDefaultAdminPassword` (optional): The default password for the `admin` user, default is `pass123`. This should be changed to a more secure password in production environments. - -### Database - -* `DbInstanceClass` (optional): The instance class for the PostgreSQL database, default is `db.t3.micro`. -* `DbName` (optional): The name of the PostgreSQL database, default is `defguard`. -* `DbPassword` (optional): The password for the PostgreSQL database, default is `defguard`. This should be changed to a more secure password in production environments. -* `DbPort` (optional): The port on which the PostgreSQL database will listen, default is `5432`. -* `DbStorage` (optional): The storage size for the PostgreSQL database, default is `20`. This is the size in GB. -* `DbUsername` (optional): The username for the PostgreSQL database, default is `defguard`. - -### Gateway Instance - -* `GatewayInstanceType` (optional): The instance type for the Gateway, default is `t3.micro`. -* `GatewayLogLevel` (optional): The log level for the Gateway, default is `info`. -* `GatewaySecret` (required): The secret used to authenticate the Gateway with Defguard Core. This should be a strong, random string, 64 characters long. - -### Proxy Instance - -* `ProxyGrpcPort` (optional): The gRPC port for the Proxy, default is `50051`. -* `ProxyHttpPort` (optional): The HTTP port for the Proxy, default is `8000`. This is where the Defguard Proxy web UI will be accessible. The proxy UI is used for user enrollment. -* `ProxyInstanceType` (optional): The instance type for the Proxy, default is `t3.micro`. -* `ProxyLogLevel` (optional): The log level for the Proxy, default is `info`. -* `ProxyUrl` (required): The URL where the Defguard Proxy will be accessible (e.g., `https://proxy.defguard.example.com`). This should be the URL that users will use to access the Defguard Proxy web UI. - -### Network configuration - -* `VpcCidr` (optional): The CIDR block for the VPC in which Defguard will be deployed, default is `10.0.0.0/16`. -* `VpcName` (optional): The name of the VPC, default is `defguard-vpc`. - -### VPN Network (Location) configuration - -* `VpnNetworkAddress` (optional): The CIDR address for the VPN network, default is `10.10.10.1/24`. The VPN clients will receive IP addresses from this range. The gateway will have the first address in the range. -* `VpnNetworkName` (optional): The name of the VPN network (location). This is displayed both to the clients and in the Defguard web UI, default is `vpn1`. -* `VpnNetworkNat` (optional): If set to `true`, the VPN will have masquerading enabled, allowing clients to access other networks through the VPN (e.g., the internet). Default is `true`. -* `VpnNetworkPort` (optional): The UDP port on which the VPN will listen for incoming VPN connections, default is `51820`. - -### Customizing the deployment - -By default, the CloudFormation template will deploy Defguard with the settings according to the recommended architecture, that is: - -| Component | Port | Access allowed from | -| --------- | ------------ | ------------------- | -| Core | 8000 (HTTP) | Gateways | -| Core | 50055 (gRPC) | Gateways | -| Proxy | 50051 (gRPC) | Core | -| Proxy | 8000 (HTTP) | Anywhere | -| Gateway | 51820 (UDP) | Anywhere | - -You can customize the deployment by modifying the template or doing changes in the AWS Infrastructure Composer. - -To modify an existing stack deployed from the template, you can use the AWS Console, navigate to the CloudFormation service, select your stack, click on "Update stack" and then choose "Create a change set". - -![alt text](../.gitbook/assets/image-5.png) - -Next, select how you want to update the stack. If you want to modify the parameters, select "Use existing template". - -![alt text](../.gitbook/assets/image-8.png) - -If you want to modify the template itself, the easiest way is to edit it in the Infrastructure Composer: select "Edit in Infrastructure Composer" and click the "Edit in Infrastructure Composer" button. - -![alt text](../.gitbook/assets/image-9.png) - -#### Granting SSH access to the instances - -By default, the instances won't allow traffic on port 22. You can temporarily allow SSH access by modifying the security group of the instances. To do this, edit the template, and change the given component's security group to allow traffic on port 22 (ideally from your IP address). - -For example, you can add the following rule to the security group of the Core instance: - -```yaml - SecurityGroupIngress: - - IpProtocol: tcp - FromPort: !Ref CoreHttpPort - ToPort: !Ref CoreHttpPort - SourceSecurityGroupId: !Ref GatewaySecurityGroup - Description: HTTP access from gateways - - IpProtocol: tcp - FromPort: !Ref CoreGrpcPort - ToPort: !Ref CoreGrpcPort - SourceSecurityGroupId: !Ref GatewaySecurityGroup - Description: gRPC communication with gateways - - IpProtocol: tcp - FromPort: 22 - ToPort: 22 - CidrIp: /32 - Description: SSH access from your IP address -``` - -### Removing EIP - -By default, every component has an Elastic IP (EIP) assigned to it. This makes it easier to access them while setting everything up, but you might want to remove the EIP if you don't need it, especially if you plan to use a Reverse Proxy in front of the Defguard Core and Proxy. - -To remove the EIP, you can edit the template and remove the `ElasticIp`, `EipAssociation` resources and `DefguardPublicAddress` outputs from the template, where `` is one of `Core`, `Gateway` or `Proxy`. We do not recommend removing the EIP from the Gateway, as it should be accessible from the internet for VPN clients to connect to it. - -### Adding a Reverse Proxy/Load Balancer - -If you want to add a Reverse Proxy or Load Balancer in front of the Defguard Core and Proxy, you can do so by modifying the template. You can achieve this by adding two Application Load Balancers (ALBs) in front of the Core and Proxy components. One ALB (internal) will be used for the Core, and one (public) for the Proxy. - -Adding a Load Balancer will require making a second public subnet: - -```yaml - PublicSubnet2: - Type: AWS::EC2::Subnet - Properties: - VpcId: !Ref VPC - CidrBlock: 10.0.4.0/24 - AvailabilityZone: !Select - - 1 - - !GetAZs "" - MapPublicIpOnLaunch: true - Tags: - - Key: Name - Value: !Sub ${VpcName}-public-subnet-2 -``` - -And adding a route table association: - -```yaml - PublicSubnet2RouteTableAssociation: - Type: AWS::EC2::SubnetRouteTableAssociation - Properties: - SubnetId: !Ref PublicSubnet2 - RouteTableId: !Ref PublicRouteTable -``` - -Then, you can add the ALBs along with listeners and target groups: - -```yaml - ApplicationLoadBalancer: - Type: AWS::ElasticLoadBalancingV2::LoadBalancer - Properties: - Name: defguard-public-alb - Scheme: internet-facing - Type: application - IpAddressType: ipv4 - Subnets: - - !Ref PublicSubnet - - !Ref PublicSubnet2 - SecurityGroups: - - !Ref LoadBalancerSecurityGroup - Tags: - - Key: Name - Value: defguard-public-alb - InternalApplicationLoadBalancer: - Type: AWS::ElasticLoadBalancingV2::LoadBalancer - Properties: - Name: defguard-internal-alb - Scheme: internal - Type: application - IpAddressType: ipv4 - Subnets: - - !Ref PrivateSubnet1 - - !Ref PrivateSubnet2 - SecurityGroups: - - !Ref InternalLoadBalancerSecurityGroup - Tags: - - Key: Name - Value: defguard-internal-alb - ALBListener: - Type: AWS::ElasticLoadBalancingV2::Listener - Properties: - DefaultActions: - - Type: forward - TargetGroupArn: !Ref ProxyTargetGroup - LoadBalancerArn: !Ref ApplicationLoadBalancer - Port: 80 - Protocol: HTTP - InternalALBListener: - Type: AWS::ElasticLoadBalancingV2::Listener - Properties: - DefaultActions: - - Type: forward - TargetGroupArn: !Ref CoreTargetGroup - LoadBalancerArn: !Ref InternalApplicationLoadBalancer - Port: 80 - Protocol: HTTP - CoreListenerRule: - Type: AWS::ElasticLoadBalancingV2::ListenerRule - Properties: - Actions: - - Type: forward - TargetGroupArn: !Ref CoreTargetGroup - Conditions: - - Field: host-header - Values: - - !Select - - 2 - - !Split - - / - - !Ref CoreUrl - ListenerArn: !Ref InternalALBListener - Priority: 100 - ProxyListenerRule: - Type: AWS::ElasticLoadBalancingV2::ListenerRule - Properties: - Actions: - - Type: forward - TargetGroupArn: !Ref ProxyTargetGroup - Conditions: - - Field: host-header - Values: - - !Select - - 2 - - !Split - - / - - !Ref ProxyUrl - ListenerArn: !Ref ALBListener - Priority: 100 - CoreTargetGroup: - Type: AWS::ElasticLoadBalancingV2::TargetGroup - Properties: - Name: defguard-core-tg - Port: !Ref CoreHttpPort - Protocol: HTTP - VpcId: !Ref VPC - TargetType: instance - HealthCheckEnabled: true - HealthCheckPath: /api/v1/health - HealthCheckProtocol: HTTP - HealthCheckIntervalSeconds: 30 - HealthCheckTimeoutSeconds: 5 - HealthyThresholdCount: 2 - UnhealthyThresholdCount: 3 - Targets: - - Id: !Ref CoreInstance - Port: !Ref CoreHttpPort - Tags: - - Key: Name - Value: defguard-core-tg - ProxyTargetGroup: - Type: AWS::ElasticLoadBalancingV2::TargetGroup - Properties: - Name: defguard-proxy-tg - Port: !Ref ProxyHttpPort - Protocol: HTTP - VpcId: !Ref VPC - TargetType: instance - HealthCheckEnabled: true - HealthCheckPath: /health - HealthCheckProtocol: HTTP - HealthCheckIntervalSeconds: 30 - HealthCheckTimeoutSeconds: 5 - HealthyThresholdCount: 2 - UnhealthyThresholdCount: 3 - Targets: - - Id: !Ref ProxyInstance - Port: !Ref ProxyHttpPort - Tags: - - Key: Name - Value: defguard-proxy-tg -``` - -Then, modify the Core and Proxy security groups to allow traffic from the ALBs: - -```yaml - # Add this to Core security group - - IpProtocol: tcp - FromPort: !Ref CoreHttpPort - ToPort: !Ref CoreHttpPort - SourceSecurityGroupId: !Ref InternalLoadBalancerSecurityGroup - Description: HTTP access from internal load balancer - - # Add this to Proxy security group - - IpProtocol: tcp - FromPort: !Ref ProxyHttpPort - ToPort: !Ref ProxyHttpPort - SourceSecurityGroupId: !Ref LoadBalancerSecurityGroup - Description: HTTP access from load balancer -``` - -You should also remove the following rules to prevent direct access to the Core and Proxy components: - -```yaml - # Remove these rules from Core security group - - IpProtocol: tcp - FromPort: !Ref CoreHttpPort - ToPort: !Ref CoreHttpPort - SourceSecurityGroupId: !Ref GatewaySecurityGroup - Description: HTTP access from gateways - - # Remove these rules from Proxy security group - - IpProtocol: tcp - FromPort: !Ref ProxyHttpPort - ToPort: !Ref ProxyHttpPort - CidrIp: 0.0.0.0/0 - Description: HTTP access to proxy -``` - -Finally, configure the security groups of your ALBs: - -```yaml - LoadBalancerSecurityGroup: - Type: AWS::EC2::SecurityGroup - Properties: - GroupName: defguard-alb-sg - GroupDescription: Access to the Application Load Balancer - VpcId: !Ref VPC - SecurityGroupIngress: - - IpProtocol: tcp - FromPort: 80 - ToPort: 80 - CidrIp: 0.0.0.0/0 - Description: HTTP access from internet - - IpProtocol: tcp - FromPort: 443 - ToPort: 443 - CidrIp: 0.0.0.0/0 - Description: HTTPS access from internet - SecurityGroupEgress: - - IpProtocol: "-1" - CidrIp: 0.0.0.0/0 - Tags: - - Key: Name - Value: defguard-alb-sg - InternalLoadBalancerSecurityGroup: - Type: AWS::EC2::SecurityGroup - Properties: - GroupName: defguard-internal-alb-sg - GroupDescription: Access to the Internal Application Load Balancer - VpcId: !Ref VPC - SecurityGroupIngress: - - IpProtocol: tcp - FromPort: 80 - ToPort: 80 - CidrIp: !Ref VpcCidr - Description: HTTP access from internal VPC network - - IpProtocol: tcp - FromPort: 443 - ToPort: 443 - CidrIp: !Ref VpcCidr - Description: HTTPS access from internal VPC network - SecurityGroupEgress: - - IpProtocol: "-1" - CidrIp: 0.0.0.0/0 - Tags: - - Key: Name - Value: defguard-internal-alb-sg -``` - -To easily inspect the ALB DNS names, you can add the following outputs to your template: - -```yaml - LoadBalancerDNS: - Description: The DNS name of the Public Application Load Balancer - Value: !GetAtt ApplicationLoadBalancer.DNSName - Export: - Name: !Sub ${AWS::StackName}-alb-dns - InternalLoadBalancerDNS: - Description: The DNS name of the Internal Application Load Balancer - Value: !GetAtt InternalApplicationLoadBalancer.DNSName - Export: - Name: !Sub ${AWS::StackName}-internal-alb-dns -``` - -This setup will allow you to access the Defguard Core and Proxy through the Load Balancers, while keeping the components not directly accessible. Both ALBs act more as a reverse proxy, as they match requests based on the `host-header` and no balancing is performed. By making the Core load balancer internal, you can ensure that only the Proxy is accessible from the internet, while the Core access is restricted to the internal VPC network. - -To allow connected VPN clients access the Core web UI, you can enable the `VpnNetworkNat` option in the CloudFormation template, so the traffic going through the VPN will be NATed and routed to the Core. You will also need to add an allowed IP of your VPC network (or one of its subnets) in your Location configuration in Defguard Core to let the clients know to route the traffic destined to the VPC through the VPN. diff --git a/deployment-strategies/amis-and-aws-cloudformation/README.md b/deployment-strategies/amis-and-aws-cloudformation/README.md new file mode 100644 index 0000000..85d5a94 --- /dev/null +++ b/deployment-strategies/amis-and-aws-cloudformation/README.md @@ -0,0 +1,258 @@ +# Amazon Machine Image (AMI) + +This guide explains how to deploy Defguard on AWS using official Amazon Machine Images (AMIs) and a preconfigured CloudFormation template. It walks you through launching all required components - including Core, Gateway, Proxy, and the PostgreSQL database - in a production-ready architecture with minimal manual configuration. + +You will learn how to subscribe to the AMIs, deploy the stack, attach SSL certificates, configure domains, and gain initial VPN access. The goal is to provide a repeatable, secure deployment method that allows you to get Defguard running quickly while still enabling advanced customization for larger or more complex environments. + +## AMI architecture + +We recommend using the AMIs with our CloudFormation template as it will automatically configure all components. + +You can import the CloudFormation template from the AWS Marketplace or from our GitHub [deployment repository](https://github.com/DefGuard/deployment). + +The template consists of the following main components: + +* **Defguard Core** +* **Defguard Gateway** - The template has only one Gateway instance, but Defguard supports running multiple Gateways if you need more VPN locations. +* **Defguard Proxy** +* **PostgreSQL Database** + +We recommend reading the [Architecture documentation](https://docs.defguard.net/in-depth/architecture) to understand how these components interact. + +

Diagram showing how the components are deployed using the template

+ +## Installation guide + +{% hint style="info" %} +In order to use the CloudFormation template you need to subscribe to the Defguard AMI product. The most straightforward way to obtain the template is to select it during the product delivery after subscribing to the product on the marketplace. +{% endhint %} + +After the CloudFormation template is uploaded either manually or via the marketplace, you will be prompted to fill the details of your deployment. This guide will go over the most important settings that need to be filled for a functional deployment. + +#### Prerequisites + +* Two domains: one for accessing Defguard Core (the main dashboard) and one for accessing Defguard Proxy (for external enrollment and device configuration) +* AWS issued SSL certificates for the two domains. See [this page](configuring-https-using-aws-certificate-manager.md) for more information. +* An SSH key added to AWS. This will allow you to access the EC2 instances later on. + +#### Obtaining the template + +1. Subscribe to the product on AWS Marketplace.
+ +
+2. After subscription succeeds, click the launch your software button:
+ +
+ + +3. Select the CloudFormation option and click "Launch with CloudFormation"
+ +
+ + +4. On the "Create stack" screen click next and proceed to the next section ( [#template-parameters](./#template-parameters "mention")). + +#### Template parameters + +After you are presented with the template configuration screen, make sure to fill out the following parameters: + +
+ +Choose a name for the stack. This can be chosen freely but must be unique across your deployed stacks. + +
+ +The `CoreDefaultAdminPassword` will be the password used for logging to the Defguard Core dashboard for the `admin` user. + +
+ +The `CoreUrl` is the URL under which your Defguard Core dashboard will be accessible. This should be filled according to the domain you chose before ([#prerequisites](./#prerequisites "mention")). For example, if your domain for Defguard Core is `defguard.example.com`, insert `https://defguard.example.com` here. + +
+ +This is the database password. Select a relatively strong password here as a very weak password may be rejected by the database system and may result in a deployment failure. + +
+ +This is the URL under which the Defguard Proxy will be accessible to users. Fill the field just like the `CoreUrl` field, but this time use the domain you chose for the Defguard Proxy ([#prerequisites](./#prerequisites "mention")). + +
+ +Insert here the ARN of the certificate you prepared earlier ([#prerequisites](./#prerequisites "mention")). This will auto configure HTTPS for both Defguard Proxy and Core. + +
+ +Provide here the name of your SSH key. This is required for SSH access to the EC2 instances. Note that manual configuration of firewall access on the SSH port (22) is required after the deployment. + +
+ +The VPN parameters allow for configuring the details of your VPN network (location). You may want to change the name of the location to better suit your deployment. By default, NAT is enabled on the VPN Gateway instance so connecting clients can automatically reach servers inside your private network (this is required to reach Defguard Core dashboard, for example). If you disable NAT, you will need to configure routing rules yourself. + +Make sure to also check the rest of the pre-filled parameters, as you may want to change some of them. The full list is available in the [#template-parameters-1](./#template-parameters-1 "mention") section. + +#### Stack options + +Next, select the behavior on deployment failure: + +
+ +We recommend cleaning up everything after failed deployment, to keep a clean state when retrying. + +
+ +The template contains several IAM roles that are used to grant access required for interacting with the AWS SecretManager to pass secrets securely between components during the deployment. + +The template also consists of a lambda function along with an IAM role which is responsible for creating a token that can be used by an admin to access the VPN for the first time. + +This needs to be accepted to proceed further. + +Now wait for the deployment to finish. If all went OK, you should see _CREATE\_COMPLETE_ status. + +#### Outputs + +After the deployment completes, you will receive a set of outputs in the "outputs" tab. This values are required for further configuration. + +
+ +#### Setting up your domains + +The template will provision two domains: `InternalProxyALBDNSName` and `PublicProxyALBDNSName` . The public domain points to the Defguard Proxy instance's reverse proxy, and the internal one to Core's. + +
+ +
+ +You can use those domains to setup CNAME records in your DNS provider configuration, so the domains you defined in the `ProxyUrl` and `CoreUrl` point to the correct load balancers (reverse proxies) and in result, to the correct components: + +
Your domainCNAME responseTarget component
<YOUR_DEFGUARD_CORE_DOMAIN><InternalProxyALBDNSName>Defguard Core (internal)
<YOUR_DEFGUARD_PROXY_DOMAIN><PublicProxyALBDNSName>Defguard Proxy (public)
+ +#### Configuring you first device using the desktop client + +The stack is now fully set up and you can try to access it. The dashboard is not publicly available, so you'll need to configure access to the VPN first. + +Use the token displayed in the `AdminFirstDeviceToken` CloudFormation output to add your first device. + +
+ +Check this [guide](https://docs.defguard.net/using-defguard-for-end-users/desktop-client/instance-configuration#adding-instance) on adding a new instance in the Desktop client, to learn more about the process. As the instance URL, use the URL you defined in your Defguard Proxy instance configuration section of the CloudFormation template (`ProxyUrl`). + +#### Accessing the dashboard + +After you use the `AdminFirstDeviceToken` as described in the previous section you will gain access to the VPN network and (by default) the VPC network. To access the Defguard Core dashboard, navigate to the URL you defined in the `CoreUrl` parameter. + +To login, use the default `admin` username and the password defined in `CoreDefaultAdminPassword`. + +## Customisation + +### Template parameters + +#### General + +* `SshKeyName` (optional): EC2 Key Pair name for SSH access to instances. If not provided, SSH access will not be available. Requires a manual setup of SSH security group rules afterwards. +* `StackPrefix` (optional): The prefix that all the deployed components will receive, for example the Defguard core EC2 instance will be named <`StackPrefix>-core-instance`. +* `SSLCertificateArn` (optional): The ARN of the AWS issued certificate to use for setting up HTTPS for Core and Proxy. This certificate must be valid for the domains specified in `CoreUrl` and `ProxyUrl`. If left empty, HTTPS won't be configured automatically. + +#### Core Instance + +* `CoreCookieInsecure` (optional): If set to `true`, Defguard Core will use insecure cookies. This is not recommended for production environments. Set it to `true` if you are using HTTP instead of HTTPS. +* `CoreGrpcPort` (optional): The gRPC port, default is `50051`. This is used for communication between Defguard components. +* `CoreHttpPort` (optional): The HTTP port on which Defguard Core should listen, default is `8000`. This is where the Defguard web UI will be accessible. +* `CoreInstanceType` (optional): The instance type (e.g., `t3.medium`, `m5.large`), default is `t3.micro`. +* `CoreLogLevel` (optional): The log level of Defguard Core, default is `info`. You can also set it to `error`, `debug` or `trace`. +* `CoreUrl` (required): The URL where Defguard Core will be accessible (e.g., `https://defguard.example.com`). This should be the URL that users will use to access the Defguard web interface. +* `CoreDefaultAdminPassword`: The password for the default `admin` user. Used to login to the web dashhboard. + +#### Database + +* `DbInstanceClass` (optional): The instance class for the PostgreSQL database, default is `db.t3.micro`. +* `DbName` (optional): The name of the PostgreSQL database, default is `defguard`. +* `DbPassword`: The password for the PostgreSQL database. +* `DbPort` (optional): The port on which the PostgreSQL database will listen, default is `5432`. +* `DbStorage` (optional): The storage size for the PostgreSQL database, default is `20`. This is the size in GB. +* `DbUsername` (optional): The username for the PostgreSQL database, default is `defguard`. + +#### Gateway Instance + +* `GatewayInstanceType` (optional): The instance type for the Gateway, default is `t3.micro`. +* `GatewayLogLevel` (optional): The log level for the Gateway, default is `info`. You can also set it to `error`, `debug` or `trace`. +* `GatewaySecret` (required): The secret used to authenticate the Gateway with Defguard Core. This should be a strong, random string, 64 characters long. + +#### Proxy Instance + +* `ProxyGrpcPort` (optional): The gRPC port for the Proxy, default is `50051`. +* `ProxyHttpPort` (optional): The HTTP port for the Proxy, default is `8000`. This is where the Defguard Proxy web UI will be accessible. The proxy UI is used for user enrollment. +* `ProxyInstanceType` (optional): The instance type for the Proxy, default is `t3.micro`. +* `ProxyLogLevel` (optional): The log level for the Proxy, default is `info`. You can also set it to `error`, `debug` or `trace`. +* `ProxyUrl` (required): The URL where the Defguard Proxy will be accessible (e.g., `https://proxy.defguard.example.com`). This should be the URL that users will use to access the Defguard Proxy web UI. + +#### Network configuration + +* `VpcCidr` (optional): The CIDR block for the VPC in which Defguard will be deployed, default is `10.0.0.0/16`. +* `VpcName` (optional): The name of the VPC, default is `defguard-vpc`. +* `PublicSubnet1Cidr` (optional): CIDR block for one of the public subnets. This can be chosen arbitrarily as long as it's within the VPC CIDR range. +* `PublicSubnet2Cidr` (optional): CIDR block for one of the public subnets. This can be chosen arbitrarily as long as it's within the VPC CIDR range. +* `PrivateSubnet1Cidr` (optional): CIDR block for one of the private subnets. This can be chosen arbitrarily as long as it's within the VPC CIDR range. +* `PrivateSubnet2Cidr` (optional): CIDR block for one of the private subnets. This can be chosen arbitrarily as long as it's within the VPC CIDR range. + +#### VPN Network (Location) configuration + +* `VpnNetworkAddress` (optional): The CIDR address for the VPN network, default is `10.10.10.1/24`. The VPN clients will receive IP addresses from this range. The gateway will have the first address in the range. +* `VpnNetworkName` (optional): The name of the VPN network (location). This is displayed both to the clients and in the Defguard web UI, default is `vpn1`. +* `VpnNetworkNat` (optional): If set to `true`, the VPN will have masquerading enabled, allowing clients to access other networks through the VPN (e.g., the internet). Default is `true`. +* `VpnNetworkPort` (optional): The UDP port on which the VPN will listen for incoming VPN connections, default is `51820`. + +### Customizing the deployment + +By default, the CloudFormation template will deploy Defguard with the settings according to the recommended architecture, that is: + +| Component | Port | Access allowed from | +| --------- | ------------ | ------------------- | +| Core | 8000 (HTTP) | Gateways | +| Core | 50055 (gRPC) | Gateways | +| Proxy | 50051 (gRPC) | Core | +| Proxy | 8000 (HTTP) | Anywhere | +| Gateway | 51820 (UDP) | Anywhere | + +You can customize the deployment by modifying the template or doing changes in the AWS Infrastructure Composer. + +To modify an existing stack deployed from the template, you can use the AWS Console, navigate to the CloudFormation service, select your stack, click on "Update stack" and then choose "Create a change set". + +![alt text](../../.gitbook/assets/image-5.png) + +Next, select how you want to update the stack. If you want to modify the parameters, select "Use existing template". + +![alt text](../../.gitbook/assets/image-8.png) + +If you want to modify the template itself, the easiest way is to edit it in the Infrastructure Composer: select "Edit in Infrastructure Composer" and click the "Edit in Infrastructure Composer" button. + +![alt text](../../.gitbook/assets/image-9.png) + +### Accessing the EC2 instances + +After deploying the CloudFormation template, the newly created EC2 instances should be visible in the AWS console in your target region: + +
+ +To access the instances, use the key provided in the `SshKeyName` parameter. Note that you will need to allow SSH access to the EC2 instances using their respective AWS security groups. The default user is `admin`. + +## Upgrading components + +{% hint style="warning" %} +It's important to backup your database before performing a backup. Make sure to also check the [upgrading.md](../upgrading.md "mention") before upgrading to a newer version. +{% endhint %} + +All Defguard components are installed from the Defguard APT repository. The upgrade process is as follows: + +1. SSH into the given component's EC2 instance +2. Execute the following commands: + + ``` + sudo apt update + sudo apt install --only-upgrade + ``` + +The corresponding package names can be found in the [Defguard APT repository documentation](../standalone-package-based-installation/defguard-apt-repository.md). + +## Troubleshooting and common issues + +All Defguard components are deployed as systemd services. Their configuration files can be found on the respective host machine under `/etc/defguard`. diff --git a/deployment-strategies/amis-and-aws-cloudformation/configuring-https-using-aws-certificate-manager.md b/deployment-strategies/amis-and-aws-cloudformation/configuring-https-using-aws-certificate-manager.md new file mode 100644 index 0000000..0ed5436 --- /dev/null +++ b/deployment-strategies/amis-and-aws-cloudformation/configuring-https-using-aws-certificate-manager.md @@ -0,0 +1,25 @@ +# Configuring HTTPS using AWS Certificate Manager + +This guide explains how to secure your Defguard deployment with HTTPS by using a public TLS certificate issued by AWS Certificate Manager (ACM). You will request a certificate for the domains used by Defguard Core and Defguard Proxy, validate domain ownership via DNS, and attach the certificate to your CloudFormation stack using its ARN. + +Once completed, AWS will automatically manage certificate provisioning and renewal, ensuring your Defguard instance is encrypted and trusted without manual certificate handling. + +Go to AWS console and open the Certificate Manager service page. + +Request a new certificate (if you don't have one already). + +
+ +A public certificate is enough. + +
+ +Specify the domains you will want to use for your Defguard instance (for accessing Defguard Proxy and Defguard Core). Those domains should be the same as those you'll use in `ProxyUrl` and `CoreUrl`. + +
+ +Next, you will need to validate your domain ownership by adding appropriate CNAME records in your DNS provider. Use the _CNAME name_ and _CNAME value_ values provided in the AWS console and set them in you domain's DNS. + +After you complete this step, your certificate can be used. Copy the ARN of your certificate and paste it into the `SSLCertificateArn` parameter in the CloudFormation template. + +
diff --git a/configuration.md b/deployment-strategies/configuration.md similarity index 83% rename from configuration.md rename to deployment-strategies/configuration.md index 6a8202c..f24c567 100644 --- a/configuration.md +++ b/deployment-strategies/configuration.md @@ -8,7 +8,7 @@ Here you can find a list of all configurable things through environmental variab * [YubiBridge config](configuration.md#yubibridge-configuration) {% hint style="info" %} -If you are using [one-line installation](getting-started/one-line-install.md), everything is generated and configured automatically. +If you are using [one-line installation](../getting-started/one-line-install.md), everything is generated and configured automatically. {% endhint %} ## Core @@ -49,8 +49,8 @@ You can generate random strings for secrets with e.g.: * `DEFGUARD_AUTH_COOKIE_TIMEOUT`: Cookie lifetime period, default: `7d` ([Humantime documentation](https://docs.rs/humantime/latest/humantime/struct.Duration.html)) * `DEFGUARD_MFA_CODE_TIMEOUT`: Email code lifetime period, default: `60s` ([Humantime documentation](https://docs.rs/humantime/latest/humantime/struct.Duration.html)) * `DEFGUARD_SESSION_TIMEOUT`: Session lifetime period, default: `7d` ([Humantime documentation](https://docs.rs/humantime/latest/humantime/struct.Duration.html)) -* `HTTP_BIND_ADDRESS`: The IP address that the HTTP should bind to (available since version 1.5.0) -* `GRPC_BIND_ADDRESS`: The IP address that the gRPC should bind to (available since version 1.5.0) +* `DEFGUARD_HTTP_BIND_ADDRESS`: The IP address that the HTTP should bind to +* `DEFGUARD_GRPC_BIND_ADDRESS`: The IP address that the gRPC should bind to ### Database configuration @@ -71,7 +71,7 @@ This is of course not recommended in production but can be useful when testing w {% endhint %} * `DEFGUARD_COOKIE_INSECURE`: set cookies without the `Secure` flag; use only in dev environments when serving Defguard without HTTPS -* `DEFGUARD_COOKIE_DOMAIN` (optional): set the domain for auth cookies. By default, it's the domain from `DEFGUARD_URL`. Must be changed to base URL if you want to use [forward auth](admin-and-features/forward-auth.md). +* `DEFGUARD_COOKIE_DOMAIN` (optional): set the domain for auth cookies. By default, it's the domain from `DEFGUARD_URL`. Must be changed to base URL if you want to use [forward auth](../features/forward-auth.md). ### Stats cleanup configuration @@ -92,7 +92,7 @@ This is of course not recommended in production but can be useful when testing w ### gRPC server configuration -[More on that in this help page.](deployment-strategies/grpc-ssl-communication.md) +[More on that in this help page.](grpc-ssl-communication.md) * `DEFGUARD_GRPC_PORT`: the port on which the gRPC server should listen, default is `50055`. This port is used by Defguard Gateways to connect to your Core instance. * `DEFGUARD_GRPC_CERT` (optional): path to TLS certificate file @@ -102,20 +102,22 @@ This is of course not recommended in production but can be useful when testing w ### Proxy connection configuration * `DEFGUARD_PROXY_URL` (optional): proxy service gRPC endpoint URL -* `DEFGUARD_PROXY_GRPC_CA`(optional): path to TLS root certificate file, required if connecting to proxy gRPC service with a custom CA ([More on that in this help page.](deployment-strategies/grpc-ssl-communication.md)) +* `DEFGUARD_PROXY_GRPC_CA`(optional): path to TLS root certificate file, required if connecting to proxy gRPC service with a custom CA ([More on that in this help page.](grpc-ssl-communication.md)) ## Proxy service -Here are proxy ENV variables. gRPC configuration is described more [on this help page.](deployment-strategies/grpc-ssl-communication.md) +Here are proxy ENV variables. gRPC configuration is described more [on this help page.](grpc-ssl-communication.md) * `DEFGUARD_PROXY_HTTP_PORT`: port the proxy API server and Web UI will listen on, default `8080` * `DEFGUARD_PROXY_GRPC_PORT`: port the gRPCS server will listen on, default `50051` * `DEFGUARD_PROXY_GRPC_CERT` (optional): path to TLS certificate file -* `DEFGUARD_PROXY_GRPC_KEY`(optional): path to TLS key file. [More on that in this help page.](deployment-strategies/grpc-ssl-communication.md) +* `DEFGUARD_PROXY_GRPC_KEY`(optional): path to TLS key file. [More on that in this help page.](grpc-ssl-communication.md) * `DEFGUARD_PROXY_URL` - if you wish to use External OIDC enrollment/desktop client configuration, please set this value to the same as `DEFGUARD_ENROLLMENT_URL` in core. This is the address at which the proxy Web UI is available. * `DEFGUARD_PROXY_LOG_LEVEL` : [Logger](https://crates.io/crates/log) log level, default: `info`, supported: `debug`, `warn`, `error` -* `HTTP_BIND_ADDRESS`: The IP address that the HTTP should bind to (available since version 1.5.0) -* `GRPC_BIND_ADDRESS`: The IP address that the gRPC should bind to (available since version 1.5.0) +* `DEFGUARD_HTTP_BIND_ADDRESS`: The IP address that the HTTP should bind to +* `DEFGUARD_GRPC_BIND_ADDRESS`: The IP address that the gRPC should bind to +* `DEFGUARD_PROXY_RATELIMIT_PERSECOND` - The (average) number of requests per second made without being eventually rate limited +* `DEFGUARD_PROXY_RATELIMIT_BURST` - The number of requests allowed to be made in a short amount of time before being rate limited ## Gateway Configuration @@ -126,9 +128,9 @@ If you're using docker image you can pass this value as environmental variables * `DEFGUARD_GRPC_URL` , `-g ` - Defguard Core gRPC endpoint URL. This is used by the gateway to connect to your Defguard Core instance. If you configured the `DEFGUARD_GRPC_URL` variable on your Core instance before (as described in the [#grpc-server-configuration](configuration.md#grpc-server-configuration "mention") section), use the same value here. Otherwise, provide an URL that will allow the Gateway to reach your Core instance, e.g. `http://localhost:50055` if both Core and Gateway are running on the same host. * `DEFGUARD_TOKEN` ,`-t ` - Token displayed in the Defguard Core web UI after completing the network wizard. It can be copied from the "Authentication Token" section on the Location Settings page. -
+
* `DEFGUARD_USERSPACE` , `-u` - Use userspace wireguard implementation, useful on systems without native wireguard support -* `DEFGUARD_GRPC_CA - path to ca file` more on this topic can be found [on this help page.](deployment-strategies/grpc-ssl-communication.md) +* `DEFGUARD_GRPC_CA - path to ca file` more on this topic can be found [on this help page.](grpc-ssl-communication.md) * `DEFGUARD_STATS_PERIOD` ,`-p ` - Defines how often (seconds) should interface statistics be sent to the Defguard server * `DEFGUARD_GATEWAY_NAME`, `--name ` - (optional) human-readable gateway name that will be displayed in Defguard webapp * `-s, --use-syslog` - enable logging to syslog @@ -137,12 +139,14 @@ If you're using docker image you can pass this value as environmental variables * `DEFGUARD_DISABLE_FW_MGMT` - disables all firewall management by the gateway; this overrides `DEFGUARD_MASQUERADE` setting; defaults to `false` {% hint style="info" %} -`DEFGUARD_DISABLE_FW_MGMT` is meant as a workaround for running in incompatible environments, where our [default firewall integration](admin-and-features/access-control-list/firewall-internals.md) is not supported. +`DEFGUARD_DISABLE_FW_MGMT` is meant as a workaround for running in incompatible environments, where our [default firewall integration](../features/access-control-list/firewall-internals.md) is not supported. -As a consequence, enabling this option disables [ACL functionality](admin-and-features/access-control-list/) on a given gateway. +As a consequence, enabling this option disables [ACL functionality](../features/access-control-list/) on a given gateway. {% endhint %} -* `HTTP_BIND_ADDRESS`: The IP address that the HTTP should bind to (available since version 1.5.0) +* `DEFGUARD_HTTP_BIND_ADDRESS`: The IP address that the HTTP should bind to +* `DEFGUARD_IFNAME` - The network interface that will be created and used for the VPN traffic +* `DEFGUARD_FW_PRIORITY` - The NFT forward chain priority, which handles traffic filtering when ACLs are configured. Defaults to 0. Useful if the Defguard's forward chain conflicts with other chains. #### Executing custom commands on VPN up/down @@ -239,3 +243,21 @@ syslog_socket = "/var/run/log" * `-p ` , `--provision `: Provision YubiKey with the following data * `-w ` , `--worker-token `: Secret worker token to secure gRPC communication, available on provisioners page * `-c ` , `--command `: Run command after provisioning and pass created keys as arguments + +## Troubleshooting the configuration + +Common configuration issues. + +### Gateway + +`Error: Syslog(Initialization(Io(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))` + +The selected syslog socket may be wrong. See the `syslog_socket` configuration option for the gateway: [#config-file](configuration.md#config-file "mention"). Set it to a correct syslog socket on your operating system. The default socket is valid for FreeBSD. + +### **Core** + +`Cookie “defguard_session” has been rejected for invalid domain.` (browser console error) + +This issue most often takes the form of not being able to login without any obvious cause. The login button doesn't redirect and no relevant error message is displayed in the Defguard Core logs. In this case we recommend checking the browser logs (usually right click > inspect should open the developer tools along with the browser console). If you can see the above error, this means that your `DEFGUARD_URL` configuration option doesn't match the URL you use to access the dashboard at the moment. + +For example, if your login screen is at `http://my.domain.com:8000/auth/login` set `DEFGUARD_URL` to `` http://my.domain.com:8000` `` . diff --git a/deployment-strategies/deploying-to-production.md b/deployment-strategies/deploying-to-production.md new file mode 100644 index 0000000..6927337 --- /dev/null +++ b/deployment-strategies/deploying-to-production.md @@ -0,0 +1,58 @@ +# Deploying to Production + +{% stepper %} +{% step %} +### Gain knowledge + +Before you start your deployment, take a moment to learn about Defguard. + +The following articles will help you make deployment decisions and understand which features you may want to configure afterward. Make sure to read them carefully. + +* [Defguard's features](../about/features-overview.md) +* [Defguard's architecture](../in-depth/architecture/) +{% endstep %} + +{% step %} +### Choose your deployment strategy + +Decide which deployment approach best fits your infrastructure and security requirements. Choose from different [deployment strategies](setting-up-your-instance.md#choose-your-deployment-strategy) and their recommended use cases. +{% endstep %} + +{% step %} +### Prepare your environment + +Make sure your infrastructure meets all [system and network requirements](hardware-os-network-and-firewall-recommendations.md). +{% endstep %} + +{% step %} +### Deploy using the chosen strategy + +Deploy your instance using the chosen [strategy](setting-up-your-instance.md#choose-your-deployment-strategy). Make sure to follow the right [deployment sequence](setting-up-your-instance.md#initial-deployment-sequence). +{% endstep %} + +{% step %} +### Test if everything works as expected + +Follow our [guide](production-deployment-verification-guide.md) to test if your deployment in secure and works as expected. +{% endstep %} + +{% step %} +### Configure features + +Follow detailed descriptions of [Defguard's features](/broken/pages/dt2GFcP4faJtj82iTYQw). As you follow along, you can adjust the configuration directly within your instance. + +For a detailed list of all configurable things through environmental variables, options or configuration files follow [this reference](configuration.md). +{% endstep %} + +{% step %} +### Your secure infrastructure is ready for use + +Optional but recommended additional steps: + +* [Securing internal gRPC communication](grpc-ssl-communication.md) +* [Configuring backups](setting-up-your-instance.md#backup) +* [Setting up for high availability and failover](high-availability-and-failover.md) + + +{% endstep %} +{% endstepper %} diff --git a/deployment-strategies/docker-compose.md b/deployment-strategies/docker-compose.md index de594d4..9a598d3 100644 --- a/deployment-strategies/docker-compose.md +++ b/deployment-strategies/docker-compose.md @@ -1,14 +1,49 @@ # Docker Compose -Here are basic and simple docker-compose configuration files that will enable you to quickly deploy your own instance manually. We also assume in this example, that all services will be deployed on dedicated servers/VMs - separating them physically, thus each compose is for a separate service. +## Introduction -{% hint style="success" %} -Please not that we also offer docker-compose deployment with [_one-line quick deployment_](../getting-started/one-line-install.md)_,_ but this method is recommended for PoC/quick deployment as **it launches everything on one server and all services in one docker compose**. +This document provides a complete example of how to deploy Defguard using Docker Compose, including configuration for all components - Core, Proxy, and Gateway. It covers Docker image tags, environment variables, and reverse-proxy setup examples to help you quickly launch a fully functional Defguard environment. + +We recommend deploying each Defguard service on a dedicated server or virtual machine to ensure better isolation, performance, and security. In this setup, each Docker Compose file should be used for a single service, keeping the Core, Proxy, and Gateway components physically separated. + +{% hint style="info" %} +Please note that we also offer docker-compose deployment with [_one-line quick deployment_](../getting-started/one-line-install.md)_,_ but this method is recommended for PoC/quick deployment as **it launches everything on one server and all services in one docker compose**. +{% endhint %} + +## Docker images and tags + +We use `latest` (latest production images) tags in the examples below, but you can use others. + +All docker images for Core, Gateway, and Proxy have these additional tags: + +* `latest` - the latest stable production release. +* `vX.Y`, `vX.Y.Z`, `vX.Y-alpha1` - fixed tags for specific stable and alpha releases. +* `pre-release`- the latest pre-production release (equivalent to vX.Y-alpha1). +* `dev` - the latest development build from the dev branch (experimental). + +{% hint style="warning" %} +We recommend always using fixed, stable tags (`vX.Y`, `vX.Y.Z`) for your production deployment. {% endhint %} -We use "latest" (latest production images) tags in the examples below, but you can use others - [more info here](docker-images-and-tags.md). +## Example Docker Compose deployment repository + +We prepared a [git repository](https://github.com/DefGuard/deployment) with and example Docker Compose configuration. + +To run your services using this example prepare your .env file by copying the template: + +```bash +cp .env.template .env +``` + +Finally, run the service with Docker Compose: + +```bash +docker compose up +``` + +Below you'll find a detailed breakdown of configuration for different components: Core, Proxy and Gateway. -## Core +## Deploying Core, database and reverse proxy services Here is the docker-compose.yaml for the core and database. Configuration is split to the `.env` file (see below): @@ -29,10 +64,10 @@ services: - db volumes: # more info here: - # https://docs.defguard.net/admin-and-features/setting-up-your-instance/openid-rsa-key + # https://docs.defguard.net/deployment-strategies/openid-rsa-key - ./rsakey.pem:/keys/rsakey.pem # more info about custom CA here: - # https://docs.defguard.net/admin-and-features/setting-up-your-instance/grpc-ssl-communication#custom-ssl-ca-and-certificates + # https://docs.defguard.net/deployment-strategies/grpc-ssl-communication#custom-ssl-ca-and-certificates - ./ca.pem:/keys/ca.pem db: @@ -79,7 +114,7 @@ server { } ``` -### The configuration +#### The configuration Here is the `.env` file with all configuration variables: @@ -103,12 +138,12 @@ DEFGUARD_WEBAUTHN_RP_ID=defguard.secure-internal.net DEFGUARD_LOG_LEVEL=info # more info about custom CA here: -# https://docs.defguard.net/admin-and-features/setting-up-your-instance/grpc-ssl-communication#custom-ssl-ca-and-certificates +# https://docs.defguard.net/deployment-strategies/grpc-ssl-communication#custom-ssl-ca-and-certificates DEFGUARD_PROXY_GRPC_CA=/keys/ca.pem # gRPC URL of proxy (see proxy config) DEFGUARD_PROXY_URL=https://proxy.host:50051 # more details about RSA key here: -# https://docs.defguard.net/admin-and-features/setting-up-your-instance/openid-rsa-key +# https://docs.defguard.net/deployment-strategies/openid-rsa-key DEFGUARD_OPENID_KEY=rsakey.pem # the URL of your proxy - will be displayed during enrollment, email @@ -132,7 +167,7 @@ POSTGRES_USER=defguard POSTGRES_PASSWORD=!SAME_AS-GENERATED-DEFGUARD_DB_PASSWORD! ``` -## Proxy +## Deploying Proxy and reverse proxy service Here is the docker-compose.yaml for the public proxy (enrollment service as well as desktop client configuration service). @@ -188,28 +223,32 @@ server { ``` -## Gateway +## Deploying Gateway service + +Before deploying a new Gateway service, make sure you have a running Defguard Core instance. + +On the network level, your Gateway must be able to reach the Core service’s gRPC endpoint. This address is passed as the `DEFGUARD_GRPC_URL` parameter when deploying the Gateway. The Gateway uses it to communicate with Core, fetch its configuration, and publish operational statistics. -For gateway to control the WireGuard kernel as well as network, it's recommended to run in the _host_ network mode as well as there are needed some docker CAPs: +You’ll also need a Location created in the Defguard Core Admin Panel. + +Each Location is identified by a unique token, which must be provided to the Gateway as the `DEFGUARD_TOKEN` parameter. The Gateway uses this token to authenticate with Core over the gRPC channel and retrieve the correct configuration for that specific Location. For detailed steps on how to create a Location and obtain its token, see [this section](gateway.md). + +For the most basic configuration use the following Docker Compose file: ``` services: gateway: - image: ghcr.io/defguard/gateway:latest - restart: unless-stopped - network_mode: "host" - environment: + image: ghcr.io/defguard/gateway:latest + restart: unless-stopped + network_mode: "host" + environment: - DEFGUARD_GRPC_URL=https://core-ip:50055 - - DEFGUARD_GRPC_CA=/ca.pem - - DEFGUARD_STATS_PERIOD=30 - # to get the token add a VPN location and get the token - DEFGUARD_TOKEN=tokenFromCoreLocation - - DEFGUARD_GATEWAY_NAME=willBeVisibleInDefguardAsGWName - volumes: - # more info about custom CA here: - # https://docs.defguard.net/admin-and-features/setting-up-your-instance/grpc-ssl-communication#custom-ssl-ca-and-certificates - - ./ca.pem:/ca.pem - cap_add: - - NET_ADMIN + cap_add: + - NET_ADMIN ``` +{% hint style="info" %} +The Docker Compose configuration runs the Gateway in host network mode and includes the required Docker capabilities. This setup is necessary because the Gateway needs direct access to the host network stack and WireGuard kernel module to create and manage VPN interfaces properly. +{% endhint %} + diff --git a/deployment-strategies/docker-images-and-tags.md b/deployment-strategies/docker-images-and-tags.md deleted file mode 100644 index ac2a114..0000000 --- a/deployment-strategies/docker-images-and-tags.md +++ /dev/null @@ -1,7 +0,0 @@ -# Docker images and tags - -All docker images for gateway, core, and proxy have these additional tags: - -* `latest` - this tag is for the latest production release - aka `vX.Y.Z` from the `main` branch -* `pre-release`- this tag is for the latest pre-production release - aka `vX.Y.Z-alpha/beta/rcX` from the `main` branch -* `dev` - this tag is for the latest development release from the `dev` branch. diff --git a/deployment-strategies/gateway.md b/deployment-strategies/gateway.md new file mode 100644 index 0000000..7df5721 --- /dev/null +++ b/deployment-strategies/gateway.md @@ -0,0 +1,56 @@ +--- +description: >- + This documentation will guide you through adding a new location and proceeding + with the Gateway deployment, enabling your devices to connect to it via VPN. +--- + +# Adding a location and getting a Gateway token + +## Adding a location in Defguard Core + +{% hint style="warning" %} +Please remember that **one gateway corresponds to one VPN location.** + +You can also deploy multiple gateways for one location for High Availability. +{% endhint %} + +Go to the address you set on `DEFGUARD_URL` with your browser and sign in using the credentials you set up during Core deployment. + +Go to the _VPN Overview_ module from the main menu and click the _Edit Locations settings_. + +

Adding a new location

+ +Then click the _Add new location tab_. + +
Adding a new location

Adding a new location

+ +Depending on what is more convenient for you, choose configuration from Wireguard file or do it manually. + +

Location wizard

+ +

Location configuration

+ +After saving configuration for location you should be redirect to Location overview page, where at the top right corner is `Edit Locations Settings` button, click on it. + +

Manual configuration

+ +In `Gateway server setup` copy two variables: `DEFGUARD_TOKEN` and `DEFGUARD_GRPC_URL` + +

Gateway server setup

+ +Also, if core has a custom SSL CA to secure gRPC communication, [you need the CA certificate (more here).](grpc-ssl-communication.md#custom-ssl-ca-and-certificates) + +## Deploy the Gateway service + +Proceed with deploying your Gateway service using the selected [deployment strategy](setting-up-your-instance.md#choose-your-deployment-strategy): + +* [package based](standalone-package-based-installation/#gateway-1) +* [Docker Compose](docker-compose.md#deploying-gateway-service) +* [Kubernetes](kubernetes.md#vpn-gateway-service) +* [Terraform](terraform.md#gateway-module) +* [AMIs and AWS CloudFormation](amis-and-aws-cloudformation/#gateway-instance) + +You can also check our guides on running Gateway on [OPNsense firewall](running-gateway-on-opnsense-firewall.md) or [MikroTik router](running-gateway-on-mikrotik-routers.md). + +If everything went well, Defguard Gateway should be connected to Defguard Core and you can start [adding new devices to your network](../features/network-devices.md#adding-a-new-network-device). + diff --git a/deployment-strategies/gateway/README.md b/deployment-strategies/gateway/README.md deleted file mode 100644 index 3921a38..0000000 --- a/deployment-strategies/gateway/README.md +++ /dev/null @@ -1,148 +0,0 @@ -# Gateway - -{% hint style="info" %} -If you are looking for [gateway High Availability, go to this document.](../high-availability-and-failover.md#gateway-high-availability) -{% endhint %} - -## Pre-requirements - -{% hint style="warning" %} -Please remember that **one gateway corresponds to one VPN location.** - -You can also deploy multiple gateways for one location for High Availability. -{% endhint %} - -To deploy the gateway you need to have Defguard core running and know it's [gRPC url](../../configuration.md#core-configuration) (meaning what is the **host/ip** where the core is running and the **gRPC port** defined in core by DEFGUARD\_GRPC\_PORT configuration variable**)** and a **token.** - -**Token** can be obtained when you go to _VPN Locations -> Edit location settings (in top right corner) -> Select the desired location_ -> the right panel describes how to deploy the gateway for the location as well as lists the gateway authentication token: - -
- -Also, if core has a custom SSL CA to secure gRPC communication, [you need the CA certificate (more here).](../grpc-ssl-communication.md#custom-ssl-ca-and-certificates) - -## Package Install - -1. On the [release page](https://github.com/DefGuard/gateway/releases) find and download a correct software package for your system (currently DEB, RPM and TXZ are available). -2. Install the package using relevant system tools: - - **Ubuntu/Debian:** - - ```bash - sudo dpkg -i - ``` - - **Fedora/Red Hat Linux/SUSE:** - - ```bash - sudo rpm -i - ``` - - **FreeBSD:** - - ```bash - pkg add - ``` -3. Fill in the default configuration file (`/etc/defguard/gateway.toml`) with values corresponding to your Defguard installation (token and gRPC endpoint URL). -4. On systems with [systemd](https://systemd.io/), enable and start the **systemd** service: - - ```bash - sudo systemctl enable defguard-gateway.service - sudo systemctl start defguard-gateway.service - ``` - -On systems with rc.d (like FreeBSD, NetBSD), start the service. For example, on OPNsense: - -```bash -sudo /usr/local/etc/rc.d/defguard_gateway start -``` - -## Package Upgrade - -### FreeBSD/OPNsense - -1. Uninstall the current version. - - ```bash - pkg delete defguard-gateway - ``` -2. Install a newer version (as described above in [Package Install](./#package-install)). - - ```bash - pkg add - ``` -3. Restart Defguard Gateway service. - - ```bash - sudo /usr/local/etc/rc.d/defguard_gateway restart - ``` - -## Docker Compose - -To start Defguard Gateway using [Docker Compose](https://docs.docker.com/compose/): - -1. We prepared a [git repository](https://github.com/DefGuard/deployment) with Docker Compose configuration, clone it: - -``` -git clone --recursive https://github.com/DefGuard/deployment.git && cd deployment/gateway -``` - -2. Copy and fill in the .env file: - -```bash -cp .env.template .env -``` - -3. Finally, run the service with Docker Compose: - -```bash -docker compose up -``` - -If everything went well, Defguard Gateway should be connected to Defguard Core and you can start [adding new devices to your network](../../admin-and-features/network-devices.md#adding-a-new-network-device). - -## OPNsense plugin - -[OPNsense®](https://opnsense.org/) is an open source, feature rich firewall and routing platform, offering cutting-edge network protection. - -To start Defguard Gateway as OPNsense plugin: - -1. On the [release page](https://github.com/DefGuard/gateway/releases) find and download OPNsense package which will be named:\ - `defguard-gateway_VERSION_x86_64-unknown-opnsense.pkg` – this package **includes both Defguard Gateway and OPNsense plugin.** -2. Install the package: - -```bash -pkg add defguard-gateway_VERSION_x86_64-unknown-opnsense.pkg -``` - -3. Refresh your OPNsense UI by running command below: - -```bash -opnsense-patch -``` - -4. Go to your OPNsense UI and navigate to **VPN** > **Defguard Gateway**. - -
- -5. Fill out the form with appropriate values, click **Save**, and then click **Start/Restart.** - -{% hint style="info" %} -You can find detailed description of all fields [here](../../configuration.md#gateway-configuration). -{% endhint %} - -If everything went well, Defguard Gateway should be connected to Defguard Core and you can start [adding new devices to your network](../../admin-and-features/wireguard/remote-desktop-activation.md). - -See also: [how to configure Defguard in OPNsense](../../admin-and-features/setting-up-your-instance/gateway/) - -## Binary Install - -1. Checkout Gateway releases [here](https://github.com/DefGuard/gateway/releases) and download compatible binary from GitHub page. -2. Decompress and move to bin directory - -```sh -tar xcf ./gateway.tar.gz -sudo chmod +x gateway -sudo mv gateway /usr/bin/ -``` - -3. Start gateway `gateway -g -t ` diff --git a/deployment-strategies/grpc-ssl-communication.md b/deployment-strategies/grpc-ssl-communication.md index d49f719..c4f2a3a 100644 --- a/deployment-strategies/grpc-ssl-communication.md +++ b/deployment-strategies/grpc-ssl-communication.md @@ -1,26 +1,89 @@ # Securing gRPC communication -Defguard Core has two main communication endpoints: +Defguard components exchange data over gRPC, which must be properly secured to protect sensitive information and prevent unauthorized access. -1. gRPC port for communicating with Defguard Gateways, -2. gRPC port for communicating with Defguard Core. +## Firewall rules -{% hint style="danger" %} -It is **critical** that: +Defguard components expose two ports that require firewall-level protection: -1. Defguard Core's gRPC port is open on a firewall only for IP addresses of Defguard Gateway nodes. -2. Defguard Proxy's gRPC port is open on a firewall only for the IP address of Defguard Core. -3. If you want an additional layer of security, then you should create a **custom SSL Certificate Authority (CA)**, and provide Core, Proxy and Gateway Certificates from that CA so **any other connections to the gRPC services will not be accepted.** -4. Even if you have secured the network ports/firewall and do not want to create a custom SSL CA, please secure gRPC traffic with SSL and a reverse proxy. +* Defguard Core exposes a gRPC port for communication with Defguard Gateways. +* Defguard Proxy exposes a gRPC port for communication with Defguard Core. + +Limit access to gRPC ports: + +* Allow Core’s gRPC port only from Gateway IPs. +* Allow Proxy’s gRPC port only from Core’s IP. + +## SSL encryption + +Even if you already use [SSL on a reverse proxy](reverse-proxy-configuration-using-nginx.md#obtaining-ssl-certificates), this only protects external traffic. Internal gRPC connections between Proxy, Core, and Gateways occur behind the proxy and must also be encrypted and authenticated. These connections carry sensitive operational data and should never be left unprotected. + +You can **choose one** of two approaches: + +* [Trusted CA certificates](grpc-ssl-communication.md#trusted-ca-certificates) (encryption only) - use certificates issued by a recognized Certificate Authority (e.g., Let’s Encrypt). This approach provides encrypted traffic. +* [Custom internal CA](grpc-ssl-communication.md#custom-internal-ca) (encryption + authentication) - create your own Certificate Authority and issue certificates for Core, Proxy, and Gateway. This setup enables mutual TLS (mTLS), meaning each component both encrypts and authenticates the connection - ensuring that only trusted Defguard services can communicate with each other. + +Choose one of these options based on your environment: trusted CA for simplicity, or a custom CA for full Zero Trust mutual authentication. + +### Trusted CA certificates + +If you followed our [guide on configuring SSL for reverse proxy](reverse-proxy-configuration-using-nginx.md#obtaining-ssl-certificates) your certificates should be located in the following path `/etc/letsencrypt/live/domain.name/`. Use the PEM-formatted CA certificate for configuring Defguard components. + +{% hint style="warning" %} +While this secures the transport layer and encrypts communication between Defguard components - it does not provide authorization between gRPC components like [Custom internal CA](grpc-ssl-communication.md#custom-internal-ca) does. + +Thus, this type of SSL termination should only be done if you trust your network and have secured gRPC ports on firewall. {% endhint %} -## Custom SSL CA and certificates +#### Configure Defguard Core + +Add path to CA certificate file using command line arguments: + +```bash +defguard --proxy-grpc-ca /etc/letsencrypt/live/domain.name/chain.pem +``` + +or using the service's configuration file: + +```toml +proxy_grpc_ca = "/etc/letsencrypt/live/domain.name/chain.pem" +``` + +or using environment variable: + +```bash +env DEFGUARD_PROXY_GRPC_CA=/etc/letsencrypt/live/domain.name/chain.pem \ + defguard +``` + +#### Configure Defguard Gateway + +Add path to CA certificate file using command line arguments: + +```bash +defguard-gateway --grpc-ca /etc/letsencrypt/live/domain.name/chain.pem +``` + +or using the service's configuration file: + +```toml +grpc_ca = "/etc/letsencrypt/live/domain.name/chain.pem" +``` + +or using environment variable: + +```bash +env DEFGUARD_GRPC_CA=/etc/letsencrypt/live/domain.name/chain.pem \ + defguard-gateway +``` -To secure not only with firewall communication between all Defguard gRPC components, a custom SSL chain of certificates should be used. This way the trust will be ensured on the Transport Layer Security (TLS) level. +### Custom internal CA -It is important to embed a correct domain name into the certificate as _X509v3 Subject Alternative Name_. The domain name must match the one under which a service is being hosted. +{% hint style="warning" %} +It is important to embed a correct domain name into the certificate as _X509v3 Subject Alternative Name_. The domain name must match the one **under which a service is being hosted**. +{% endhint %} -### Quick setup +#### Generate certificates To quickly generate a set of SSL certificates using [OpenSSL](https://openssl-library.org) or [LibreSSL](https://www.libressl.org), use the following: @@ -52,11 +115,9 @@ To display certificate file contents: openssl x509 -noout -text -in core.crt ``` -### Defguard configuration - -#### Defguard Core +#### Configure Defguard Core -Using command line arguments +Add paths to certificate files using command line arguments: ```sh defguard --grpc-cert path/to/core.crt \ @@ -64,7 +125,15 @@ defguard --grpc-cert path/to/core.crt \ --proxy-grpc-ca path/to/ca.crt ``` -Using environment variables +or using the service's configuration file: + +```toml +grpc_cert = "path/to/core.crt" +grpc_key = "path/to/core.key" +proxy_grpc_ca = "path/to/ca.crt" +``` + +or using environment variables: ```sh env DEFGUARD_GRPC_CERT=path/to/core.crt \ @@ -73,16 +142,23 @@ env DEFGUARD_GRPC_CERT=path/to/core.crt \ defguard ``` -#### Defguard Proxy +#### Configure Defguard Proxy -Using command line arguments +Add paths to certificate files using command line arguments: ```sh defguard-proxy --grpc-cert path/to/proxy.crt \ --grpc-key path/to/proxy.key ``` -Using environment variables +or using the service's configuration file: + +```toml +grpc_cert = "path/to/core.crt" +grpc_key = "path/to/core.key" +``` + +or using environment variables: ```sh env DEFGUARD_PROXY_GRPC_CERT=path/to/proxy.crt \ @@ -90,40 +166,26 @@ env DEFGUARD_PROXY_GRPC_CERT=path/to/proxy.crt \ defguard-proxy ``` -### Defguard Gateway +#### Configure Defguard Gateway -Using command line arguments +Add paths to certificate files using command line arguments: ```sh defguard-gateway --grpc-ca path/to/ca.crt ``` -Using environment variables - -```sh -env DEFGUARD_GRPC_CA=path/to/ca.crt \ - defguard-gateway -``` - -Using configuration file +or using the service's configuration file: ```toml grpc_ca = "path/to/ca.crt" ``` -## Trusted CA (eg. Let'sEncrypt or others) +or using environment variables: -Often (like in the standalone package based installation tutorial) gRPC communication can be secured by a reverse proxy (NGINX, Caddy, Traefik, etc.) that handles SSL termination. It's common to use typical trusted CA (that is used for typical HTTPS traffic) like Let'sEncrypt or others. - -{% hint style="danger" %} -While this secures the transport layer and encrypts communication between Defguard components - it does not provide authorization between gRPC components like Custom CA does. +```sh +env DEFGUARD_GRPC_CA=path/to/ca.crt \ + defguard-gateway +``` -Thus, this type of SSL termination should only be done if you trust your network and have secured gRPC ports on firewall. -{% endhint %} -If Defguard Core or Defguard Proxy are using reverse proxy with SSL termination, then only you need to configure CA certificate paths for: -* Defguard Gateway – in _gateway.toml_ add path to CA certificate file (in PEM format); for example, when using standard Let'sEncrypt installation ([Certbot](https://certbot.eff.org)), you configure the CA path like this: - * `grpc_ca = "/etc/letsencrypt/live/domain.name/chain.pem"` -* Defguard Core – similarily, you need to configure Proxy CA certificate file using **DEFGUARD\_PROXY\_GRPC\_CA** environment variable: - * `DEFGUARD_PROXY_GRPC_CA: /etc/letsencrypt/live/domain.name/chain.pem` diff --git a/deployment-strategies/hardware-os-network-and-firewall-recommendations.md b/deployment-strategies/hardware-os-network-and-firewall-recommendations.md new file mode 100644 index 0000000..1f69b4b --- /dev/null +++ b/deployment-strategies/hardware-os-network-and-firewall-recommendations.md @@ -0,0 +1,98 @@ +--- +description: >- + Before Defguard can be deployed please get familiar with the following + recommendations +--- + +# Hardware, OS, network and firewall recommendations + +## Server & environment requirements + +Defguard can be deployed on multiple servers (physical or virtual) or on a single server (which is not recommended). + +Recommended setup reflects the [general system architecture](../in-depth/architecture/) with components being split into three separate machines: + +1. **Dedicated server or Virtual Machine for Core (control plane)** - that is in the Intranet network segment, not exposed in the public Internet in any way. Core needs to be accessible from the local (secure) network and VPN (to access Defguard securely). Recommended hardware parameters: + 1. CPU: min. 1 CPU/vCPU per location - eg. if Defguard handles 2 VPN locations recommended is min. 2 CPU/vCPU + 2. RAM: min. 1GB per location + 3. Disk: min 8GB and more (since statistics will be gathered) +2. **Dedicated server or Virtual Machine for Proxy (external and public enrollment service)** - this server/VM needs to be deployed in DMZ/public/external systems network segment - as this service will be exposed and must be available publicly from the Internet. Recommended hardware parameters: + 1. CPU: min. 1 CPU/vCPU per location + 2. RAM: min. 1GB + 3. Disk: min 1GB +3. **Dedicated server or Virtual Machine for Gateway -** this server/VM needs to be deployed in: + 1. DMZ/public/external systems network segment - as this service will be exposed and must be available publicly from the Internet. + 2. Has access on Internal network interfaces to all network segments that will be exposed from VPN for users. + 3. Recommended hardware parameters: + 1. CPU: min. 1 CPU/vCPU per location + 2. RAM: min. 1GB + 3. Disk: min 4GB (mostly for logs) + +In general the hardware requirements will also have to be adjusted based on the number of active users. The numbers above should serve as a baseline. + +### Operating system and software requirements + +#### Package based installation + +Package based install requires Debian GNU/Linux min. 13.x or Ubuntu Linux min. 24.04.x + +#### Docker based installation + +Docker deployment requires the system to have [official Docker Engine installation](https://docs.docker.com/engine/install/) (not distribution based packages). + +## Network IP & DNS setup + +### Gateway server - where WireGuard VPN tunnels itself will be launched + +* **The** [**Gateway address**](../features/wireguard/create-your-vpn-network.md) and[ **Gateway Port**](../features/wireguard/create-your-vpn-network.md) **must be publicly available from the Internet** + +{% hint style="warning" %} +The server on which the Gateway is installed does not need to have the IP address (the same as the Gateway Address) assigned to it - can have internal network address. + +The Gateway Address is the address specified in the clients’ configuration – therefore, if this address is assigned for example to a Firewall or Load Balancer rather than the server hosting the Gateway, **the port from this address (Gateway Port) must be forwarded (e.g., via NAT) to the Gateway Port on the server where the Gateway is installed.** +{% endhint %} + +* must have all networks on internal interfaces addresses configured, that should be accessible from VPN +* **Recommended:** to have a public domain assigned to this IP for VPN server, eg. _vpn.company.com_ + +### Proxy - public web service for enrollment & desktop client configuration + +* **The** [**enrollment URL**](https://docs.defguard.net/deployment-strategies/configuration#enrollment-configuration) **(that proxy will be configured under and available for user and clients to reach) needs to be publicly available from the Internet.** + +{% hint style="warning" %} +The server on which the Proxy is installed does not need to have the IP address assigned to it which the enrollment URL domain points to - can have internal network address. + +If this address is assigned for example to a Firewall or Load Balancer rather than the server hosting the Gateway, **the port from this address (eg. if the enrollment URL is https://vpn-config.domain.com, then the port is 443) must be forwarded (e.g., via NAT) to the** [**DEFGUARD\_PROXY\_HTTP\_PORT**](https://docs.defguard.net/deployment-strategies/configuration#proxy-service) **on the server where the Proxy is installed.** +{% endhint %} + +* **must have a public enrollment domain assigned to this IP, **_**eg. enrollment.company.com (or vpn-config.company.com, etc..**_**)** + +### Core & database server + +* should be internal / private IP addresses accessible only from Intranet and VPN +* must have internal domain name assigned in the local network DNS server, eg. _defguard.company.com_ + +## Firewall settings + +### Gateway + +1. Please open the public port you wish the VPN to be working on - eg. 50555 + +* Please open on the firewall: local network access **from the Gateway server/VM** → **to Defguard Core gRPC port - more info here:** [**https://docs.defguard.net/deployment-strategies/configuration#grpc-server-configuration**](https://docs.defguard.net/deployment-strategies/configuration#grpc-server-configuration) + +### Proxy + +1. please open the public 443 port on the server (recommended to rewrite port 80 to redirect to 443) +2. please open gRPC port on the internal network - so that the **Defguard Core can connect to this port - more details here:** [**https://docs.defguard.net/1.5/deployment-strategies/configuration#proxy-service**](https://docs.defguard.net/1.5/deployment-strategies/configuration#proxy-service) + +### Core + +1. please open 443 port for web interface accessible only from local/VPN network +2. please open a gRPC port **for the gateway server to connect to this port - more info here:** [**https://docs.defguard.net/deployment-strategies/configuration#grpc-server-configuration**](https://docs.defguard.net/deployment-strategies/configuration#grpc-server-configuration) + +## Backup strategy + +In a production environment you should use your preferred backup solution to secure the following: + +* service configuration (.env file, service config files, compose configuration) +* database content (prefferably by doing a regular pgdump, not just filesystem-level backup) diff --git a/deployment-strategies/health-check.md b/deployment-strategies/health-check.md new file mode 100644 index 0000000..f67901e --- /dev/null +++ b/deployment-strategies/health-check.md @@ -0,0 +1,87 @@ +# Health check + +## Proxy + +[Proxy](https://github.com/defguard/proxy) provides health endpoint at `GET /api/v1/health` which checks whether the application is running. + +Example request: + +```sh +curl "https://enroll.example.com/api/v1/health" +``` + +Response: + +``` +"alive" - with status code 200 - Proxy is working +``` + +To verify gRPC services for **Proxy** are alive, there is endpoint at `GET /api/v1/health-grpc` that verify it. + +Example request: + +```bash +curl "https://enroll.example.com/api/v1/health-grpc" +``` + +Response: + +``` +"alive" with status code 200 - Proxy is working and is connected to CORE +"Not connected to Defguard Core" - with status code 503 - Proxy is working but is not connected to CORE +``` + +## Core + +To check if [**Core**](https://github.com/defguard/defguard) is working, you can use endpoint at `GET /api/v1/health` which verify it. + +Example request: + +```bash +curl "https://defguard.example.com/api/v1/health" +``` + +Response: + +``` +"alive" - with status code 200 - Core is working +``` + +To check if core gRPC service is alive, we recommend to use community tools like [grpc\_health\_probe](https://github.com/grpc-ecosystem/grpc-health-probe). + +Example request for core: + +```sh +./grpc_health_probe -addr=defguard.example.com:50055 +``` + +Example response: + +``` +status: SERVING +``` + +## Gateway + +You can enable in gateway config ([example config](https://github.com/DefGuard/gateway/blob/main/example-config.toml)) a health check port, by adding the following line: + +``` +health_port = 55003 +``` + +In this example, gateway will open an additional HTTP port number 55003. Now we can use `GET /api/v1/health` endpoint to verify whether gateway is working correctly. + +Example request: + +```sh +curl "http://gateway.example.com:55003/api/v1/health" +``` + +Response: + +``` +"alive" - with status code 200 - Gateway is working and is connected to CORE +"Not connected to core" - with status code 503 - Gateway is working but is not connected to CORE +``` + +By default, no health check ports are open. diff --git a/deployment-strategies/high-availability-and-failover.md b/deployment-strategies/high-availability-and-failover.md index 488b3cd..3015c8b 100644 --- a/deployment-strategies/high-availability-and-failover.md +++ b/deployment-strategies/high-availability-and-failover.md @@ -5,12 +5,12 @@ We support running multiple gateways for a single VPN instance or location, enabling active-passive configurations. Active-active configurations should also be possible but come with some caveats. Since our gateway uses a vanilla kernel WireGuard®, there are multiple approaches for implementation. {% hint style="info" %} -Please also see documentation of [Creating a New VPN location](../admin-and-features/wireguard/create-your-vpn-network.md) where each [location setting has information regarding high-availability](../admin-and-features/wireguard/create-your-vpn-network.md#vpn-location-settings). +Please also see documentation of [Creating a New VPN location](../features/wireguard/create-your-vpn-network.md) where each [location setting has information regarding high-availability](../features/wireguard/create-your-vpn-network.md#vpn-location-settings). {% endhint %} #### Deploying multiple gateways for one location -To have a multi-gateway setup for a given location, you will need to [deploy the gateway on each one of your servers](gateway/) under the same location. +To have a multi-gateway setup for a given location, you will need to [deploy the gateway on each one of your servers](gateway.md) under the same location. If you already have a gateway deployed and want to add another one for the location, go to _VPN Overview_ -> Click: _Edit Location Settings (in the top right corner)_, then choose the location you want to add the new gateway to, and follow the deployment instructions: diff --git a/deployment-strategies/kubernetes.md b/deployment-strategies/kubernetes.md index b2c28dd..793dae6 100644 --- a/deployment-strategies/kubernetes.md +++ b/deployment-strategies/kubernetes.md @@ -45,6 +45,14 @@ If you have other ingress controller than traefik - you need to configure GRPC i * `ingress.hosts.web`: Web ingress address - Defguard web app will be available here. * `publicUrl`: Public URL your Defguard will be available under. Usually the same as ingress.hosts.web, but differs depending on your load balancer and/or reverse-proxy setup. +And finally, install the Helm chart in the namespace: + +``` +helm install --wait=true --namespace defguard defguard defguard -f values.yaml +``` + +### Proxy service + If you want to deploy the enrollment service along with your Defguard instance, you also need to configure values related to the `defguard-proxy`subchart: * `defguard-proxy.enabled`: enable the enrollment service @@ -53,8 +61,15 @@ If you want to deploy the enrollment service along with your Defguard instance, * `defguard-proxy.ingress.web.host`: enrollment service web ingress address (the enrollment website) * `defguard-proxy.ingress.grpc.host`: enrollment service gRPC ingress address (for communicating with core) -And finally, install the Helm chart in the namespace: +### VPN gateway service -``` -helm install --wait=true --namespace defguard defguard defguard -f values.yaml -``` +If you want to deploy the VPN gateway service along with your Defguard instance, you need to do it in two steps: + +* first deploy the core service and use the web UI to [setup a VPN location](../tutorials/step-by-step-setting-up-a-vpn-server/adding-additional-vpn-locations.md) +* copy the gateway token and proceed to deploying the gateway itself + + To deploy the gateway service, configure values related to the `defguard-gateway`subchart: + +* `defguard-gateway.enabled`: enable the VPN gateway service +* `defguard-gateway.token`: the gateway token generated in Web UI +* `defguard-gateway.grpcUrl`: URL where the core gRPC server is available (based on `defguard.ingress.grpc.host`) diff --git a/openid-rsa-key.md b/deployment-strategies/openid-rsa-key.md similarity index 100% rename from openid-rsa-key.md rename to deployment-strategies/openid-rsa-key.md diff --git a/deployment-strategies/production-deployment-verification-guide.md b/deployment-strategies/production-deployment-verification-guide.md new file mode 100644 index 0000000..7f389b8 --- /dev/null +++ b/deployment-strategies/production-deployment-verification-guide.md @@ -0,0 +1,194 @@ +# Production deployment verification guide + +This guide helps you verify that your Defguard instance is operational, reachable through the expected network paths, and properly secured. + +The process will consist of the following steps: + +1. Verifying the configuration of your firewall rules. +2. Verifying your DNS resolution. +3. Testing the whole configuration. + +## Prerequisites + +Before proceeding, ensure that you deployed your Defguard environment according to the [recommendations](hardware-os-network-and-firewall-recommendations.md) and that the following components are operational: + +* 1 server running Defguard Core + * Located in an internal network segment (not exposed to the Internet) + * Reachable internally under a domain such as defguard.example.com +* 1 server running Defguard Proxy + * Located in a DMZ network segment + * Publicly accessible from the Internet under a domain such as proxy.example.com +* 1 server running Defguard Gateway + * Located in a DMZ network segment + * Publicly accessible from the Internet under a domain such as vpn.example.com +* A workstation with the Defguard Desktop Client installed and configured to test VPN connectivity. + +## Verify firewall policies + +Confirm that your firewall rules align with Defguard’s secure deployment model. + +| Component | Allowed inbound | Blocked inbound | Notes | +| --------- | -------------------------------------------------------------------------------------------- | ------------------------- | ------------------------------------------------------ | +| Core |
  • TCP 443 (from internal/VPN only)
  • gRPC server port (from Gateway)
| All public traffic | Core should never be directly exposed to the Internet. | +| Proxy |
  • TCP 443 (from public Internet)
  • gRPC server port (from Core)
| All other inbound traffic | Used for enrollment and client configuration. | +| Gateway |
  • UDP VPN port (from public Internet)
| All other inbound traffic | Only VPN and Core communication should be allowed. | + +## Verify DNS resolution + +Proper DNS configuration ensures that each Defguard component resolves to the correct IP address and network zone. + +Run: + +``` +dig +short vpn.example.com +dig +short proxy.example.com +dig +short defguard.example.com +``` + +Expected results: + +| Domain | Expected IP Type | Description | +| -------------------- | ------------------- | ------------------------------------------------------ | +| vpn.example.com | Public IP | Gateway server reachable from the Internet | +| proxy.example.com | Public IP | Proxy server for enrollment and configuration | +| defguard.example.com | Private/Internal IP | Core server, accessible only from internal/VPN network | + +## Test the environment + +After you've confirmed the proper network segmentation it's time to test it. + +### Testing while disconnected from the VPN + +Perform the following tests from the workstation where the Defguard Desktop Client is installed. + +Make sure the client is disconnected before running any commands. + +In this state: + +* ❌ You should not be able to reach the Defguard Core server. +* ✅ You should be able to reach the Defguard Proxy server. +* ✅ You should be able to reach the Defguard Gateway server (UDP port for VPN). + +#### Test: Defguard Core server reachability and ports + +Check the open ports on your Defguard Core server (replace the example domain with your actual one): + +``` +sudo nmap -Pn -sS defguard.example.com +``` + +Expected output: + +``` +Failed to resolve "defguard.example.com". +``` + +Interpretation: + +* The Core server is not reachable when disconnected from the VPN, which is the expected and secure configuration. + +#### Test: Defguard Proxy Server Reachability and Ports + +Check the open ports on your Defguard Proxy server: + +``` +sudo nmap -Pn -sS proxy.example.com +``` + +Expected output: + +``` +Host is up (0.0082s latency). +PORT STATE SERVICE +443/tcp open https +``` + +Interpretation: + +* The host is reachable from the Internet. +* Only port 443/tcp is open, as expected for HTTPS access. + +#### Test: Defguard Gateway Server Reachability + +Check if the Defguard Gateway server is reachable: + +``` +sudo nmap -Pn -sS vpn.example.com +``` + +Expected output: + +``` +Host is up (0.0082s latency). +``` + +Interpretation: + +* The host is reachable. +* The list of open TCP ports should be empty, as the Gateway primarily uses UDP for VPN connections. +* You’ll verify the UDP port functionality in the next step by testing an actual VPN connection. + +### Connecting to the VPN + +1. Open the Defguard Desktop Client. +2. Connect to your configured location. + +#### Test: Verify VPN Connectivity + +Once connected: + +1. Open your browser and navigate to the Defguard Core interface, for example: + + https://defguard.example.com +2. Sign in using an administrator account. + +If you can access the web panel, your VPN connection is active and functioning. + +Then, in the Core UI: + +* Go to VPN Overview page. You should see your connected device listed there. + +
+ +### Testing While Connected to the VPN + +Perform the following tests again while the Defguard client remains connected. + +In this state: + +* ✅ You should be additionally able to reach the Defguard Core server. + +#### Test: Defguard Core Server Reachability and Ports + +Check the open ports on your Defguard Core server: + +``` +sudo nmap -Pn -sS defguard.example.com +``` + +Expected output: + +``` +Host is up (0.021s latency). +PORT STATE SERVICE +443/tcp open https +``` + +Interpretation: + +* The host is reachable via the VPN tunnel. +* Port 443/tcp (HTTPS web interface) is open, which confirms proper VPN routing and Core access. + +## Summary + +✅ Firewall policies restrict traffic to approved ports. + +✅ DNS records resolve to the expected internal and public addresses. + +✅ Core is unreachable from the Internet and reachable only via VPN. + +✅ Proxy is publicly reachable only on port 443. + +✅ Gateway responds correctly and allows VPN connections. + +When all verifications and tests pass, your Defguard deployment is operational, properly segmented, and production-ready. diff --git a/deployment-strategies/reverse-proxy-configuration-using-nginx.md b/deployment-strategies/reverse-proxy-configuration-using-nginx.md new file mode 100644 index 0000000..9c65e99 --- /dev/null +++ b/deployment-strategies/reverse-proxy-configuration-using-nginx.md @@ -0,0 +1,248 @@ +# Reverse Proxy configuration using Nginx + +## Introduction + +This guide explains how to configure [NGINX](https://nginx.org/) as a reverse proxy for Defguard's components (Core and Proxy). The reverse proxy acts as an intermediary between users and Defguard services, handling HTTPS requests, routing internal gRPC communication, and ensuring encrypted connections between all components. + +To provide HTTPS encryption, this guide also uses [Certbot](https://certbot.eff.org/), a free, open-source tool from the [Let’s Encrypt](https://letsencrypt.org/) project. Certbot automatically issues and renews SSL/TLS certificates, allowing you to secure your Defguard domains without manual certificate management. + +{% hint style="info" %} +We assume in this guide that you run your Core and Proxy services on separate servers, and you run Certbot and Nginx on each one of them. +{% endhint %} + +## Installing Nginx and Certbot + +Run the followign command to install Nginx and Certbot. + +```bash +apt install nginx certbot +``` + +Disable the default Nginx configuration to avoid conflicts: + +```bash +unlink /etc/nginx/sites-enabled/default +``` + +## Obtaining SSL certificates + +Use Certbot to generate SSL certificates. + +For each service (Core, Proxy), run the following command on the server that your domain’s DNS records resolve to. Ensure that inbound traffic on port 80 is allowed by the firewall and that no other process is using this port. + +{% hint style="info" %} +Certbot verifies domain ownership using the HTTP-01 challenge, where it temporarily serves a validation file over port 80 for the exact domain you are requesting a certificate for. + +If the request fails with a timeout or connection error, Let’s Encrypt could not reach this temporary server. This usually means the DNS record for that domain does not point to the correct public IP of the machine running Certbot, port 80 is blocked (firewall or Security Group), an IPv6 (AAAA) record is published but not supported on the server, or another service is already using port 80. + +Ensure the domain’s DNS resolves to this server’s public IP, inbound port 80 is open, and no other service is binding the port before trying again. +{% endhint %} + +### Obtaining SSL certificate for Core service + +Use the following command to generate certificate with Certbot. Replace the example domain for the Core service (my-server.defguard.net) with your own. + +```bash +certbot certonly \ + --non-interactive \ + --agree-tos \ + --standalone \ + --email admin@yourdomain.com \ + -d my-server.defguard.net +``` + +Certbot will generate certificate in fullchain.pem and privkey.pem in the following path: + +``` +/etc/letsencrypt/live/my-server.defguard.net +``` + +### Obtaining SSL certificate for Proxy service + +Use the following command to generate certificate with Certbot. Replace the example domain for the Proxy service (enroll.defguard.net) with your own. + +```bash +certbot certonly \ + --non-interactive \ + --agree-tos \ + --standalone \ + --email admin@yourdomain.com \ + -d enroll.defguard.net +``` + +Certbot will generate certificate in fullchain.pem and privkey.pem in the following path: + +``` +/etc/letsencrypt/live/enroll.defguard.net +``` + +## Configuring and starting Nginx + +### Configuring and starting Nginx for Core service + +Create a new configuration file for the Core service: + +`/etc/nginx/sites-available/my-server.defguard.net.conf` + +```nginx +upstream defguard { + server 127.0.0.1:8000; +} + +upstream defguard-grpc { + server 127.0.0.1:50055; +} + +server { + listen 443 ssl http2; + server_name my-server.defguard.net; + access_log /var/log/nginx/defguard.log; + error_log /var/log/nginx/defguard.e.log; + + ssl_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/my-server.defguard.net/privkey.pem; + ssl_trusted_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; + + client_max_body_size 128M; + + location / { + proxy_pass http://defguard; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } +} + +server { + listen 444 ssl http2; + server_name my-server.defguard.net; + access_log /var/log/nginx/defguard-grpc.log; + error_log /var/log/nginx/defguard-grpc.e.log; + + ssl_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/my-server.defguard.net/privkey.pem; + + client_max_body_size 200m; + + location / { + grpc_pass grpc://defguard-grpc; + } +} +``` + +Enable the configuration and start Nginx: + +
ln -s /etc/nginx/sites-available/my-server.defguard.net.conf /etc/nginx/sites-enabled/my-server.defguard.net.conf
+
+systemctl start nginx.service
+
+ +To verify, run: + +```bash +curl https://my-server.defguard.net/api/v1/health +# Expected output: +alive +``` + +{% hint style="info" %} +If you use this simple setup and run all services on one server, you can use [NGINX access restrictions](https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-tcp/) for securing core and allowing to access the _my-server.defguard.net_ only to selected networks - blocking the direct access from the Internet. +{% endhint %} + +### Configuring and starting Nginx for Proxy service + +The Proxy service exposes APIs for enrollment, remote onboarding, and desktop client configuration.\ +Create its NGINX configuration file: + +`/etc/nginx/sites-available/enroll.defguard.net.conf` + +```nginx +upstream defguard-proxy { + server 127.0.0.1:8080; +} + +upstream proxy-grpc { + server 127.0.0.1:50051; +} + +server { + listen 443 ssl http2; + server_name enroll.defguard.net; + access_log /var/log/nginx/enroll.log; + error_log /var/log/nginx/enroll.e.log; + + ssl_certificate /etc/letsencrypt/live/enroll.defguard.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/enroll.defguard.net/privkey.pem; + + client_max_body_size 200m; + + location / { + proxy_http_version 1.1; + proxy_pass http://defguard-proxy; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 86400s; + proxy_send_timeout 86400s; + } +} + +server { + listen 444 ssl http2; + server_name enroll.defguard.net; + access_log /var/log/nginx/enroll-grpc.log; + error_log /var/log/nginx/enroll-grpc.e.log; + + ssl_certificate /etc/letsencrypt/live/enroll.defguard.net/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/enroll.defguard.net/privkey.pem; + + client_max_body_size 200m; + + location / { + grpc_pass grpc://proxy-grpc; + grpc_socket_keepalive on; + grpc_read_timeout 3000s; + grpc_send_timeout 3000s; + grpc_next_upstream_timeout 0; + + proxy_request_buffering off; + proxy_buffering off; + proxy_connect_timeout 3000s; + proxy_send_timeout 3000s; + proxy_read_timeout 3000s; + proxy_socket_keepalive on; + + keepalive_timeout 90s; + send_timeout 90s; + + client_body_timeout 3000s; + } +} +``` + +Enable and restart NGINX: + +```bash +ln -s /etc/nginx/sites-available/enroll.defguard.net.conf /etc/nginx/sites-enabled/enroll.defguard.net.conf + +systemctl restart nginx.service +``` + +## Security Recommendations + +* Only expose **HTTPS ports (443)** for web access. +* Do **not** expose internal **gRPC ports** (444, 50051, 50055) directly to the Internet. + +## Summary + +After completing the configuration: + +* Defguard Core is available at `https://my-server.defguard.net` +* Enrollment and onboarding services are available at `https://enroll.defguard.net` +* Both services are secured with SSL and reverse-proxied through NGINX. diff --git a/deployment-strategies/gateway/running-gateway-on-mikrotik-routers.md b/deployment-strategies/running-gateway-on-mikrotik-routers.md similarity index 93% rename from deployment-strategies/gateway/running-gateway-on-mikrotik-routers.md rename to deployment-strategies/running-gateway-on-mikrotik-routers.md index 8e802b0..93fddfa 100644 --- a/deployment-strategies/gateway/running-gateway-on-mikrotik-routers.md +++ b/deployment-strategies/running-gateway-on-mikrotik-routers.md @@ -1,4 +1,4 @@ -# Running gateway on MikroTik routers +# Running Gateway on MikroTik routers By leveraging the ability of some MikroTik routers to run Docker containers, it is possible to deploy the gateway directly on your router. @@ -9,9 +9,9 @@ Proceed with extra caution when working with your core infrastructure. All offic {% hint style="danger" %} Running the gateway on a MikroTik router is not fully supported. -Due to custom RouterOS kernel incompatibility this kind of deployment does not support [Access Control List](../../admin-and-features/access-control-list/) functionality. +Due to custom RouterOS kernel incompatibility this kind of deployment does not support [Access Control List](../features/access-control-list/) functionality. -To run the gateway you must explicitly disable firewall management using the [`DEFGUARD_DISABLE_FW_MGMT` option](../../configuration.md#gateway-configuration). +To run the gateway you must explicitly disable firewall management using the [`DEFGUARD_DISABLE_FW_MGMT` option](configuration.md#gateway-configuration). {% endhint %} ## Prerequisites @@ -19,7 +19,7 @@ To run the gateway you must explicitly disable firewall management using the [`D * RouterOS device with ARM or ARM64 architecture (popular home lab choices include RB4011 or RB5009) * `Container` package installed and enabled * Running Defguard core instance with a WireGuard location configured -* (optional) Self-signed certificate generated by following [gRPC SSL setup guide](../grpc-ssl-communication.md) +* (optional) Self-signed certificate generated by following [gRPC SSL setup guide](grpc-ssl-communication.md) ## Setup diff --git a/deployment-strategies/running-gateway-on-opnsense-firewall.md b/deployment-strategies/running-gateway-on-opnsense-firewall.md new file mode 100644 index 0000000..88388ba --- /dev/null +++ b/deployment-strategies/running-gateway-on-opnsense-firewall.md @@ -0,0 +1,48 @@ +# Running Gateway on OPNsense firewall + +## OPNsense plugin + +[OPNsense®](https://opnsense.org/) is an open source, feature rich firewall and routing platform, offering cutting-edge network protection. + +To start Defguard Gateway as OPNsense plugin: + +1. On the [release page](https://github.com/DefGuard/gateway/releases) find and download OPNsense package which will be named:\ + `defguard-gateway_VERSION_x86_64-unknown-opnsense.pkg` – this package **includes both Defguard Gateway and OPNsense plugin.** +2. Install the package: + +```bash +pkg add defguard-gateway_VERSION_x86_64-unknown-opnsense.pkg +``` + +3. Refresh your OPNsense UI by running command below: + +```bash +opnsense-patch +``` + +4. Go to your OPNsense UI and navigate to **VPN** > **Defguard Gateway**. + +
+ +5. Fill out the form with appropriate values, click **Save**, and then click **Start/Restart.** + +{% hint style="info" %} +You can find detailed description of all fields [here](configuration.md#gateway-configuration). +{% endhint %} + +If everything went well, Defguard Gateway should be connected to Defguard Core and you can start [adding new devices to your network](../features/wireguard/remote-desktop-activation.md). + +See also: [how to configure Defguard in OPNsense](../features/gateway.md) + +## Binary Install + +1. Checkout Gateway releases [here](https://github.com/DefGuard/gateway/releases) and download compatible binary from GitHub page. +2. Decompress and move to bin directory + +```sh +tar xcf ./gateway.tar.gz +sudo chmod +x gateway +sudo mv gateway /usr/bin/ +``` + +3. Start gateway `gateway -g -t ` diff --git a/deployment-strategies/setting-up-your-instance.md b/deployment-strategies/setting-up-your-instance.md index 8bedbe7..f106879 100644 --- a/deployment-strategies/setting-up-your-instance.md +++ b/deployment-strategies/setting-up-your-instance.md @@ -1,75 +1,58 @@ +--- +description: >- + This documentation will guide you through the process of deploying your + Defguard instance. +--- + # Overview Welcome to the deployment strategies section of Defguard documentation. This guide covers the different ways you can deploy Defguard in your environment, from quick options using packages or Docker to more advanced setups with Kubernetes or Terraform. Whether you're running a small instance or preparing for a more complex production environment, this section will help you choose the deployment method that best fits your needs. -## Components - -Defguard comes with four main components: - -* **Core service** - main web UI and database -* **Proxy service** - used to safely expose a subset of public functionalities -* **VPN gateway server** - retrieves configuration from core and configures VPN interfaces on the gateway server -* **Provisioning station** - client application which can be started on any pc to auto-generate PGP keys for YubiKey - -There is one external component required: PostgreSQL database. - -## Hardware requirements - -All Defguard components are **very low resource-consuming**. All of them are written in [Rust](https://www.rust-lang.org) and are single binaries. As minimum setup as follows should be more than enough: - -| Resource | Minimum requirements | -| ------------ | ---------------------------- | -| CPU | 1 GHz | -| RAM | 2 GB (mostly for PostgreSQL) | -| Disk | 2 GB | -| Architecture | x86\_64, ARM64 | +## Before you begin -## Quick start +1. Make sure you understand [Defguard's architecture](../in-depth/architecture/), especially the division into the main components: Core, Proxy, Gateway. +2. Make sure your infrastructure is prepared by following our [recommendations](hardware-os-network-and-firewall-recommendations.md). -The easiest way to run your own Defguard instance is to use Docker and our [one-line install script](../getting-started/one-line-install.md). +## Initial deployment sequence -Just run the command below in your shell and follow the prompts: +Before deploying any Gateways, you must first install and configure the Core service. The Core acts as the central control plane - it manages configuration, authentication, and communication with all connected Gateways. -```bash -curl --proto '=https' --tlsv1.2 -sSf -L https://raw.githubusercontent.com/DefGuard/deployment/main/docker-compose/setup.sh -O && bash setup.sh -``` - -To learn more about the script and available options, please see the [documentation](../getting-started/one-line-install.md). - -## Manual deployment +Once the Core is running and accessible, log in to the admin interface and navigate to the Gateways section. Create a new Gateway entry to generate a unique registration token. This token will be used during the Gateway deployment process to securely link the Gateway instance with your Core. -If you prefer to configure and deploy Defguard manually, see the examples below: +After obtaining the token, proceed with deploying the Gateway service. During its initial setup, provide the generated token so that the Gateway can authenticate and register itself with the Core. Once registration is complete, the Gateway will appear in the Core dashboard and start receiving configuration updates automatically. -* [Docker Compose](docker-compose.md) -* [Kubernetes](kubernetes.md) +#### Long story short: -Client services +{% stepper %} +{% step %} +#### Deploy Defguard Core service. +{% endstep %} -* [Gateway](gateway/) -* [YubiBridge](../admin-and-features/yubikey-provisioning.md) +{% step %} +#### Add a new location in Core's web interface and obtain a token. -{% hint style="info" %} -On initial startup a new `admin` user will be created with a password which can be configured by the `DEFGUARD_DEFAULT_ADMIN_PASSWORD` environment variable (by default it's `pass123`). Use those credentials to log in and start exploring the system. -{% endhint %} +More on that [here](gateway.md). +{% endstep %} -### Tips +{% step %} +#### Deploy Gateway configured with the token. +{% endstep %} +{% endstepper %} -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. +## Choose your deployment strategy -## Updates +| Strategy name | Difficulty | Production readiness | Purpose | +| ------------------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------- | +| [One-line script](../getting-started/one-line-install.md) | :green\_circle: Easy, single command installation | :x: Doesn't follow the [recommendations](hardware-os-network-and-firewall-recommendations.md) | For testing purposes only | +| [Standalone packages](standalone-package-based-installation/) | :green\_circle: Easy, using apt and dpkg | :white\_check\_mark: If you followed the [recommendations](hardware-os-network-and-firewall-recommendations.md) | Small to medium deployment | +| [Docker Compose](docker-compose.md) | :yellow\_circle: Medium, Docker knowledge required | :white\_check\_mark: If you followed the [recommendations](hardware-os-network-and-firewall-recommendations.md) | Small to medium deployment | +| [Kubernetes](kubernetes.md) | :red\_circle: Advanced, requires a k8s cluster and administrator | :white\_check\_mark: If you followed the [recommendations](hardware-os-network-and-firewall-recommendations.md) | Large or enterprise deployments | +| [Terraform](terraform.md) | :red\_circle: Advanced, requires an AWS account and knowledge | :white\_check\_mark: | Large or enterprise deployments | +| [AMI and AWS CloudFormation](amis-and-aws-cloudformation/) | :red\_circle: Advanced, requires an AWS account and knowledge | :white\_check\_mark: | Large or enterprise deployments | -All services within the Defguard architecture can be updated independently, although it's recommended to always use newest version of services and update them all together to avoid situations like Core expecting some not existing feature in Gateway.\ -Check the GitHub repositories for each service to find their newest releases and release notes. +## Configure to your needs -* Docker - For Docker and Kubernetes based setup just change docker image version for service you want to update. -* Packages(DEB, RPM, etc.) - Currently we don't have any package repository so if you want to update your service installed as package you have to download new version from service repository. - -**GitHub Repositories:** - -* [Defguard Core](https://github.com/DefGuard/defguard/releases) -* [Defguard Proxy](https://github.com/DefGuard/proxy/releases) -* [Defguard Gateway](https://github.com/DefGuard/gateway/releases) -* [Defguard YubiBridge](https://github.com/DefGuard/YubiKey-Provision/releases) +See our [configuration documentation](configuration.md) to learn about all the settings you can change in your deployment. ## Backup @@ -84,4 +67,6 @@ docker exec {container_name} pg_dump -U {user_name} > {backup_file_name} ## Failover/HA/Clustering -For now the [Gateway](gateway/) can be deployed on multiple servers/firewall/routers for failover and HA - even if the connection to the Core will be lost, gateways will operate with their local cache/data and the VPN will be working. Same works the other way around if gateway don't work or is not available other features from Core like OpenID will be working. +The [Gateway](gateway.md) can be deployed on multiple servers, firewalls, or routers for failover and high availability (HA). Even if the connection to the Core is lost, gateways continue operating using their local cache and data, ensuring that the VPN remains functional. Conversely, if a gateway becomes unavailable, other Core features (such as OpenID) will continue to work normally. + +For details on deploying multiple Gateway to [High Availability and Failover](high-availability-and-failover.md) documentation. diff --git a/deployment-strategies/standalone-package-based-installation.md b/deployment-strategies/standalone-package-based-installation/README.md similarity index 57% rename from deployment-strategies/standalone-package-based-installation.md rename to deployment-strategies/standalone-package-based-installation/README.md index ab387bc..5bf0524 100644 --- a/deployment-strategies/standalone-package-based-installation.md +++ b/deployment-strategies/standalone-package-based-installation/README.md @@ -2,52 +2,34 @@ ## Introduction -This guide will walk you through the process of installing and running Debian packages (.deb) for **core, gateway, proxy** services on one server - as a **simple example**. +This guide will walk you through the process of installing and running Defguard using system packages. -{% hint style="warning" %} -For production deployment we would recommend to divide services to multiple servers, e.g.: - -* Defguard Proxy (used for remote enrollment, onboarding and configuring desktop clients) should be on a DMZ node that is exposed in the Internet -* Defguard Gateway should be on your firewall/router -* Defguard Core (the main control plain panel) - should be in internal network (intranet) and available only by intranet or VPN itself. -{% endhint %} - -We will cover system requirements, additional dependencies, installation steps, and examples of configuration files and step by step running all services. In this example we will use nginx for a web server (proxy) exposing and securing web based services. - -Examples will be made by using [**Debian 12**](https://www.debian.org/releases/stable/releasenotes) **and Ubuntu based system.** +We will cover system requirements, additional dependencies, installation steps, and examples of configuration files and step by step running all services. In this example we will use NGINX for a web server (proxy) exposing and securing web based services. {% hint style="info" %} -We also provide **RPM packages** - the procedure is similar to the one for installing DEB packages. If you need help installing RPM packages[ this guide offers help.](https://phoenixnap.com/kb/how-to-install-rpm-file-centos-linux) +Make sure you understand [Defguard's architecture](../../in-depth/architecture/), especially the division into the main components: Core, Proxy, Gateway. {% endhint %} -Please also remember to [secure the setup after installation](standalone-package-based-installation.md#securing-the-setup). - -### Hardware Requirements - -All Defguard components are **very low resource-consuming**. All of them are written in [Rust](https://www.rust-lang.org) and are single binaries. As minimum setup as follows should be more then enough: - -| Resource | Minimum requirements | -| ------------ | ---------------------------- | -| CPU | 1 GHz | -| RAM | 2 GB (mostly for PostgreSQL) | -| Disk | 2 GB | -| Architecture | x86\_64, ARM64 | +{% hint style="warning" %} +This is a simple guide installing all components on a single server. For production make sure your infrastructure is prepared by following our [recommendations](../hardware-os-network-and-firewall-recommendations.md). +{% endhint %} -### System Requirements +## System Requirements Before proceeding with the installation, ensure your system meets the following requirements: -* Debian-based operating system (Debian, Ubuntu, etc.). +* One of the installed: + * Debian/Ubuntu + * Fedora/Red Hat Linux/SUSE + * FreeBSD * Administrative (sudo) privileges. * A server with a public IP address (and you know what that IP address is and to which interface it's assigned) - in this example we use: 185.33.37.51. * You have a domain name and know how to assign IP and manage subdomains, in our example: Defguard main url will be _my-server.defguard.net_ (and the subdomain is pointed to 185.33.37.51). -* Defguard [enrollment service](https://defguard.gitbook.io/defguard/help/enrollment) (run by proxy) that will enable [remote onboarding, enrollment](https://defguard.gitbook.io/defguard/help/enrollment) and [easy configuration for our Desktop Clients (by adding Defguard instances)](../help/desktop-client/instance-configuration.md#adding-instance) with instance URL and one simple token - in this tutorial we use: _enroll.defguard.net_ (this subdomain also points to 185.33.37.51). +* Defguard [enrollment service](https://defguard.gitbook.io/defguard/help/enrollment) (run by proxy) that will enable [remote onboarding, enrollment](https://defguard.gitbook.io/defguard/help/enrollment) and [easy configuration for our Desktop Clients (by adding Defguard instances)](../../using-defguard-for-end-users/desktop-client/instance-configuration.md#adding-instance) with instance URL and one simple token - in this tutorial we use: _enroll.defguard.net_ (this subdomain also points to 185.33.37.51). * If you have a **firewall**, we assume you have **open port 443** in order to expose both Defguard and enrollment service, but also to automatically issue for these domains SSL Certificates. Port 444 (used for internal GRPC communication) **should not be exposed public.** * System clock is synchronized using Network Time Protocol (NTP). This is important for time-based one-time password (TOTP) codes. -### Prerequisites - -#### PostgreSQL +## Installing a database Defguard Core uses [PostgreSQL](https://www.postgresql.org) database, so if you do not have installed and configured yet, you can do it in this section. For this tutorial we need to create **a user with superuser privileges and database**. @@ -77,37 +59,24 @@ defguard=# exit * we created `.pgpass` file that consist of `::::` * we connected into the `defguard` database to verify `defguard` user can communicate with the database -#### NGINX - -To expose our services in the server we need to configure a reverse proxy server. For this we will use nginx web server with ssl certificates for enabling https protocol. - -To get started, we need to install: - -``` -apt install nginx certbot -``` - -Enable nginx service +## Installing packages -``` -systemctl enable nginx.service -systemctl start nginx.service -``` +{% hint style="info" %} +Defguard also have public APT repository, if you want know how to set it up, follow [this guide](defguard-apt-repository.md). +{% endhint %} -Disable all default domains: +### Core -``` -unlink /etc/nginx/sites-enabled/default -``` +You can find the URL to your package from the releases of the Core component on [GitHub](https://github.com/DefGuard/defguard/releases). -## Installing packages +
OS distributionOS architectureRelease artifact naming convention
Debian/Ubuntux86defguard-X.Y.Z-x86_64-unknown-linux-gnu.deb
Fedora/Red Hat Linux/SUSEx86defguard-X.Y.Z-x86_64-unknown-linux-gnu.rpm
FreeBSDx86defguard-X.Y.Z_x86_64-unknown-freebsd.pkg
-### Core service +Choose the release you want to install, then choose the right package from the list of release's assets, and copy the package URL. -Navigate to [core repository release](https://github.com/DefGuard/defguard/releases) and choose version of core package that you want to obtain that has debian package and then swap `` in the following command: +Download the package to your server using `wget:` ``` -wget https://github.com/DefGuard/defguard/releases/download//defguard--x86_64-unknown-linux-gnu.deb +wget ``` Example: @@ -116,17 +85,19 @@ Example: wget https://github.com/DefGuard/defguard/releases/download/v0.11.0/defguard-0.11.0-x86_64-unknown-linux-gnu.deb ``` -You can also download directly from the Github realse page, but please note that you should know the path where this could be storead after downloading. Once the package is downloaded, install it using dpkg: +You can also download directly from the Github release page, but please note that you should know the path where this could be stored after downloading. -``` -dpkg -i /defguard--x86_64-unknown-linux-gnu.deb -``` +Once the package appropriate for your distribution is downloaded, install it using the appropriate system tool: -Example: +
# on Debian/Ubuntu
+sudo dpkg -i <path_to_package>/defguard-X.Y.Z-x86_64-unknown-linux-gnu.deb
+
+# on Fedora/Red Hat Linux/SUSE
+sudo rpm -i <path_to_rpm_package>/defguard-X.Y.Z-x86_64-unknown-linux-gnu.rpm
 
-```
-dpkg -i defguard-0.11.0-x86_64-unknown-linux-gnu.deb
-```
+# FreeBSD
+pkg add <path_to_txz_package>/defguard-X.Y.Z_x86_64-unknown-freebsd.pkg
+
You can check is core installed properly: @@ -135,12 +106,18 @@ You can check is core installed properly: defguard 0.11.0 ``` -### Gateway service +### Gateway -Navigate to [gateway repository release](https://github.com/DefGuard/gateway/releases) and choose version of core package that you want to obtain that has debian package and then swap `` in the following command: +You can find the URL to your package from the releases of the Core component on [GitHub](https://github.com/DefGuard/gateway/releases). + +
OS discibutionOS architectureRelease artifact naming convention
Debian/Ubuntux86defguard-gateway_X.Y.Z_x86_64-unknown-linux-gnu.deb
Debian/UbuntuARMdefguard-gateway_X.Y.Z_aarch64-unknown-linux-gnu.deb
Fedora/Red Hat Linux/SUSEx86defguard-gateway_X.Y.Z_x86_64-unknown-linux-gnu.rpm
FreeBSDx86defguard-gateway_X.Y.Z_x86_64-unknown-freebsd.pkg
+ +Choose the release you want to install, then choose the right package from the list of release's assets, and copy the package URL. + +Download the package to your server using `wget:` ``` -# wget https://github.com/DefGuard/gateway/releases/download//defguard-gateway__x86_64-unknown-linux-gnu.deb +wget ``` Example: @@ -149,16 +126,25 @@ Example: # wget https://github.com/DefGuard/gateway/releases/download/v0.7.0/defguard-gateway_0.7.0_x86_64-unknown-linux-gnu.deb ``` -You can also download directly from the Github realse page, but please note that you should know the path where this could be storead after downloading. Once the package is downloaded, install it using dpkg: +You can also download directly from the Github release page, but please note that you should know the path where this could be stored after downloading. + +Once the package appropriate for your distribution is downloaded, install it using the appropriate system tool: ``` -dpkg -i /defguard-gateway__x86_64-unknown-linux-gnu.deb +# on Debian/Ubuntu +sudo dpkg -i /defguard-gateway-X.Y.Z-x86_64-unknown-linux-gnu.deb + +# on Fedora/Red Hat Linux/SUSE +sudo rpm -i /defguard-gateway-X.Y.Z-x86_64-unknown-linux-gnu.rpm + +# FreeBSD +pkg add /defguard-gateway-X.Y.Z_x86_64-unknown-freebsd.pkg ``` Example: ``` -dpkg -i defguard-gateway_0.7.0_x86_64-unknown-linux-gnu.deb +sudo dpkg -i defguard-gateway_0.7.0_x86_64-unknown-linux-gnu.deb ``` You can check is core installed properly: @@ -168,12 +154,18 @@ You can check is core installed properly: defguard-gateway 0.7.0 ``` -### Proxy service +### Proxy + +You can find the URL to your package from the releases of the Core component on [GitHub](https://github.com/DefGuard/proxy/releases). + +
OS discibutionOS architectureRelease artifact naming convention
Debian/Ubuntux86defguard-proxy-X.Y.Z-x86_64-unknown-linux-gnu.deb
Fedora/Red Hat Linux/SUSEx86defguard-proxy-X.Y.Z-x86_64-unknown-linux-gnu.rpm
+ +Choose the release you want to install, then choose the right package from the list of release's assets, and copy the package URL. -Navigate to [proxy repository release](https://github.com/DefGuard/proxy/releases) and choose version of core package that you want to obtain that has debian package and then swap `` in the following command: +Download the package to your server using `wget:` ``` -wget https://github.com/DefGuard/proxy/releases/download/>/defguard-proxy--x86_64-unknown-linux-gnu.deb +wget ``` Example: @@ -182,7 +174,9 @@ Example: wget https://github.com/DefGuard/proxy/releases/download/v0.5.0/defguard-proxy-0.5.0-x86_64-unknown-linux-gnu.deb ``` -You can also download directly from the Github realse page, but please note that you should know the path where this could be storead after downloading. Once the package is downloaded, install it using dpkg: +You can also download directly from the Github release page, but please note that you should know the path where this could be stored after downloading. + +Once the package appropriate for your distribution is downloaded, install it using the appropriate system tool: ``` dpkg -i /defguard-proxy--x86_64-unknown-linux-gnu.deb @@ -191,7 +185,16 @@ dpkg -i /defguard-proxy--x86_64-unknown-linux-gnu.deb Example: ``` -dpkg -i defguard-proxy-0.5.0-x86_64-unknown-linux-gnu.deb +# on Debian/Ubuntu +sudo dpkg -i /defguard-proxy-X.Y.Z-x86_64-unknown-linux-gnu.deb +# if you added apt repository +sudo apt install defguard-proxy + +# on Fedora/Red Hat Linux/SUSE +sudo rpm -i /defguard-proxy-X.Y.Z-x86_64-unknown-linux-gnu.rpm + +# FreeBSD +pkg add /defguard-proxy-X.Y.Z_x86_64-unknown-freebsd.pkg ``` You can check is core installed properly: @@ -203,21 +206,7 @@ defguard-proxy 0.5.0 ## Running Defguard -### Generating SSL Certificates with Let'sEncrypt - -Before we run Defguard and configure the reverse proxy, first let's prepare SSL certificates that will be used by the NGINX service. We will generate a certificate for two domains we use in this example: _my-service.defguard.net_ and _enroll.defguard.net_: - -``` -certbot certonly --non-interactive --agree-tos --standalone --email admin@teonite.com -d my-server.defguard.net -d enroll.defgurd.net -``` - -Certbot will generate certificate in fullchain.pem and privkey.pem in path: - -`/etc/letsencrypt/live/my-server.defguard.net` - -`/etc/letsencrypt/live/enrolldefguard.net` - -### Core - the control plain +### Core To run core service we need to configure `/etc/defguard/core.conf`. @@ -281,15 +270,19 @@ DEFGUARD_DB_PASSWORD="defguard" DATABASE_URL="postgresql://defguard:defguard@localhost/defguard" ``` -**If you have configured your postgres with different names than in** [**PostgreSQL guide**](standalone-package-based-installation.md#postgresql)**, you can change it in DB configuration part. LDAP configuration is not part of this tutorial, you can also commented those lines.** +**If you have configured your postgres with different names than in** [**PostgreSQL guide**](./#postgresql)**, you can change it in DB configuration part. LDAP configuration is not part of this tutorial, you can also commented those lines.** -**We will back to this configuration to connect Defguard core with proxy in the** [**Run proxy**](standalone-package-based-installation.md#run-proxy) **section. For now `DEFGUARD_PROXY_URL` is commented.** +**We will back to this configuration to connect Defguard core with proxy in the** [**Run proxy**](./#run-proxy) **section. For now `DEFGUARD_PROXY_URL` is commented.** After changes, you can simply enable and start your Defguard core service: ``` +# on systems with systemd (like Debian, Ubuntu, Fedora/Red Hat Linux/SUSE) systemctl enable defguard.service systemctl start defguard.service + +# on systems with rc.d (like FreeBSD, NetBSD) +sudo /usr/local/etc/rc.d/defguard start ``` To see logs, type journalctl command: @@ -306,87 +299,7 @@ Jul 29 13:57:19 defguard-testing defguard[2776504]: 2024-07-29T11:57:19.747717Z Jul 29 13:57:19 defguard-testing defguard[2776504]: 2024-07-29T11:57:19.780563Z INFO defguard: Started web services ``` -#### Configuring NGINX reverse proxy with SSL - -Now, we are able to create our first nginx config for Defguard core service with _my-server.defguard.net_. - -Create config file `/etc/nginx/site-available/my-server.defguard.net.conf`, example config file for _my-server.defguard.ent_ should look like this: - -``` -upstream defguard { - server 127.0.0.1:8000; -} - -upstream defguard-grpc { - server 127.0.0.1:50055; -} - -server { - listen 443 ssl http2; - server_name my-server.defguard.net; - access_log /var/log/nginx/defguard.log; - error_log /var/log/nginx/defguard.e.log; - - ssl_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/my-server.defguard.net/privkey.pem; - ssl_trusted_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; - - client_max_body_size 128M; - - location / { - proxy_pass http://defguard; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - } -} - -server { - listen 444 ssl http2; - server_name my-server.defguard.net; - access_log /var/log/nginx/defguard-grpc.log; - error_log /var/log/nginx/defguard-grpc.e.log; - - ssl_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/my-server.defguard.net/privkey.pem; - - client_max_body_size 200m; - - location / { - grpc_pass grpc://defguard-grpc; - } -} -``` - -Link it to `/etc/nginx/site-available/` - -``` -ln -s /etc/nginx/sites-available/my-server.defguard.net.conf /etc/nginx/sites-enabled/my-server.defguard.net.conf -``` - -Restart nginx.service to activate changes: - -``` -systemctl reload nginx.service -``` - -Test your domain on another terminal tab - -``` -$ curl https://my-server.defguard.net/api/v1/health -alive -``` - -Success! We can move on to the next service. - -{% hint style="danger" %} -If you use this simple setup and run all services on one server, you can use [NGINX access restrictions](https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-tcp/) for securing core and allowing to access the _my-server.defguard.net_ only to selected networks - blocking the direct access from the Internet. -{% endhint %} - -### Gateway - the WireGuard VPN service +### Gateway To run gateway, we should do two things: @@ -395,24 +308,7 @@ To run gateway, we should do two things: #### Setup location for gateway -Now, after setting up core service you should go to the website that you set on `DEFGUARD_URL`. The link should redirect you to login page. To log in type these credentials from `/etc/defguard/core.conf` - -* login: admin -* password: `DEFGUARD_DEFAULT_ADMIN_PASSWORD` (by default: pass123) - -Now we can configure our first location. Depends on what is more convenient for you, choose configuration from Wireguard file or do it manually. - -

Location wizard

- -

Location configuration

- -After saving configuration for location you should be redirect to Location overview page, where at the top right corner is `Edit Locations Settings` button, click on it. - -

Manual configuration

- -In `Gateway server setup` copy two variables: `DEFGUARD_TOKEN` and `DEFGUARD_GRPC_URL` - -

Gateway server setup

+Follow [this guide](../gateway.md) for setting up the location in Defguard Core web interface. You should leave the guide with a token for your new Gateway instance and use it in the following configuration. #### Create config file @@ -478,9 +374,18 @@ syslog_socket = "/var/run/log" Now we can run gateway service with configuration above: ``` -# systemctl enable defguard-gateway.service -# systemctl start defguard-gateway.service -# journalctl -u defguard-gateway.service | tail -n 50 +# on systems with systemd (like Debian, Ubuntu, Fedora/Red Hat Linux/SUSE) +systemctl enable defguard-gateway.service +systemctl start defguard-gateway.service + +# on systems with rc.d (like FreeBSD, NetBSD) +sudo /usr/local/etc/rc.d/defguard_gateway start +``` + +Check the logs of the gateway service: + +``` +journalctl -u defguard-gateway.service | tail -n 50 [2024-07-27T16:37:56Z INFO defguard_gateway::gateway] Starting defguard gateway version 0.7.0 with configuration: Config { token: "***", name: Some("Gateway on server X"), grpc_url: "https://my-server.defguard.net:444/", userspace: false, grpc_ca: None, stats_period: 60, ifname: "wg0", pidfile: None, use_syslog: false, syslog_facility: "LOG_USER", syslog_socket: "/var/run/log", config_path: None, pre_up: None, post_up: None, pre_down: None, post_down: None, health_port: None } [2024-07-27T16:37:56Z INFO defguard_gateway::gateway] gRPC server connection setup done. [2024-07-27T16:37:56Z INFO defguard_wireguard_rs::wgapi_linux] Creating interface wg0 @@ -502,13 +407,22 @@ On the other side, core service should print those informations: 2024-07-27T16:37:56.388810Z INFO defguard::grpc::gateway: Starting update stream to gateway: user, network [ID 1] Szczecin ``` -### Proxy - enrollment, onboardin and desktop configuration service +### Proxy + +To run proxy service (for [remote onboarding & enrollment](../../using-defguard-for-end-users/enrollment/)), we can do it by: + +``` +# on systems with systemd (like Debian, Ubuntu, Fedora/Red Hat Linux/SUSE) +systemctl enable defguard-proxy.service +systemctl start defguard-proxy.service + +# on systems with rc.d (like FreeBSD, NetBSD) +sudo /usr/local/etc/rc.d/defguard_proxy start +``` -To run proxy service (for [remote onboarding & enrollment](../help/enrollment/)), we can do it by: +Check the logs afterwards. Should look like this: ``` -# systemctl enable defguard-proxy.service -# systemctl start defguard-proxy.service # journalctl -u defguard-proxy.service | tail -n 50 2024-07-27T16:53:58.584154Z INFO defguard_proxy::tracing: Tracing initialized 2024-07-27T16:53:58.584233Z INFO defguard_proxy::http: Starting Defguard proxy server @@ -518,85 +432,15 @@ To run proxy service (for [remote onboarding & enrollment](../help/enrollment/)) 2024-07-27T16:53:58.585262Z INFO defguard_proxy::http: API web server is listening on 0.0.0.0:8080 ``` -#### Configuring NGiNX reverse proxy for enrollment +### Reverse proxy -{% hint style="info" %} -Please note that [we already have issued the enrollemnt domain SSL certificate](standalone-package-based-installation.md#generating-ssl-certificates). -{% endhint %} - -Create config file `/etc/nginx/sites-available/enroll.defguard.net.conf`, example config file for _enroll.defguard.net_ should look like this: - -``` -upstream defguard-proxy { - server 127.0.0.1:8080; -} - -upstream proxy-grpc { - server 127.0.0.1:50051; -} - -server { - listen 443 ssl http2; - server_name enroll.defguard.net; - access_log /var/log/nginx/enroll.log; - error_log /var/log/nginx/enroll.e.log; - - ssl_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/my-server.defguard.net/privkey.pem; - - client_max_body_size 200m; +The reverse proxy acts as an intermediary between users and Defguard services, handling HTTPS requests, routing internal gRPC communication, and ensuring encrypted connections between all components. - location / { - proxy_pass http://defguard-proxy; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - } -} +Follow our additional guide on [configuring reverse proxy for for Core and Proxy service](../reverse-proxy-configuration-using-nginx.md). After having the reverse proxy configured and running you can continue with this guide. -server { - listen 444 ssl http2; - server_name enroll.defguard.net; - access_log /var/log/nginx/enroll.log; - error_log /var/log/nginx/enroll.e.log; +### Enabling Proxy service in the Core - ssl_certificate /etc/letsencrypt/live/my-server.defguard.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/my-server.defguard.net/privkey.pem; - - client_max_body_size 200m; - - location / { - grpc_pass grpc://proxy-grpc; - grpc_socket_keepalive on; - grpc_read_timeout 3000s; - grpc_send_timeout 3000s; - grpc_next_upstream_timeout 0; - - proxy_request_buffering off; - proxy_buffering off; - proxy_connect_timeout 3000s; - proxy_send_timeout 3000s; - proxy_read_timeout 3000s; - proxy_socket_keepalive on; - - keepalive_timeout 90s; - send_timeout 90s; - - client_body_timeout 3000s; - } -} -``` - -Enable configuration and restart nginx: - -``` -ln -s /etc/nginx/sites-available/enroll.defguard.conf /etc/nginx/sites-enabled/enroll.defguard.conf -systemctl restart nginx.service -``` - -#### Enabling Proxy service in the Core - -Now, we can update our **core configuration** in `/etc/defguard/core.conf` by uncommenting `DEFGUARD_PROXY_URL` +Now, we can update our Core service configuration in `/etc/defguard/core.conf` to use the Proxy service by uncommenting `DEFGUARD_PROXY_URL` ``` # Proxy connection configuration @@ -666,7 +510,7 @@ systemctl restart defguard.service Now you have full working Defguard services 🥳 {% endhint %} -You can [configure your desktop client using the enrollment](../help/desktop-client/instance-configuration.md#adding-instance) service and use your VPN. +You can [configure your desktop client using the enrollment](../../using-defguard-for-end-users/desktop-client/instance-configuration.md#adding-instance) service and use your VPN. If you would like to use the feature in the desktop client to route **All traffic** through the VPN please configure your firewall to enable Internet access through your VPN - [here you can find exaples how to do it](https://defguard.gitbook.io/defguard/tutorials/step-by-step-setting-up-a-vpn-server#enabling-to-access-internet-through-your-vpn). @@ -685,4 +529,38 @@ After the installation please make sure that **only the following ports are open * 50055 {% endhint %} -Also this setup provides only communication encryption between Defguard components, if you additionally like for core/proxy and gateway to have authorization - [please setup a custom SSL CA](grpc-ssl-communication.md#custom-ssl-ca-and-certificates). +Also this setup provides only communication encryption between Defguard components, if you additionally like for core/proxy and gateway to have authorization - [please setup a custom SSL CA](../grpc-ssl-communication.md#custom-ssl-ca-and-certificates). + +## Upgrading packages + +{% hint style="info" %} +If the new version introduces changes to the default configuration, the existing configuration file will not be overwritten. Instead, a separate file containing the updated default configuration will be created. +{% endhint %} + +#### FreeBSD/OPNsense + +1. Uninstall the current version. + + ```bash + # Core package + pkg delete defguard + + # or Gateway package + pkg delete defguard-gateway + + # or Proxy package + pkg delete defguard-proxy + ``` +2. Install a newer version (as described [above](./#installing-packages)). +3. Restart the service. + + ```bash + # Core service + sudo /usr/local/etc/rc.d/defguard restart + + # or Gateway service + sudo /usr/local/etc/rc.d/defguard_gateway restart + + # or Proxy service + sudo /usr/local/etc/rc.d/defguard_proxy restart + ``` diff --git a/deployment-strategies/standalone-package-based-installation/defguard-apt-repository.md b/deployment-strategies/standalone-package-based-installation/defguard-apt-repository.md new file mode 100644 index 0000000..10bbe7e --- /dev/null +++ b/deployment-strategies/standalone-package-based-installation/defguard-apt-repository.md @@ -0,0 +1,81 @@ +# Defguard APT repository + +### Distribution + +Defguard APT repository provides packages for **Debian 12**, **Debian 13**, and **Ubuntu 22.04/24.04 LTS.**\ +Packages are available on the default `trixie` repository distribution. + +### Adding Defguard APT repository + +To add Defguard APT repository, run following commands in your terminal: + +```bash +sudo apt update +sudo apt install -y ca-certificates curl +#Add official Defguard public GPG key +sudo install -m 0755 -d /etc/apt/keyrings +sudo curl -fsSL https://apt.defguard.net/defguard.asc -o /etc/apt/keyrings/defguard.asc +sudo chmod a+r /etc/apt/keyrings/defguard.asc + +#Add APT repository +echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/defguard.asc] https://apt.defguard.net/ trixie release " | \ + sudo tee /etc/apt/sources.list.d/defguard.list > /dev/null + +sudo apt update +``` + +Afterward running these commands, you can install and update Defguard via APT. + +After new release, simply use `sudo apt update` to update repository. + +### Using pre-release builds + +Defguard has two separate components on one APT repository, **release** and **pre-release.** If you want to install packages from pre-release, simply change `release` to `pre-release` in the installation steps described above, or run the following line. + +```sh +echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/defguard.asc] https://apt.defguard.net/ trixie pre-release " | \ + sudo tee /etc/apt/sources.list.d/defguard.list > /dev/null + +sudo apt update +``` + +### Choosing distribution + +Most of our packages are located on `trixie` distribution. + +However, if you are using **Ubuntu 22.04/Debian 12** and want to install **Defguard Client**, you should be using `bookworm` distribution. + +To do so, replace `trixie` with `bookworm` in installation steps, or run the following command. + +```sh +echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/defguard.asc] https://apt.defguard.net/ bookworm release " | \ + sudo tee /etc/apt/sources.list.d/defguard.list > /dev/null + +sudo apt update +``` + +### Installing packages + +Defguard Core: + +```sh +sudo apt install defguard +``` + +Defguard Proxy: + +```sh +sudo apt install defguard-proxy +``` + +Defguard Gateway: + +```sh +sudo apt install defguard-gateway +``` + +Defguard Client: + +```sh +sudo apt install defguard-client +``` diff --git a/deployment-strategies/terraform.md b/deployment-strategies/terraform.md index 69637c2..e686de4 100644 --- a/deployment-strategies/terraform.md +++ b/deployment-strategies/terraform.md @@ -232,54 +232,289 @@ ingress { } ``` -If you want to run Core web UI behind a reverse proxy (e.g. to enable HTTPS), you should modify the ingress rules to allow access from the reverse proxy server's IP address or security group: +If you want to run Core web UI behind a reverse proxy (e.g. to enable HTTPS), you would need to do the following: + +1. Prevent direct access to the services by removing their ingress rules: ```hcl +# This is in the Core security group block +[...] ingress { from_port = local.core_http_port to_port = local.core_http_port protocol = "tcp" - security_groups = [ ] - # OR - # cidr_blocks = ["/32"] + cidr_blocks = [ + for eip in aws_eip.defguard_gateway_endpoint : "${eip.public_ip}/32" + ] } ``` -You should then restrict Core access on your reverse proxy, so Core still stays accessible only through the VPN. - -For testing purposes, you can also allow access to the Core web UI from your public IP address by appending the following block to the "Core network configuration" section: - -````hcl +```hcl +# This is in the Proxy security group block +[...] ingress { - from_port = local.core_http_port - to_port = local.core_http_port + from_port = local.proxy_http_port + to_port = local.proxy_http_port protocol = "tcp" - cidr_blocks = ["/32"] + cidr_blocks = ["0.0.0.0/0"] } ``` -This will allow you to access the Core web UI from your public IP address. However, this is not recommended for production environments, as it exposes the Core web UI to the public. +2. Add a second public subnet (load balancers require it): -You can modify the configuration further to fit your needs, be careful though when editing the "Security group rules essential for Defguard operation" sections, as they ensure that all the components may properly reach each other, for example: +```hcl +vpc_public_subnets = ["10.0.1.0/24", "10.0.4.0/24"] +``` + +3. Add the load balancer configuration ```hcl -########## Security group rules essential for Defguard operation ########## +########################################################################### +###################### Load Balancer Configuration ####################### +########################################################################### + +# Load balancer security groups +resource "aws_security_group" "defguard_alb_sg" { + name = "defguard-alb-sg" + description = "Access to the Application Load Balancer" + vpc_id = module.vpc.vpc_id + + ingress { + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + description = "HTTPS access from internet" + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + tags = { + Name = "defguard-alb-sg" + } +} + +resource "aws_security_group" "defguard_internal_alb_sg" { + name = "defguard-internal-alb-sg" + description = "Access to the Internal Application Load Balancer" + vpc_id = module.vpc.vpc_id + + ingress { + from_port = 443 + to_port = 443 + protocol = "tcp" + cidr_blocks = [local.vpc_cidr] + description = "HTTPS access from internal VPC network" + } + + egress { + from_port = 0 + to_port = 0 + protocol = "-1" + cidr_blocks = ["0.0.0.0/0"] + } + + tags = { + Name = "defguard-internal-alb-sg" + } +} + +# Public Application Load Balancer +resource "aws_lb" "defguard_public_alb" { + name = "defguard-public-alb" + internal = false + load_balancer_type = "application" + security_groups = [aws_security_group.defguard_alb_sg.id] + subnets = module.vpc.public_subnets + + enable_deletion_protection = false + + tags = { + Name = "defguard-public-alb" + } +} + +# Internal Application Load Balancer +resource "aws_lb" "defguard_internal_alb" { + name = "defguard-internal-alb" + internal = true + load_balancer_type = "application" + security_groups = [aws_security_group.defguard_internal_alb_sg.id] + subnets = module.vpc.private_subnets + + enable_deletion_protection = false + + tags = { + Name = "defguard-internal-alb" + } +} + +# Target Groups +resource "aws_lb_target_group" "defguard_core_tg" { + name = "defguard-core-tg" + port = local.core_http_port + protocol = "HTTP" + vpc_id = module.vpc.vpc_id + + health_check { + enabled = true + healthy_threshold = 2 + interval = 30 + matcher = "200" + path = "/api/v1/health" + port = "traffic-port" + protocol = "HTTP" + timeout = 5 + unhealthy_threshold = 3 + } + + tags = { + Name = "defguard-core-tg" + } +} + +resource "aws_lb_target_group" "defguard_proxy_tg" { + name = "defguard-proxy-tg" + port = local.proxy_http_port + protocol = "HTTP" + vpc_id = module.vpc.vpc_id + + health_check { + enabled = true + healthy_threshold = 2 + interval = 30 + matcher = "200" + path = "/api/v1/health" + port = "traffic-port" + protocol = "HTTP" + timeout = 5 + unhealthy_threshold = 3 + } + + tags = { + Name = "defguard-proxy-tg" + } +} + +# Target Group Attachments +resource "aws_lb_target_group_attachment" "defguard_core_attachment" { + target_group_arn = aws_lb_target_group.defguard_core_tg.arn + target_id = module.defguard_core.instance_id + port = local.core_http_port +} + +resource "aws_lb_target_group_attachment" "defguard_proxy_attachment" { + target_group_arn = aws_lb_target_group.defguard_proxy_tg.arn + target_id = module.defguard_proxy.instance_id + port = local.proxy_http_port +} -# Internal communication with Defguard Core +# Listeners +resource "aws_lb_listener" "defguard_public_alb_listener" { + load_balancer_arn = aws_lb.defguard_public_alb.arn + port = "443" + protocol = "HTTPS" + + default_action { + type = "forward" + target_group_arn = aws_lb_target_group.defguard_proxy_tg.arn + } +} + +resource "aws_lb_listener" "defguard_internal_alb_listener" { + load_balancer_arn = aws_lb.defguard_internal_alb.arn + port = "443" + protocol = "HTTPS" + + default_action { + type = "forward" + target_group_arn = aws_lb_target_group.defguard_core_tg.arn + } +} + +# Listener Rules +resource "aws_lb_listener_rule" "defguard_proxy_rule" { + listener_arn = aws_lb_listener.defguard_public_alb_listener.arn + priority = 100 + + action { + type = "forward" + target_group_arn = aws_lb_target_group.defguard_proxy_tg.arn + } + + condition { + host_header { + values = [replace(local.proxy_url, "https://", "")] + } + } +} + +resource "aws_lb_listener_rule" "defguard_core_rule" { + listener_arn = aws_lb_listener.defguard_internal_alb_listener.arn + priority = 100 + + action { + type = "forward" + target_group_arn = aws_lb_target_group.defguard_core_tg.arn + } + + condition { + host_header { + values = [replace(local.core_url, "https://", "")] + } + } +} + +``` + +4. Add load balancer ingress rules to your existing Proxy and Core groups: + +```hcl +# HTTP access from internal load balancer (Core) ingress { - from_port = local.proxy_grpc_port - to_port = local.proxy_grpc_port + from_port = local.core_http_port + to_port = local.core_http_port protocol = "tcp" - security_groups = [aws_security_group.defguard_core_sg.id] + security_groups = [aws_security_group.defguard_internal_alb_sg.id] + description = "HTTP access from internal load balancer" +} + +# HTTP access from public load balancer (Proxy) +ingress { + from_port = local.proxy_http_port + to_port = local.proxy_http_port + protocol = "tcp" + security_groups = [aws_security_group.defguard_alb_sg.id] + description = "HTTP access from public load balancer" +} + +``` + +5. Finally, you can add the load balancer domain name to the output: + +```hcl +output "defguard_public_alb_dns" { + description = "The DNS name of the Public Application Load Balancer" + value = aws_lb.defguard_public_alb.dns_name } -```` -This block ensures that the Defguard Proxy gRPC port is accessible from the Defguard Core instance. +output "defguard_internal_alb_dns" { + description = "The DNS name of the Internal Application Load Balancer" + value = aws_lb.defguard_internal_alb.dns_name +} +``` -After you apply the configuration, Defguard Core web UI should be accessible at the following URL: `http://:`. If you allowed access to the web UI from your public IP address, you should be able to access it directly. The proxy should also be available at `http://:` if you also allowed access to it. This is useful only to see if the deployment was successful, the next step should be to properly setup the domains and HTTPS, using e.g. a reverse proxy. +This setup will create two load balancers: one internal and one external. Both will act as a reverse proxy, routing the HTTPS traffic matching your domains to the backend servers (Proxy, Core). The next step would be to point your actual domains to the domain names generated by the load balancers in the output (CNAME) and to setup SSL certificates (e.g. via the AWS certificate manager). ### Troubleshooting and common issues +All components are deployed as systemd services on the host EC2. Their configuration files can be found at `/etc/defguard`. + #### Checking status of any component You can check the status of any Defguard component by SSHing into the corresponding EC2 instance and running the following command: diff --git a/deployment-strategies/updating-and-version-compatibility.md b/deployment-strategies/updating-and-version-compatibility.md new file mode 100644 index 0000000..b84681b --- /dev/null +++ b/deployment-strategies/updating-and-version-compatibility.md @@ -0,0 +1,28 @@ +# Updating + +Each service in the Defguard stack can be updated independently, provided the components remain compatible. When components connect, Defguard automatically performs a version check. If an incompatibility is detected, the connection is refused and it will be clearly reported both in the log files and through a dialog in the core UI: + +
+ + + +{% hint style="warning" %} +**Note on Multiple Gateways per Location** + +If you configure more than one gateway for the same location, they will overwrite each other’s incompatibility data. This happens because location is currently used as the identifier for gateways. + +This limitation will be resolved once full high-availability (HA) support is implemented. +{% endhint %} + +It's recommended to always use newest version of services and update them all together to avoid incompatibility.\ +Check the GitHub repositories for each service to find their newest releases and release notes. + +* Docker - For Docker and Kubernetes based setup just change docker image version for service you want to update. +* Packages(DEB, RPM, etc.) - Currently we don't have any package repository so if you want to update your service installed as package you have to download new version from service repository. + +**GitHub Repositories:** + +* [Defguard Core](https://github.com/DefGuard/defguard/releases) +* [Defguard Proxy](https://github.com/DefGuard/proxy/releases) +* [Defguard Gateway](https://github.com/DefGuard/gateway/releases) +* [Defguard YubiBridge](https://github.com/DefGuard/YubiKey-Provision/releases) diff --git a/deployment-strategies/upgrading.md b/deployment-strategies/upgrading.md index ae098ad..33d0ae2 100644 --- a/deployment-strategies/upgrading.md +++ b/deployment-strategies/upgrading.md @@ -2,12 +2,50 @@ description: Notes on upgrading Defguard and its components --- -# Upgrading +# Migration guides {% hint style="warning" %} Before doing any updates please remember to **backup your database.** {% endhint %} +## 1.4.x -> 1.5.0 + +### Core + +#### Version compatibility + +This release introduces a version checking system. All the Defguard system components (core, proxy, gateway and clients) are now version-aware and check their compatibility with the components their are communicating with. + +This might mean that until you upgrade all the components your web UI might indicate that your proxy or gateway is of an unknown version. + +#### Instance UUID bug + +A bug resulting in zeroing the UUID of a given instance has been found and resolved ([PR link](https://github.com/DefGuard/defguard/pull/1521)). + +This value is used by the desktop client to identify instances. The new client should gracefully handle migration to a new UUID if it has been zeroed out due to the bug mentioned above. + +#### Verify client disconnect threshold for your MFA locations + +In order to ensure that MFA works correctly with the new [mobile clients](../using-defguard-for-end-users/mobile-client/) please ensure that the [client disconnect threshold](../features/wireguard/create-your-vpn-network.md#client-disconnect-threshold) is set to at least 300s (5 minutes). + +### Proxy + +We've introduced a new functionality to Desktop Client - to authenticate [Multi-Factor connections using Mobile Client](../using-defguard-for-end-users/desktop-client/using-multi-factor-authentication-mfa.md). For this feature to work, Proxy (enrollment service) creates a Web-socket that the desktop client connects to while waiting for responses from the mobile client. + +{% hint style="warning" %} +If you have a reverse proxy for the enrollment service (which we highly recommend with SSL termination), please **make sure that web-sockets are enabled.** +{% endhint %} + +### Desktop client + +#### Unix socket IPC and new user group requirement (macOS & Linux) + +macOS and Linux clients now use Unix sockets for IPC. To securely access this socket the user must belong to a specific group as described in [client documentation](../using-defguard-for-end-users/desktop-client/). + +The change should require no additional steps for macOS users, but Linux users who install the client from official packages will need to log out and back in or reboot after install to refresh group membership. This will not be required on subsequent updates. + +Linux users who use release binaries will need to manually create the `defguard` group and adjust their group membership. + ## Any release <= 1.3 -> 1.4 1.4 release introduces changes related to multiple client IP addresses. To ensure compatibility, **all components must be updated** to v1.4 or higher: @@ -39,7 +77,7 @@ We've introduced some changes to the LDAP integration. We recommend reading [the * The LDAP integration has become an enterprise feature. You will need to purchase the enterprise license if you exceed the free limits. See [license.md](../enterprise/license.md "mention") for more information regarding the license. * If you used the LDAP integration previously, it will be off by default after upgrading. You will have to manually enable it in the settings in the LDAP tab:\\ -
+
## Any previous 1.3.0 alpha → 1.3.0 alpha 4 @@ -51,9 +89,9 @@ A new synchronization may cause some of your users to be re-added, which in turn Before an upgrade, turn off the two-way synchronization. After upgrading, you will have access to a new option, the RDN user attribute: -
+
-Set it according to your LDAP server setup. This should be the DN's leftmost component attribute, e.g. in the case of `cn=user1,cn=users,dc=ad,dc=example,dc=com` this would be "cn". This attribute is needed to properly identify users in your LDAP server. The username attribute will be mapped to Defguard usernames. Read [settings-table.md](../admin-and-features/ldap-and-active-directory-integration/settings-table.md "mention") for a description of those settings options. After you configured this value, you can re-enable the two-way synchronization. +Set it according to your LDAP server setup. This should be the DN's leftmost component attribute, e.g. in the case of `cn=user1,cn=users,dc=ad,dc=example,dc=com` this would be "cn". This attribute is needed to properly identify users in your LDAP server. The username attribute will be mapped to Defguard usernames. Read [settings-table.md](../features/ldap-and-active-directory-integration/settings-table.md "mention") for a description of those settings options. After you configured this value, you can re-enable the two-way synchronization. ## Any previous core release -> core 1.1.4 @@ -99,12 +137,12 @@ You will need to change a duplicate email address before the upgrade by hand via ### Desktop Client Real Time Sync -From 1.0.0 we have introduced [Enterprise features](broken-reference/), and one of them is [automatic and real-time desktop client configuration synchronization](../admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md). +From 1.0.0 we have introduced [Enterprise features](https://github.com/DefGuard/docs/blob/docs/deployment-strategies/broken-reference/README.md), and one of them is [automatic and real-time desktop client configuration synchronization](../features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md). To enable this on an **already configured desktop client,** one must perform one time instance update, which will generate necessary tokens on the client to perform from now on automatic updates. In details: -1. The admin must generate a new token for the client -[ more details here](../admin-and-features/wireguard/remote-desktop-activation.md) (token can be sent over email or shared in any other secret way). -2. The user must perform the [Instance Update - more details here](../help/desktop-client/instance-configuration.md#updating-instance). +1. The admin must generate a new token for the client -[ more details here](../features/wireguard/remote-desktop-activation.md) (token can be sent over email or shared in any other secret way). +2. The user must perform the [Instance Update - more details here](../using-defguard-for-end-users/desktop-client/instance-configuration.md#updating-instance). {% hint style="warning" %} Any client that is configured from scratch has this done automatically and no actions needed to be done. diff --git a/deployment-strategies/using-a-userspace-wireguard-go-implementation.md b/deployment-strategies/using-a-userspace-wireguard-go-implementation.md new file mode 100644 index 0000000..563ad6d --- /dev/null +++ b/deployment-strategies/using-a-userspace-wireguard-go-implementation.md @@ -0,0 +1,39 @@ +# Using a userspace wireguard-go implementation + +Gateway currently supports using `wireguard-go`, a userspace WireGuard implementation. This approach is **not recommended** on platforms where a native support exists (e.g. Linux). + +You can enable the userspace implementation by setting the `userspace` config option or a corresponding `DEFGUARD_USERSPACE` environment variable to `true`. + +Because `wireguard-go` is not bundled by default with Defguard, it must be installed separately. The `wireguard-go` binary/command must be available on the host machine for it to function properly. On Docker, this currently requires building a custom image, as the base gateway images also don't come with `wireguard-go` pre-installed. This can be achieved as follows: + +```docker +FROM golang:1.24.6-alpine AS builder +RUN apk add --no-cache git make + +RUN git clone https://git.zx2c4.com/wireguard-go /src/wireguard-go \ + && cd /src/wireguard-go \ + && make + +# Specify the desired Gateway's version here +FROM ghcr.io/defguard/gateway:latest + +COPY --from=builder /src/wireguard-go/wireguard-go /usr/local/bin/wireguard-go + +RUN chmod +x /usr/local/bin/wireguard-go +``` + +Note that when running the Docker container with a userspace implementation on a Linux host, the container requires a `NET_ADMIN` capability and access to `/dev/net/tun`, this can be set in a Docker compose: + +```yaml +# Docker compose + cap_add: + - NET_ADMIN + devices: + - /dev/net/tun +``` + +Or via the command line: + +```bash +docker run --cap-add=NET_ADMIN --device=/dev/net/tun [...] +``` diff --git a/draw.io/defguard-drawio-library.xml b/draw.io/defguard-drawio-library.xml deleted file mode 100644 index cd28b42..0000000 --- a/draw.io/defguard-drawio-library.xml +++ /dev/null @@ -1 +0,0 @@ -[{"xml":"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","w":328.2,"h":268.51,"aspect":"fixed","title":"AWS"},{"xml":"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","w":261.87,"h":229.88,"aspect":"fixed","title":"Azure"},{"xml":"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","w":280.21,"h":334.12,"aspect":"fixed","title":"Core"},{"xml":"7L1tl9vGsS38a/IdBMl7jz+Oh5QMLwI0RdIy9E2iciiSku0nQ4YAfv2Dqr13NcgZOU5yco7vWcmK1niGBNDorq6ul127/jR+/NK8/sv7Xz+Vv3z88+c/jed/yh7+lGf3/x8//uWXX85f/filC740j3/+/Ln/78PHP41nf8rt77l/+uqfu88I9/n1/V/+/PP5v/bW+fNb82l//fNfzn9ubv/0/vPlz/iL/f93PvXZ/5/O7Wfe5unT+1/tPw9f3u/7n9/aQw+7958X7z/8+fMPvzwdzodffu4///DL+fzLl/4Ln+2Db9/vTvu//HL5+ePjL59/+Yvfavyf/r/BPR4+H/Z27fmXX/u/vn/69c87e8P/PDR/7l/+W3/kg/6a6S/9f398f37/p/EDfs1fPf11/6f82+ZLP22PP3xX5e/abycf3jaXXZcd3n/3JtvNfvnrYvxx/LGdjst2+tfdl91fy+PDtXz8pvv4ZXcovvt0/vB62i1//vT0/u30Lz+sv//l43dvrsvDf/y1v2q8+HnXLb58075r/6NZbk7TxRjfKw7f5u/f/jhefflm8sO6uBazh3252WeL47YpZkVWPk6uy8eiH9sPr998fvdzaf/1XZX9+W3z+YfDw6XOm26xme//3H775f3b5ml5+PbyIZ9+Xrbfdh+/+/6v7/Pt/ykey+7dZte9O57+b9Ffu/vyzV/erUf2/M91/qof47fth/GPl3ezp/1u/Kb9kJ8/L942v3748uP/9yH/fBl+/p9rPbMYPnO0+3L9pcj9mk+7w+jn3ZdXp/69Lh8f7ZnZfvGletq1WVd897R//1P11w+vX2Xv335j9/51l3/zVP/0xsb8TfE4PX74rjxXj9/+3+L1u18/vL7246++vPtSD+8zsvu8+/L56cPsl33RldPq+OpUH4fjq2185/c/7c/1l+bzhy+r84e335zebX7Zf/jpx6ePrz9fP3x3M7Z88ahrd4N3ezi+e1t9Kd++++Ljm13/2s/R9MPrra8J3/j0sa3fvvn13dtpVrz+fOpXH7P7U3F+N/7+07vXnz9/+HnVS8m+6Ve5qQ6Ttmz7GdzMvymO225xrEe9JEzKY3YoN/VkcSwm/e9T+73alJfquD0Ur9Mzfnw7/fXjd+U3xc8/du9++n6ze/3q+G77zeXHn6rPxXHyH/0I/7p7/Pav77686z9f9c94ONjKfxg/nOt+tj+Mi2+KQ/W5+rLN+5k9LLqXrpm/cE056SXmpGsW+fP3/+F4/eu71z9+2fWf97vo2K90Z7sIM1sefjg2P3OOyvqnz593n/+j7d/11EvAp8Xb6acPb7ffFKfm05/f/tj2O+Cl7/fzV+zf9RJUr0eX+u3oc3x2eLDPfGV2+/dv+7c4vfn08fWrQ82ZeWdvarL3eD+yfnVe2/ezS3W4Njbry9nnfmUemv7fFD/n3cdDdilnH7vFenIt1/bfq7N/1v9eff616vftZDHbjvoVberu4an/rP/dfs77vz20/crqHsd0j+3ZP1tPGvxe9L/P87c2lk3xVG1Wl2r2ffq+f2fef6do+nv3P0t/fmn33cx1r17C9L0ywxiKFj9XGd6nHvXPaJYze9eyf87O3618vPY/92e+c/uh10F+r+Mrvnf/rv4ORf/v8/vNZt4u15OuWl/bcvZwKbvPx/66sc/JY//3R/vuqX8XG8u883HbZ+tJ5vddT3L/zmZnY+2l3763G/ffO/efNf33OpuL5Wz+VG4e8sVxP61bzVP/e7y7/25jbJaPGOfSP+t/x1j6cWpOHrI0/zutYVP++GtVtpPRYja3XdqU47L/3P7tbZ36Z3z/i31318baTxaaj833/VxsfS77sVx7WWh3rT8f/+y/89Ku8bnxsWzs9/kUY7Y5PuE5/XyVeA97/9Zkq393myO7dz8Hq6Zu7WyYND7XNqdH+3vZ+P1tXC5z/pnN+cieUdm4NyebZ5unzn6vZvb71uTN3jkv2+ukH2tevu3fu5e9/nn9uHrZOPaaaDbv19fGVzxBTkrKgf3N38Wf4+vauYza+mQ+P92nfn5sXbWOD52v4zFkNkt7qm4xr5y7NecPcmM/W85rVmFt86r/3P89Xq8LOzfX/rPRdZSJpsLvbRVyU+v5nf/uz19hXXt56LVvr4FtTV1TN5C9U8iMr5vLYiGZb7jX7V4Xe34FuevnLOPcZZyvh8bm3de929oz+mtXvXxzrez6zuVsajYB5rZ/d+iNfj18zvvx2Xd8z3UuE+vJuH/PtrcN+vfr12Zk8uNyMO5le9TP22T5uqQs9HvG9t3a528EGemvw1xcsH/3F8i4Pa+cUu7HLp+HTDKY9e8ysf3W69DWr/2pPFMH2vh8TXu5wv7zv/Wyis+am+/Y+/k7YV1C32xO+NntXfags37s9+Sro9/DdVav53z+y0561WXC1jz0xgo60+dlZ7LY7/ldv19WY5t7l1+bt+MW+vVYjl2OXb4yyvse47Z/a58HkyXKc9k/f+Uy3c9RzudM/LmzXWvXQDdAVrGe9g4+r7bGuN/RxlCetT7LR43NnmNyW2S2Hr53u91ludk+VV3R66DK5iP3d36EXFe2hjO7Zufng+lV00G9Xr5UnclBPz7b35s9zxHTHwX2xVr3eGf6frx03X0d9/Zptgv53lGXzl03QY4KyoyN0/Uc13LPfWdy4+dXW9letnlaT6a9/OS9HE3Ln0y/zDnftp8+HSGvfib36zaf4L+LMc/qDGvvn9szOx/fI/Z/ZXObdHArXVXhPDW94/uxP2PyxazXQcfteHd/1vjvdsbZczg2l8v+nY77wXjLC/VVg/kpsY/jvDjp/GihQ0IPXpMewu+u//tzstdpueu9L9K7e+gIk9WZyUTBv+/49xX/Pqe+nvOfvuf6w+RrxPnI/Vw6ns4ldJmfm5hP2/cmE9tJP0du4/Sy3OA8pI6Wvs7Lazpf59CV2O/te39XnJW9Hu3l1c61V7+U35VhSw2ve2/7w/TwYy8X7bUfXy8Xb3Uu873Xfg7m0L92ba01bnwu/az9ZPu87cc+dv0+632y4z7bwU6jznjI6sGZXUFm/FzBGq3CdoAu2WtNmzLOaNuDdl6+6SiPI8jqw6S+swfi/rIPdIaZDgp7sJRdw322DVnEGOJ3fH8D+9HPple/VrZX+3c12yCTzeA20aPrBthuh5izSZzfG7vvfJJsyfTumAvqP/v+yGzffWNnS2XnAnR8G7IOm7aN/bPRPjkN9PrK5S7s6bQnxiETm1e93PR6f93b6KYbZ1VHfTDBPM9bl5efyruxuq5p/ay1M6vtrzc7pqPOtX1sZ4n9PNZmu3AP7bG3NrB/cB74Odv4PulcN/vZAF1q+vFk53F/lu/6tf/YDdffZGVgu3bpPdOaLu2swl4Z7IUibAWz10sbv52v3cejbN6wy48l16bMec/O1tv193FFO/t0+9lan9k4TmPOXbt8xPz5Oetnwn7E6/r3dTtj6rLqNsAqD9/jgPeqfH+6PTcJG+8AGfD36GUbtpifz+OK79r/bYT33p/777dus7lNueVcud7J3b6Zvet/9vrmWOfQ1XPJchN7znR8t/KxlDiTTce29IlM90+ld6vNXrIzSfYCPvd3wud5+tzmcz+mLdg/c5f5vLZ2/9r3R/9vBPuePo3bw1v773EV5/88nQFa+3x/jbPUzhY/S7c59+XE9YfPS8nP6rF/tpGe3555Ntr4R9Uj5GDpun8F+xz7y2xC2Y0uR5WfX/bdneuUEnYA1oF2kOktW7Ol5i7OFIthPXQ+jmPt9m6/3876G3zBfj+4b1HzmnLke6UfA2XZ17j3l3uftLfvc54P5s/AH8gq2cH93PS+8nn5qHnvbYpNrwPN1ul1Tf8903Xub8JW3k19bL2PYrJW+TX9vW08HeXL58LleoQxr1wWITe93La9Df2YdbjX3u/bz53p0sb16qPrmrw8lb19/9DbZvuz+Sk8w+3afo7q6WJm6zM3u9zXwvRDZfZdB1kxP92f3+9Puwd9mbzycfQ61X0yH0+vt698D7ONe5/l4DZef9+6W8zs+vnZ9H1/Hvj79GO3OcL9+7OY+651GZq53wc7oNe3fqbY/Jgfc9A899e0Jju29v093YY6YUy9fWoy09veZk9N7drKfGPzLVt797mdS/3YT2e3y3qdVsIG6dff3oPPPlxHbku7TG+f3Of4rjaZGLmd8Yg9hOesYA/62L93HQd9W/fyV+Osntla0hbz753cNvKx9T+XsN1sLlr6jBnP6kkF/WwyOKGP0UC/17SRThnOfI9jXNwO2NRP2PMusy3OAvehzKeb4vpi6t9327vux/DxCbbtPns/+5YxmZI23JsjfbWWMQTTz4gjmN0Km5OfzamvTLb24/5eR37eIQbR6yXeYylbxmJYbrNeZVP5esb+Nd8G98hpa/VyRR8a/gL2JnzcXib0WYmYy8F8dfrB8NGh/2094duPq9DjhfQ4Y1jyF81fe6DtCj+8+smfk9fdA/wN/3xF33PXfDz6GTFBXG6HdbL3chv69OR7+2fTRe+OjD1wHNgXjGNB9uG3cUz7xufFZf5VDl/U3ndFf8Q/h2/l9nlJ/3VnMmm6FfLhMYv+mTYOn3uLN/RnuMmo62SXx8bHAvtt0u8Ds6V/KV+7Hd9x7VrshTnPIfvvXXMjF2v5+bbutPt6X2ew7hlsnHStye6Svm+F9c5dzzMmmM6wiA1JJjLJxFIy0emcK7uQCfr4yw32I86Nq+l1v2+/lyQLgzjkINYDPXXleUt78Ufshy/llfNyhU8Oe6P8yfVIvnz9u/QIYmuzfm56+67ff9P+uy1ii9feRrl6vqb/764yu8jioXbP9XXK++p3j/f0a2/vZ+s4tjOj/2xqeq8y/WjnlcfnruYX21r1eryfo/Xfawdth3ZQg7Nr19Ev8niHz0ObTaDzH258tbBDWvmke/mMY57VbZViphhfPvBXwq+A7e/rD/upTf7MSn7ENWIo5hdAxs1ebD2GcghfaBTXrsMPGd35zbD91/F8iyGbPZbbOP19fqaPegg/A/FI/Pco+SrxO2KHB/po3LMVdHpLOz9DTKB2PxD7YEVflbFdP3c5P22MbxTjPRbJ9k9jy9LvW8YP5+l7lP/yy15+Qos4a29/wg+Vj+QxkXroa0r39Hq4/HINX5Kxu8E6+bjGgzlKsbphrCL57l0ac8RYr+aT9s8bmR1kPkRv1zHe6H5DhliT7YE7Hxk6sLmJKdz6R8m/HPhXZfKRB/5gxGLvvhcxfcRsXM8xfrWWvTlYjxQDGKUYgNkCK9sPnflG1c+yW7WmHgMd6EfK8+PQV2U8gn8vacOUsx893+J2WmsxVvOdPTeUcdwT5EwyxkGLlA8JvWH33zKGViN2cbgqxmlncSvfEPtV53DR8L073wP9uy49P2C+ruW8Ti30Ts25NV3BsxBnt85wxNF+WuGssBhF/x6V6X2/T90xRnSEX4vYbdoLPDMg67Tv9skOSD5b0gmb2FNtFetepnje4PMkPyV1wGSEHMNVuUA/y6tjKd0wpS0yCXmEzWP70M7zqccrPI7geb8u6bI69OTS9cIcfpfZ6r7eJ9ihEZO5H+c8jXOEXEVp54rnKrbYq5vYG3z3Vbx75bkElzH3y13Pttpjv5HjsD3sccV9/yw7K3cW83U569+3c3v+YDIa11ImVvy5Tet10O9ly3PJbDI/Y/r56zzWbDlZ16mwzZaRP4HeRNyjoP1qPu2c9pPJ7N59KcR3H5AjWSu+BXvJ4/O9LWb51v59siTLEQtAHHH24zHtC/ts5/djDmREH9vPLMRKyinsPvO3LFdq/oLtl5XpiF52Xd/ZGljOLcM+LHwPQFdHrHvkNhnGj7yp275u72eIvxT2LnlaY+qP0GvzyFP3cmu+Que5IJPv73hm49zv92nvJxzrjPtP96ZdeUo5GY8vu36cUI9RjjyvSBk6RUwCMvPRdZidAdgX/d53m7nAs48r2aPTNO9byt9c9p/7U8gbr1KMRmNocc709i1kobfZzNexs6ZSfDTso7KDT2j25RZ6g/ESxvrGnoP1fb2jTGz12cTjU2YDee7ObKi5PT+vXrudD71gPjbsOccRuJxAZqlDVh19J7OhusjxII7X0g/L/Ix2WbV4Qkk5KpCThF3hOjzJ96oL3bmJHEabdEmZxf52m9yfk5cR2zw1mAd7X/eJbV/n0H/7y/JH093u1zyVWDuzLdqKfjPyZYznrLPf1sN3evqZHjb91lmMoeaz5swfh6xnKUa/S/ZkF2d8Xka87uTvjfd6gCzY7/5epqctjrvHvM8Ke4eRvVd/5rrfR18+X0b89l5XRu67P+th73KNoP+OuxgzdG1le8LiayY/U/MDS5NVj1kUiMt4nqpwP3W5VhzL0UKIs/S2E+IzW8UoJzd7BTlV8xP8WUvXOb3/4bHtN0ee/7a+iMMea653/6xHxLctDr4ETmME33kLW8Jz/Hj3Xi4V27RneGyo7E6UT8uB9mfIBnnGambx/FMv+yfTk+5zL18zNhPzGWcq7GmfwyvOHo/b6GyhXbyhbWdxl1eQT9gWD46buLUtYq2SLSl5cdzEg+LaHWPYoxubZIixset73er51F5Puv+F854ysZUs+54i9sDiLpprsxVGiH3VucfmTA6YKyyl97vT2XPspmPteci7PvV+s+V9B3miQe4kp60Z+v1BumCAKVrFPFSB3/D8dgu97Hpx4nLifyuY09i28Ad9bUdpb5sMrsaypeHzF5aDyRhTtNxB3vvmsiuQh3A5cV044XrAJurlxW0iw0lY/Aq5mDze1/XVHHoA+T6Tc8Y+9wm7sQl/sfPrPN7qmIARdK2dZfUIcfbTxM/J8Ac8Ts18dcZ8ejnxvJKv6XXs/rztXYtzWGxsZntm/gS/xu1sYGL8jCx1hk9gQxTw5ZEHu88FZ6HTZu9+Kf188zP1qer6vWS5rJsc4Vz/OH76UYj7IcbTzwP2g+3D+dX38swwOvWkTv5QHr6pcAFhZ8+HvujAHyyQM7O8nuVduhNwBpj7yLtDd7uexFp0n5k/s7xwb49BbvOw+TYJY4R8CrFZ8M1b4nq6l/OmkRN228DjZ4/XsccxfxrEFQa50Dr5jqNkd55kSzUDX7N5yfcc5KInYctsIofYDmIaL48zxTfSe69l+xWT0GF+T98zbcpLrgbysosxw2banunPTbjHc/qLI+Jmxvz7KPxI3xvKY85xNnrM2bEdHTFAOfI4K8btao9zAgeyRd4Xdt5ocXt2Jltv88ZwYo65Qs7u3WBudpKHRrl0xQeQq+zvgRhGG/rYz/0rbJAbjMFNzKRNuC7kzl2+XUa3Z2ImiX8we64g5kRYysAPKNYyiEfdx0Kw3sBQmC+56/edsJV38oT8BuOrQ3xFxHncz1vMPO/XJnmdK+/Yply+rQtj0O5nbj3P3dtxMadl7PGiDd+sM9ukwJ70nPsbxpsZJ3qMa8b6HRg4Yn6Oqyl06i6t40a6ic951HNMX1jcyuTwTXcrv9xDbzknwlAgVt+fWcJS8afk45XLgMWIG9dHx3eDvTmQJ88bDGNBteT0HpMyiDMlnMEznZP09vRu7Qf7suY8PLtnOtcsBpBiVfcxrhH/TSifOTG2kkvJY87vTbl/M+7tCfb2aqC/ttI/TdgGm4/AXZhN5WdqkQ8wsANMU3W8m788+XD0hVIcU3NBO6zG3oMPT/uw8Lw38or3GJh5yIT7X/BLDDs3pT6/2+fCTNUXYKMUpw1bfBiPTvKNexumsTE9Vo3/RXFR7vOKcU9ilhvhgoRfo67j2XGnS9M8GrY7R86ScULHitBHtrhHrwOWiFPrDCa+Ya41HTNHdB7EBpLNCL0Ne87yGI6X/Gzrn+IOjitEXITn9Zl+vq0b4zAej5wuApPo/srYc/luL82B1zLdY7973q3XW8pdpjls0pwTfy7s1yxw1sJSSEfC7oBvgjN1o7jAyt7N88zmk/U/J8Q1TZMe2+n3lvehT19Av9o56PEnX5OEGzvGvDCWY3g48zMKf5bZxR5PWzOe5rl95v0gc1+Pp8XeKyNuRez9xN/Hcm1rW69+/TefB/Esx4AinuW5Lh/vKMWPvhJPOnw9htU/b+r28mxuubVul/TCONl0r47IkzA3Kkxf79MQs3iHNTf7wLBPFv+wc8/x0swNuP/aIu7o2IPrXU5roMsHejbiIfOko25tv+QXbX4EdtF9SvMJS+aNBjZk5I3mIYvP7PiU+xnkesqXP4fO7qizaasR9wtfuh/LyfCqhvFDHMTxInb9CvFqv/eOOHec7R7DRpxn5Oc0YwWIBxXcmys/I1KtSO2+9McDc2gxv9/aOg7wzEXou8Ct9XO2dD/A8bOwUaAPI+fAHIFyBrCj1sTFCe/k91rx/HOf0u/f+45Py5n5wT8SM8H6HOACUu7hINt9dREezf0V7JuI/9F+49n10C5SXQtrMvbA/8z2tj7jF/Ou3c37pBzIrS+uHEK3GOaJ1hwj5tHnHLFGe+7eao1yyL+eyzgUdZ3Hihwj8OZZXY/fS+dkmpfrkvZV1FE88t7Mw6f9eJ/nx77xmh+cbcLZtPRBMW/C40hWhIFPc0e7bAs7xeV7pRjIuIz37/2RWX21M819AfhKl2f56bAHKT+3a9okWz3wthb/+8X/9lN5d83n461OGuBTcG43gYU/0k+Ej0A8BX06xwUBywfZNdzDrrevDefw45Fz1dBG1b0CoxT5z7A1wtd4PqYD7eNHyfgJZwPj0JhPw8NY7Np8/91ImCnabJ1wQO5fv76eaW86pgDnbvilHGvZoiZh7tjz5eyh35OfaL/JFtr7fOKMUjxgy5iAxZhK1hLRfkyfTeKzw7PPxjefKeYJjHvO+M4Ivjcxu46jFXaSeY4D4vPmwy6hN6Fr3RbdPbkuO74SDusauRDUOrSwccwG93hahhwWMKiV2Qcdc2nIsYwc2+64TI/D5CXwIxM/w16XjLOa7rW5rRth/pSLKenn2b0r13mGQ6tzzh9xBTVjX+U0YtPC1fpab8/0D8Y8BxrF3zB/dg6U0i12X9gNVh/F2j2cR1YrdDV7KUONEWuA8Ey7L+y+45sBbok21IH2i8WLFRuCzh0Bd2VzeFJ+UGdGW6kuxvBUcf+SmCHPxdPOrTnGfp66/dPSq2s/HWHzAHto+mvp+XO7P7Fw0oOW/0FexWwc2lUFc0m+n9uEL9zxWVYTUD5Zrpz2VlbiWZPK83/2LBsHcSZDPDfsY9cBqNMzX+1kY8qA01p5vga5LreR+/PTzvKd2ySwQe2+J69x8TxB//3FWv5FRiz+nvLoedMMcYNrQzs9Q96qBjbT9UWZEe9/Nbu4/KK6MNcpY9QWZMiHId7ZqoYCeXCbw33gEyI/YbK2Zu4wznfY9oubvF9vi/saeyx4jPs6LjVHrPkj8im+lhaLt7PrI+aecu04T+RObGwd7T3qVq3nHOuBekDTKVPmUZ5K7umy83yKxR+7pcf9LXfvuiFb0sZdAtfpMXxUf2eseYh6uhw+EnLwwOhFrLhdBF67ZH2S6WrDjqoWVnU8OPNSXWs5sHfv64zLW9t0U8j2bJNvWrJ+JWRjBB9933p9cr+HrDagIpbK8Xhr2hARY7mv4ZjzjK0x36y1qGbJD18mP24SvpbljYENHjmmQv68539XrL3aMh/kdj9+3sTV5im+gxyc43oGsZ0Ut0vXjO593uRnFdRRD4ynP3TE21sutEENd4ka7u5VR1wM81PfH1kHepu/mn3KOYfh08Xzj4y3d7Q/NsyJdQVzYXvaByfabKyzOQqTo2elmmfUo7+xubV8/MixG+OX17Pk725L2efE3O5ua90Rm1WNbYt9UAFn+HyeU806sSCRh8bnKX+bmZ6T3qkO4Y//Vp0R3/c+RlDIRmx5jijfZ/Hvka+b5V03jruYsr6tYQy2iVqEkPGIafCdvodfOYhDDXNymPMfBzHf8N+vzH82aR/c+ZBH4gpV4xGYYtmGzI/OuPZWl47cVIOaWdqwxF7znbpBrHrwHjFvbfUd8hipFt90we531OJTVtL6DPgKdtzD1AlH+v/djzbm3HE/vr/pL6K2XXutvcnbfoVH4bfmuhojFrFLcjmI5b57gXNhnmK5zD+ndWBNYqf5397txTexDm5/zD4deT3z2azJ7Abr/5jeIz33DfRD8gNzr7vrbUj65LL/m/ANtH+TLky++aH46w/H5lr/9OaX4nX1VP9UdT+svwcPS1vs382yg51vtG0sRz0pfw7c9Jk2iNvS/g9+mp2nDc/NlnJ7Jh7F9r7jlFBTsO9Yr2TX5ag/6ddxAzuZtUawRVIdju1v80vsvyf93so8Px91efsza6bHsONr1F1FnKtELbLXhTmeh35mXDdxmwI1OGPUdVntkuVBdjxrFct0jIbdbxqy1zG/5udVpjqjazozHtK5tol4WFvFGVOifpNjCMxEqjfNdAbRBj+zdubZXki6MGoMu4TF2SlmqBgA6qE9blu0i8jZ2vNtPXba113Cqu4UQ1PMkDiKwHmPtfd9DXo9Yvgls7sh9yXPLsT7Kp1tz/RY+LXP8f8/1Z57GOi1Zqn4h33W2364F2OKG+rKw+CcOkyYS9nlEau543+Jc44xlDjnUCftdYW9HThWTINcFencOPB35PF0XfcsRrFWrOsr9xGnBX9P/Cb8vvhPHhnXyBk/BRZ8qEcjj7pU/AI5tbbyefte39dceBztNgYyqCd3m7ZmfYvl/D+iZgc5ZYtbTncDDL2NrVZtCzGjS6zdhGPH91pi7ddxXqlmuikVK3EfYYXcpvmPHfBqS/jorWOxD+5r23pPIk9IfpFKzzv8jb+Lh4TjWiC2/BSyKUz3LOrKh7wEY/gUK8YiDPu0Aka0Oym+NphT+1mBc6ajPfuoXNbwuzc8LIgZIbeD8+eGF2B79/ed11pUjiE3G8hr0oj5ibqBnHbSBLm5Glwwx9r81kvKq20ZJ9zT9hrWP9xy6NSsPfC6U3+uzUupZzJfGbFvYY5GiKtYTtliPbssfW9OzLv5J2VH+/9lOZ3RZ4j5eKUxuV+PGILHVUbLxxfkgXlnlwvKX1rbGD/HPB/Mxfwr/1aDdQMvwnO+hpfGv+c6z194rzrZVUMcxrCORe/SBi4ocRUpt049ssR1DfJyXpODOupW+Xet5Xz8UZiFt8rn3PEZHRIOieNx/I7HfxIvgd0/q1APzFpLxM/s33JD2UV8pmUOqkP9g8f3OuBqba/V4mEYYz1WF3K13M0P49zA3to5ARvV44s7xG39Z+1xDHCteCxA+gB4lENwM7WDvcTnC3MTMtIM8DOcL42FfvJhcr3XVzc/77gkOM/O8QBuLp/HUZnGdcsZlfTXPZZlzDF2sLkL7rH43h3Hhcc8LQ7F+TE+rOqJ75r/TlvT8ohTi6VU/v69t0V7wW2Xw3XiNu9mRbz+zm0y5Fz7fePP/l61cOPeUr1UbivWvU6uPVZZeb0acAXC0Pme95ps43ArHRcDHXDtvL5/A/w93+Hn3/EetiZT4oe7KtUanqF/C55PnmPOgF/LMottsba6U+17f02DvMoV6zCzPL75wc7P9VR5zMnrvafl6Bcw+r3Ic7cTz13jnA6GpfQ12xp2qPO9dlCdYja1Gvcy6hizVLc4txj8tn9+4Xlpj9l5TnnvcTXgbffCg0/d9zz4z6mfeTPPD0+89n1m+batdGbHPYOaAcsdmL/gcR3HfSPHh5hk53t8Rnyq12VavWwJjPDx5H4qOA+unNcrztyZ49Yat2/79XWbzTgg3cfZtqz5Jz5ra9xXHXPzV3ALGK7Ta0U8Tmm8LxYvcDzr2vhltjaehjwDI+fb8HGuzIfIXCdB7+MevaxVnGvHjz5mrPu8ou7zx99a03msqednPRds8/k9980r+rG0+1P9LcdAfGLEsI1XsODfrX6lvETcS/U2gbE8MW5n71bDh/FYcQlM+OOV+C7mUs1nZsykgt5EHQRstStit45xb8hd9hQ5NXBJMAa+BXbDsbZX+EvH3aQW5xS+N9L3fE5b5EAQs9926X33jNl7vDFTfmgJPzWrHum/JD4w3mMljLbbCfBpr/K7p+AJ8Ofn/t+uZ3zPT5fu42Kegaffjt0X83feIbbseYEdapAd7793fxm4eo/9O6eCyzpiyh1qekrzCSeQQT+zzmXU6T1Q5618npePPv9d2aK2x/Zyf+0IvHpXYo2yBrbOFbkf16srnB9eK7V3v3i5KaFLu9p8cufUMN/c9or5kB7b731EccNQ7lSLfCFG1X14XFOb7+++t83ZwmsPTmfmQ6jvPzKHxBjEo2IQ+2EMImFtfzsG8e/4wx8h/nCI+EPzPP7wUfX8EYdI9YM74ZOUt/on4xCv3Gahz5/838ApDLATsJ8s/tYIs0u/oank6xsOw2P+/3wc4hlGhj69Yzre0jc8whcAv8UOehVxScZT6DP4fhK+o4jr3Da44R3R77uv3Gd3+Qqn18APnNNnsc/dLnSs6m7oUwPjO7hXyTwGbfAbf0j3rPE9+CEd6hu20w+Ix3TBn/GT/GTGnd/S9jf+zY3XIPu4lxqjf488qMilDnxd1q2Lfw/+M3Q2awoxB/QZXKet3JdYPvPrVrqvcCUv/f36zE6/jTGQY5jxqf91MYk5/bA58sNWF9QNMb3/L8Yeao89lK+dKxKcsR67IhfQzbzpO3+E+MLw73+A+ALiCMCgAeOcLW4x8VlaZ+dMJR+q+ajOPdFh/xp3g/07aV8Q0zvHv25OO9A5eTLnOTLMQeKoUF1Vzvqa4VoxHjBXDU3H8TK/bjLlP3Pk2Y0ndp/BTqUempHPkzVP5TBW+XtqIR4Hc0lsFflLRovbWESOWMT8Th8Nf2o82zSmqPFxPmPMr/bksEbL51tjHMQx+B438oDvt+KtZPzW4xrOD9MKP4a4EfHS2Qe96xfn0PP7lLoGHEqsVXLfAeejr+GVsbySMaeacmF17CfWVkgPrBwvtzgqRoS6J+dCs5q8lrEtxyLDpyjhU+TglXCs9Bhr7L7RFD5EnXSd15M6Lx/jWFvgv2ycszn8PcTKFIOcUt7h4x4pP5LlTjljxuo3O/lMvnaO5waGu5H8McZFLmGfx7wClmZKzohuiXUx7A/xVjvoZz87T+QvVE1HDbvEfHT7Ht/BfOAKfBvC/oN7255n8QOc5c0Sv6Oe/tFj+qk+AjFc8iWQMwH8aqOos486k1L1BWPWtw7ORK8xZ5xuBW4z53RYkevLOf9gM7T0jTx2hPwDeBP3kH3n+dL5T5vM8Hz27rPtE3FBeaV8BuKX8KN93DXianouOOWm5nuAayL4ecc4K/39WevjXHQ58LRex8e52SV/XLwNjGUThyS+MfGwp1wLdDL13B54FNe/qpWOHFMH+VuBcxLfy13+vc7ZMGt7s9OcM9TxgkfYAcCA7cDbedwKn416UrfVBviWsDeEH3adbu9AGagR19e1xz3sfWEfPIYFXtiFeMmA44u1cg50X1OeGUfZ2Ht8h/HgFFMe2I/IreU2p7CrDOPgXHLOLaDzUvmElB+7toFDBMbJY4Yex5y5DIycC9J9S4+7mK0JPYK6jJdzkDxT73OKFbgNGui5ebIBj+TCDTufa4Kz90oZ7BbCb2zIS90Ru7jZag6uA3mK/CXthJb8MeKi+Qo3zSB/umb+tHU9fxnwAevsbWpbK8tHHj1OYnq0f8drhr1idd4l81s75Lhmg/xA+DK0xY56d7wf+OdZl+4cnbsLOXs66KKrsEWqn++8jgl8lLj/htzmaf7B04c5GVXIdU6k45TTFZ+k6sVucr7r6HuA+L3Xf8wVK2qYMx4Bl3VtFGstwf9KzDV8UtoOXaX8MGyOjuueDfMeN8+P/MRtTlt+Mc999XFwH630NfxenMmNfBnvh8AYJvbninNZ0Bda8e81bXjn7+vIZUyuCtqoR/iMFeUZPoTXFxBLR14JYpOAP4JtQK6/JuWTtvC5wB9yxTlQkwOUvIWYD/CZiUvHryn0DItxTjg/Hesi8uApE+5nZr5LaXORo65pzjo28Fguxe/icWrz81SDsov6BvaBwXveYg342Vwxhy5iC7Mhts/5N9HP5qanjL6nugRhJhHHKmE/MP6yB04X9fwRD/a4woExKpPTlvXLB2FNhOdm3Bp19IwVUcbBg5p5zBTcKYl3tNWc7tKcYj3IR3BtxZez9JxPTc431i7CPmtifOKrdhz4LsXQN8Stuh0gnH+h2hjEu71Gyb/XxVwdFFPfklfiAXyt6CNx9fxAejb5iMw2K/jObiudnafnIH6JOuErxe3xKKxfrVr8TlwB5BWGr3lkfS5i2OQmZRz8N/qGVKoJFic2cMweo/xIn6RuOafiPh1guYH5tLnOcEaDD8xzW16v0ame42HE9WrEVVWJd9ZqGz2eXMBWU21Aqn9S/UMrDtsKNTZYw469iBC/ONN2GuldmdMYV+D0TnhHcp2SB/pSgme3IQ94q3oNYuxlbyAWDL2CmpwD+WZhF7Mez8/7nBwpituOgjdN/EebHcdvdsMONVCwpZ0bJer8rE4anICwP/2+5WVQuzblHDUJG79THihbyE5VLY/HoefkUim4V8uQVa5h5jFje6/WeYCbRdTuzFnXUTA/ZbY56lGhV33OLJfSuj2v2BvWNPaR+5iY+1ayzDF5jmgRNcYZzoOOGG9hFT1fmcku9z233HhOasx8whPWoFQuB+eU53I8zp+n2q09ceZmJ6+YuyqJiWRuALoRuDv4SGf4HcD+lwdwPxnHO2L/qyfmNpCDdA7+TLl88H0pt8Ex4UxC34L4DuufnDseazfx/Ce4pDxfluTMx0M+Caxh6bl9r0fqxA9dQnfCXvX64q1yERPUV2/p69pc7EesCQKf5Rqc8+C8qkeJV+qK2OYaeWTn5dnQLoW+H/GdlIeDDQudBfkEr8QZ9rFqtFbiinM+au/z5HrXfBjnPePzyhGet6feMZvDe0S1rFvP4ZNmjBHt9Bm41FSjhtgv56Ikbx/rTixW4J+ZDXoaRc3jCxyhSW5Z24S8x1S5XNmeqgHGOcjaINevyL94/OtIfj5gb7NK55tfV/A6cQRTpn0O93z2ivlNXbcjfnmreuJJnOlr1fhFnqvhmcSYTOY2sdVBCdMT4wwewR3zqKohKhuerTbPXo/jnKTimhDPE2tuIM+s2cK5P9K5a/Ea7PsTeQtOU+XlYCve1VxGfW45jJNpvRJv8lr5orveDqzl9zFh75juyqBP6vSc4F6udf8J93JegkuUsRr0KUi9Hebq09XBj8/kr5wX6uXDWi3kmqNmVvV4I/GOLuEHcU7BARt9IjYaV3AztmHTdd8rX3e544mEX+P3Fn/jXLVeHe+TRW8MP5ei1sa/s3z1j2Ai5iPmyOCDqGb2yHwl7ZnI1fpnsnVWqqclD/pKPOhji5P5fb8oJ6gaB52P2k9+dk5lhy1le+A+GeykAfdlyzo3j3ucaC/ucH6syY3BM3qpuuNO5wf43MuWfI6IHbTQszzbIn4sX0C1AXu+F2s2VQvvNZXiFiTfTysuyxoYpGGeahjbXcffU82y+kYFtm2YW/UzcwLbCLYKz9ysin13os9D3EDwyJEHy7Ea6oWz11yJW4G2uvPNnJH/cU5X8ECC07WDL+H5aM7tSmdUk+x9zwNx3gvxFsKet9iy7z3YtLCHt5T3gvvNdWVGHBKxiV7vp9rDbBlcgDvhUGTLjUrVVvlnfp3sGeN3pU29Yh1xbRgs9dZogl9TefpZ2IDqDSObJZfNYn3mEp5Bc0DsH7koyVuIPoLG2+n6z/gKvI60ibO585jwGXHLWvs+Qz30yf1anGk+1skgtzbQu+SSgk7H9Wb/2NzTtqTejzNHtnklfJHZQW4jyA7YAjvCHJfjW1xv+TjEV+O2ZiU+Pz+/tDaOyciX4FBhvnU/WoAnJYd81YyxFWdg351fF/6F7AaPNbq9odr2Vue7x0BdFnfj8Clu6rYdGzMN++jA8Xr+y+vHc/pOOeesQZ252xFT+CfUAeKF7rb0G70/BfuIwo+qOswd4085Ofsug/riHD5IkeGsEnbW++jAb++/W6HXXZwDGvfS8Qys2T2oJ8BO+kL8yIidY8+0sN9PGpf9DePyfIfew/22SdjcfNcKeRPoBPQUurg97n0UVoj7zBwjlGOuxB88p/wUXBv2HFQNs+y4Y2BqMulFj4HGvG1pj7p+8/wHuN3t/HZb3XIl7PNpsSaXqZx16+LfVj4rRx8hYd32mfyoynCdG+K2/Fwgjm6m3o0P5LmekLt3wPHsdpjlwsFf7DFuyKWNh7lFjmctbvqH8OHQ3zj45clvfd+vbK6eZB36pFD2N8TvCSvke9cxWei7ac9CLToxDyvDBSOWBF8qw1o5fwt7QpX02cqW48kr4pJQx73nGoNrmn3QxqhBoT205tmhcbW0MYN3ZA9/dROYhjNjmOjrBZ8b8fyQE9/LmqOcMt5GL66ZbDv1apur/2mrvqUhd4h50s9yW29ayc/3flz22Vb8CmPkY91XH+GdiH2x3k3ovTsCdtP7YLKnls9Hi7MXfUTVh6BiLAby4HutgS6a+/o4tv/oemCyFF5MnLv42ZX3PV/An8O+QKVsyZy9yYR36bhmV6wndAd9H+HhVGPNc2U1pi0De/Qge7gkxhB/Qz4lYx7wAesO/AzO3H5cJTjAr+BpZo+69E4Zf+ap3lT9i06qn2/ot2IeFW91OWIMyvVq4mdMNcRlYOKqxHk3EiYw2bzoS5d6q5RRe1x15K9CnUQ8I9U2Rz22bLTzYsgdd9ezKfV24Jq2jHOvJ87Vy/fD847kXsO5cWYMKt0jjSHVF6dnZYnzoE712C/zjUdvD/Jo0x8H52DMjeJv9/xNgYEkb+Mmau3bNCdF1FhXuo/389Ocz/Ob3u6tuIbpO8EnQC84vofHBl1v2/U1+wVniiM16BcH/wzcX4xZ+z4mZ95GdcEF9NAh7j0WfpbYXvSF7oIfLRc/cNiRisXHWiS+hYWwqMfgQ8wSBrgm/0m8M84+znkpzCd8NvWWHmue+HfGgTSfJ9p6WbLdoIfO0sOIEZboAYizYRxc4Y6z3mM/btCTG36L1QyscK5uiJG/6U/2kPaO4sths5Wcb9e1HD91WtSjx/y0CTO9ih6tzC80X/88cZsnrsr5AJNb386V2wUn8AhDdlK/iU68mDX9z0wxii71o0Bv0NSHlnFv5QGRP7um8biOCw5Y6C3GdhNW+xl3QJX2VX57b90zcREM74ledFv2IvRzeAp/IruUX+nPfvt8xcQlmy53U/pX1O/iE4+1k2+ufcVYDDHa7l+c8K4b5XBq9WNm7D94iUfkvTnTbm+r1PtjBPvvBO50xL61voyFxznQIOZZp/mG7zNl3BZzA66gFmd/ATmNfuHwpwdypf0t3rIz9xriXMqphL+4Hac1i94s18QnTD5Ani+wW5zL6MyYJPkxgk/7muZmTlsx9GHq08JefhV7O5VaD+j2HP6txzDPwtXD3tzDTvCYVdJteGZw20KPHWu9e5vq6Vd8d7t2193um1p9XLx2gTrQ+1VgTeGfwI7Z8zy8595lzifWWrzhD9qvKWaqeoiQS3B6Ib57ks7IYePv2cfT7SX3C6EbVpN41kEyXwZvbDpjtu2g1+oV9v8JcdU07lGsVyu+0lUW9/c9oXyAaiZ8P0U/k6jJYV6WfXH1vuCFQn9S7Fn/nL0seL5VqU5Cdjb2LnKSZ8T9Edf/kGpY8tRnad7FOQ8fYszzjv2bgu++TXUiqwEfcHAwvdAXemAbRJzedVvqHbfWuhfRo2DQ1yVxmrsudztyNHjuV/pRx3umfuqb4GYacE0Ne4fXkimeS/ecyfc9zF/qqz4PeV5GTcsWuYi1xwJSTUucN4NnpvkfPtPlPL1HfTsO+E2Mo2hvivtQc7lqQw6P0XMncesf48xl/M/3ha5D/lZ9ciP3Xeo7Li+pX8azvgOj9JzqKc7xWTXo/RBzN073J5/l26/2Zky9a9Y368d32MuuuD6TlzS3f+vzaRrvSxzjif9r0Isv8TgnnqivfX7H9zXoEZi4jV7id0f/0K/yBAdHL7kmC80t/ZUbe+Gu5yCuSz0b/OxFLGCj2rV77nHWZsH2fqHXY/ze3s7NPOl1nG1d7EfFpdQbxfXeLnthLprk983T3rnn619Lt4orUjqhlL2XDfZxktmWZ0Xwt/u5lr7vZ89uwKu1S8+I2rRi0BclccinsSau6md8+uBXG/hoA17r4Ei63vcFbRf3fVHj+uDQg/3sevXEGEP4GkO+6We88enz1PdhYBONXrw+7bFU5/ayvLd392/v7p//jefnXJ9cZ2AZ563bTpPU52CeeppGjWLIc5fkErZtKRzIva0dfnh6n4H9n/bX5pTet72bT50JM/Xv9L0hP/iifsHPejqsh/s5ONbTOH4GH1riXIw5ClswcdgNe4Ak3sABB96Aayzx8Q3W4h/hU3t6mVNwl56fYhDpvFdv7+d+5LUKP3PIY3f/3Hc599Dd96KXAPO40fu2S+fPTnLjmCPytR117yrp7Yk40iGDihkhZgZMccb+0Rkx2xG/6xYR07rXpaG/U+wD3yf2Vjlq+iwJn9Bgj+8i7y2+T8+zb9jbCfI/Qi0L+0RabNn9qKhHAx9759wiHj/1WmzUiU8wJ98rHzLgbu29xbXnHtCvynH2e6/ztnlYikMPNUHAAHkOZee8Cv3cTdw3ms2R6wNHAbk8/ru4GFaql86ck8PPlb2NpWP9b+IJOIIPgBi4p4p4xaXJuXP6Io/m/bgdF58B1z2zfJxzMbTgAfk7OB0QI0U+1etYduQMsXp65CC8TmGjWlTVbKp2NLiFiPlSfc0W73ZwfF7Kmd/UeDovicWwrVcV8Da2X7zeoHpfHP7jT/m3Pzx+83vYSBoy+Fk2YPpvBr+vVtAPIxDIJspC7eLEZbcP90jOtPbHg1P9j1td/4dh97tnx4xODYEOUYeAajxg99sQvX7kLutUMf13VtSzYn9xW1GfBdqdDH/4WRDR71UFY0fc3VTez5nRnOeD69p0XSkU/T2qfvyV+5Cd74FMbHNWtBbTO0aAyULdFW5/p/Yusrvvj2+f4/fvAvnVa0MyiA40mf18J/ZV/VMFOatt5mCw9gpWu+c2//sr7/eX/6bK+9+qsP+Nv2tOBhVdw3+qsP0aqyAqaoCUCJb5q9ZC2UlV7xuCoP1ItFR0usP9sJejAiNOjLQmL1f553EdUEpTnOorVUj6XDqTWovKoGEFNyuzGlVmEZ1F1HHdDJ4xWgRT4HwykL9u+G7vHyepehtV4y2YfpDhj6pvVqgBYYruPhUQCCNW4XNvP6vCZ+WcKq+8e8GE1tpwrNw383t2hMSacNvZb9hJTcxunEOf30uqRlRlvDMYgzGhvZOX19oXd4yEnP9gdmOHo8EYBtX/u8E9bqr8L6lSW0x89g/snKj83RMpxCrGl6r5x64Hnpyl4N9sfv9m8/sH2fxQOfmHZPP7nUx+85HP/R+Cya8eIJzNEzHdVmToNrWSDTVhBIxVOGR8R7RE2XXZ3deoCLGuxerUi8rJM+2JZ9VeS0XgEG28LplpsXkBs9lNhVKuLkRLMcsrahT28X5g00VlD2zQQ3SWT/tFVYyO8HLWmoZZduzXmcn4yezbEbK9Jkeexbxi/lHFQtYZ95z7tbMzaAJvth4JpeYZrBbMQi6vve6w9zd5Nm8b3RmznCwIuTMoPiJ7amcqGQV7u3sPGT86UxsrcTOwYkBOJsvX++uAlX5g+39/jOjPMbopcz1svvcjRUuRcYVvAcSfIQCLS4pOAxGE7CwzAZGdHXbGsM/2YqR3neERidR9ISLJS0VrPEOJjLpXVsyInsXz2kV0E96hEmFGxpujV4F2ZIzpeP6Py1QtRxtb5zJ1/gbnWgXGrQk9+wurzDt0p/fqFzIUylZ+YEfMOXVjId03gp5ckUVjJ1uX4y7AbNCR3YKsFLCrwOBjKLFKHWrc1ntwNLlXiZuec+Zv+8wjFg2jLLRT3LbJEdXBGcdqL6KEd+OIrrj/fMU+JnqdOilDNdYDK2K90tiZwmkTIQrhiPbtk1eGeiTJxun7w7oJ+WcY7xXdVXkmqkqcrD2Nf3d9BZPUrLiCgfAE38/Z/65k/7v+fh3oUauSVQB2Vni0cGJriPgEGTc2ZHyEb4B4gEW63Lffj7CXdx6TqDwitXKktle69eOwak7fp+iOaYwbZ1TX988Bkj8nUyQYJVx/1KqwHGP9iARCpWMDnWRyUhOJyGpjICcpF5nLMHzy00Tdo4i+JrK1AFLRswtb6A7od2biDWmMLGUV2SXp7V3ODIzrl0Uw0BCF6RkXu55Vdd7hscBefRwgQo9CxDMmE13ZVKmwbRnXGKvaCJ+Vui7jdRnWzfbcHjEi+EEjoEq3jE7PFbMQmrsLVPBMaMA9qruBDqT+q8eKrnrFpGWJD+oEOY+KBiHnwOixJ2rN5477u5wCKQyWHCJWff/B7vK1+U37oVx/xQYaw34oFS1XBUarCHUNGxTotadA1B3nqJD3TMzpKTq7OUPFVmetKh8zdjVlvIssQ+oMHxVbK1XZT4hielKGh12Sz9SL7MLFSoI2qjLHZCkhmveqStwmKnCDMdWjsEQR6LOVkCOqzh18ttV1E17nrLiD6tvroAqWFdNRZTldROf2naqYYGOIsRjreoYvQkRVVOppLxLxxgpJRG5PYF7FerAyaSf0CM+plRDAT5TffEkWZZctt6tOZ+iJK/SEIZ9N77XGmrpHhLtFN15UFLsuskyc/WwQEd7bWBClh842dDai3Tf2y3Zgv9RAbUfctWBl5R5dj5AFalh1PQm7BXEVxPdYGUFdfYaudqbWMZCmZmM5Y5LpWKv2R4ZgwwxByHcpG4YIDKAX2IER1W5uy53Mzvdqa1YONl5Nnhu7l9B4HqsGYgvoRWQQgLxrFYNF5Usg6Dxu6++gykswYZ5L2mMLIZCFbH8kktYZ+TKwQrk96GOfRvwUKKUcmaSInzK+7XHg8SK61zmapUnX7SfYW55hYldqn+c8EC/Kph+UOT/JbmtSVrFQnLhL6OIiCxtxFmih8SCL+seNXx/+kOywwVaT2GEHXVgZ6/0XscN2tzHkhwk7+w47xyCGblnV/73xbN2frIrqWngTrw4WX94PsZnO41mj5dsrf1ds+rNigGP8fHWk7T/FnDgr6RTVQ/E9xlYeRqxoatPz5hyDx2AvjHONl3Gezqc8a1EpZzas2+n7+7h7iul+Ldar7ocpFvTbbLHp3+9hi23hn9jYrPIL59ktS6hsJ4vvvmFcaY553fx430VZMdOvxeAvwRzrtt7pAiZBxkv/sEyxW1S+doy7skqvZAcddFgn47JXru1RDdtpHhPDGmKAdzHDQV5AccNB3Pw6jOHfxZAHuZubePZ9bqcdrPswzj0Kv/uezXY9GMOAsXVwjy7dI2LoGgt1WzC3EnngXZsnidXrPv79Efva2ZI4NlRqKmZ6DfY0Vsgyz9Ewl0DGMGfTaFDp7fvTquxyt234PoO4aQO70au4bT+AvcSZhMSKGvHspjqwc9VwbihXivGiWpP5jZa5ImcS8rjJ2P38R7GTRqxWbLIpNxoxfzGzirF7PshlaZ8OY+WMjyvXNGSJBcPffa7pN2LHzKkEI69XpI9YVTiJvIXv1foSHU1vGImLwZ5UvuJEv3LP2D6ZCD3msvc1wN9L7qsae/D1le/6DmzLfp85r/H4waUCy52z3+BMnF/EFua5TLAE55SLqeMoxDr7iC7fVsFfOete6ICWLLGTBeM+YGF1ZnT66StUZKOqPsWnnNXN/THGowr6+itHCpF5eMROwU/4Sb8FjLtXMug2zMGYDFJ+CspyqRwAc7ihw1B17EytBZkjJH9kJQZLDPSs66/CK2TtXcCWswULrpgqPIbmZ+MU+9nzj3zWinJiLC+M6cx2zqIK3wUx9mAbMrYJW2PkmnLo5JPHs3AO1YwJiPVzz1zyjufHFrIiXTw7kd15R99me7lF8qzivmCwLdDphrF1j/c+et408s9ELo0dvZNfmYN+03GuM9o5eQ3GW7F0oZM1EG2OFkK8bj+Nc9aYHFCJzHi5ctxbvrPsF+TwgrF12EnvQMZVMDGY/nGWGPhqrhvBYPk4AXsdmVX93Wdk9tfzfS+KlWeH6ljEETrI5+SWHVJxw8c0JrJXt5J7sOR6LNj2lTExdYh5skL736yv/yDr64B987+J9ZXvRptCHfKi6zLPjFJnOp6HORoygcomaQZ/kz8xwX4qhC+gzVIwtr+CzTETi9e/mWD/K5hgwy995N+ZE8Da0IaXLXvTrbrgHnYbu921Ia8Y81vFgecXPjPjM1vGvTP+PSdWRJ0CpsgbMRaPc44+44o+2k6+CO3dkv7PljbqFrIT3UdWYqy+VsxfiZmcedWc9rUYJnzc6Io517nJPb3ivUvkhV709f9ZFlhWOzxngRV71S0LbHRnia7it53ln3V/kb/ETiybrbpX335vnelzPn9PBlTPXbGyzOakZnXcFT6m2yxX+JnQb44RdRsl4rHzFl3JCuZ8Vp4z8ZjrTCyShnQuWMla4jtgGVI++uoxUFRWMVc9h/4HOh55Nc83lE9u44mhEUwEWapCnYhpa9BxQXlp/8m8ejxnkvLq7uuLoZbMYluO9WESYz2gGrT0XJDY3QqxzDFPu2Nl2bxdqFN5KyznTuy4DasWsqjOAPtjp/mPqjrsW8TSkHdrYm8BSwHdu2bnY6156han91Jl9oUxwsj7+55FVRUY7RGXT3OPM/ccenz9e9let8wHebxK7LYjViEQt1DQlmRFsTMye9yx07wvA7Nwoix57EdMum0wEHXKWW1RIZVYK8VeOnbcdIrDKJbFKg+NjezE68jFsLsi46RkeeQcxr4nc8VoEex/O+4Rj71qLFflvZAzZ3V4sBQEA4jmfMJqVb1XK0ZW5NZjrTrgxp21mbHu1WjwjsFSx/hvvGOFPO8VFZ3GCps1ZG+Z6JqKss3KO+YiTV63rHZGDB2MoGLkK1mpRlbcYLzyrhaOd4cuAntkFaxsFlctVOk8gn2wQk7A7689Q/a7g8e629hnzl5bM8cmhqJ6wn3SlMFeUVBnGcNbjSrhyM+hIyHHAFwImTOrYB49eRVy9fhMLsTeeK1+FrMicIdVVLmg2q+O9RDLlfuDPqelsB+9vkN+ohbGyf0eVM34+UBZDIZSZyxk1w7mu4op9tYeeW3F+A1ziNxZsID7vYHHb8g8bWc9agA8H8h6Bdj8Z6+iZf6/FLMv8gmp+vsYLFpn+p6symR1a8t8p63JjDUOWBPvcoIzwPzNeTyvVCfGR9YHeDwXjLtgAqk76mDHMfp7+mdeAdcy5xUsp25HQm5a5ViJIXL70HQPY0mqdrtE9WNUMOs5W+ZlTsojc0+hYhvYCzKr+nxap6FyRD2eYy/bmmgfz8e6rtR1M7IYQMe3Orv82bO5ZJ4dQSG/jiH0s2Ef5zvPgTblvqTvzS5boa7iQCav1J3TsaQcp/KuWRWVqbKJbJ4dCzcVYxniANszWalQ5XWDV3AboWUe3dlRF2CMoo47KVcHmzPOvN9ifv27WGHJKLFjLtQYE10HTyLffxTz8XbM+Zh4TNNZF8QIa/bBKosc9OPN85rh83S+DZhhnSVjqTnrguVtorwb/EF0Q8V573F3x+aIXYv+4Jl1AcyD6rP5JbrNktmt/FlsCsI77PmMrXAbEzFw0Vfi84lpUAWlGHOPYqYtJ/8QTuP4o8fGgamcC1PZBktqF2zysptana2VKoufMf9bfORNvhh2kvwqQ39xYZWrMFBX5sXhe6LCmvrGzsM92UAgq8583jG/OxPzyIP0EjslYi2qzaew/covzMkfaZ8y768zDflX24tb2IHwh4gtchb7aeSfbveIZHDIljz061N8OeoqMsS2ZqwQBHvHCDaVmNBk09TCD6gCuWFdF2oawKJPW5F5CMxXIz9ATKnIbSMOB3kvw84htviizsAV/OVkO3FOeaZOVBXPzgHA75GxW1jZ6Cw8oy0qe/vAilzHMjkLw5S5bGDsYSfyOosN77r4DJW9vM5YLndgd38kw4RVZa6ZW+eZFushu13zCjYfyrzj3nLXq4gZEHMgZooV9W+Zi91pify/d2YDfqeWr6LzGCzgXut3IguS7Wn3NSaIAfIcQxxnIF8Dv2uNcxx63K8Hu2lLO17YiGOcMw0rxMfELXWl2Bp19hNDwnjelLhDztnpzNh8C/t+lenM0toAm2Gsu9uxuhbA/zAWyJqsnIgVgVl0y9i/WKkTE3jIGPTqlPLtXddYozcVBjidJfKFHCOef3yU/fCKTCBaZzsD3h0Xf0Cm2MpxicQZQce0jrmZzYX1V3z+zBogMpPRHvTYfk27rIRNQN+A8fwzGFFXwA4eJZ93rK20E+G7nBgLMKZ4YT9PxAF5LL5/v6vblPDjiN0JxvMHsZqy65tY2Lf0N2rU4rZiHV4F+y907QS4lXbCCnrpy5XmIbAucW7OdCbPu4UYTB9hey09J13LlhqR5eFC9swxMJHG2iTWyJv3oG/u7zPy9dvMnwKDtaGuQ15PdqtiGzyvt7IlKK+7YMhePgr7UwtPhFqxA9cWPscFDABb7jnbXwX3l7Nwt7DtQkcSS7m6CDML/27VUX4m1L+Isaur9j/EUuu2E31KP0dgc4MZl/FP7cFC69N95TMxmY44BmJauFe824W6w4j1IZ2lXP9JjPUg1oLojkC7a8X1qPkOpm8eoG8ClzWfyiYntt/8JJ+Pkp0XcMaJpbnUuUuWZNYBsGuKxwE2NeeTHRnvWXbFsDA7vcDEUIgt/QqZ3l/IGpmpCwTyOmLU9v0xXojhJ2zHnb5zIdPmeAnWSGJM+nPYfUzs9xLvMwZm2OPeZ899tX6mNX8/u21g5WC7k+WWbLeIwYNV8kLM2lW+YRVycsK+3Kj7mbPuJGZRsdq2isVoP++nug5xeu5xMZz6T7BmoGMQWdOCAXc75b1zZ1rx+zgzidaa5zTrQ8i8WCXGl4wsJ1MxYZY3jLK12DuahdiAXBb3idkqscMw/jk/B8vmYcCAm+pdgJPtgjGvS0w0OzGyNfID2AkrnhH3nQWTSmLzPJChWO+9IdPkMVhVhsy3wi8mjGJixpLvcSbbO9+b8R7/b7KnHobPmYvROO4zYBhODLOKs+p6sKEkdrou2FvYEU16OCPjNfGah4HcBgtuYoZZSpajvqkIRmPmMlDTFNjNPeO3meJ7iV1tFvwVV7BvE0carJqoaaKt6bE+MelFLA7M53y+2whjPq9h7NjGKh/d4xzLWaqXIgZ2hNoSZ449D9lzUOtGllkxqt/Iw0nzqvj/eZFYp7JglNX3Y+2CFSiY1n4XY+6tXCXGQrHNh+6kXbwJO3e8SF3gYNOQYRB1Vfb8j2Ca++K2WiMGSXRAzqBz3J8Dy83yhoHnGVsRWYUHa9XtzopZVBr/kGk35ifm+cpY15k+6jgxQ3/l87U+HzA4KQ+S5FtzBeZadBgju+/uzFwFMNdum9AP30Ssvkv7sNY+pD0Ra/t1GUjst2Q5Lc6MlyqOdsb5Ggy808RgiA4y7L7mZzGZ2p1ltCJuNLHpJf3lzzpojYJZ62XWtIjxB0MrutmIKfdRrJ3/NFMuGRLL80Jd4IKp74GddLRm6hBDBmvl45Tz6oKNdJSYGd3ubsSPQxY0jj/k5pr22LyNc8dY/r5L+jytlcXfY60nicEddVjo6uh674/MwMtzotY50aRzYh5Mh/S74pxDHJ1xvfWkY/cKfCdYmk/iGWrFSaSucog978fpPU8hL/TnzvRFu2Ws4W4Ku4I+luodOsYgyfyLa0/oduPr4+t/Zk2MauMmA1ZexZ4k46qL0xyoblbxoFHMyzHWLDHNgiF2Kt1QiXkzWNpPYzA07xmD1rMYt+Y7Y63jLBsxdsI9tIXPjm4hMW7GK7ivt+x4EPenv6EzZge7+ZahF9ccxAu1k55DPAU1N/C9W50vJZiZ16ol2XGMu8Tu6muPOO4CtSVuG1RfrpJR2kzzxLB3jL3eBVv9hl1iYsynuOeg9mXAkLgKnZuY5MFym5iLi8H5eeJ6Dphxj6wvu7nG35vdZcWc/IzZdPDcT0+h160GIfLzoXuaZPMWA1bPxCBZhYwO9viAQTUxvxaSP6wJ/PBmETKf2G7L22e2SX8Onxlz0qazc8AmHDI/YNnd1NqT7JpS6KzNk14Lpt42ndcDZutW17neyREXKLT/4Af6d3bS7+NBbVLUxbPrQxbXPGPZTEy3A2Zb7XvlIl0foZsA1m/Auhp1TYm9OTE2L+PMpl+bdHV798zBOfgbn4dtxDVKrMfSA1exLEb8IdZMDPn3n4nN9WWG2jIYQp/JeH4rJ1/53K7/qbx7BzCwJybOYU3hKe3TtfZ9kTpfzHba9+Nkf80T+2aa/y6x6Bcj7XPoScanbtfyj8WgG7I3YNFGFwvZk4OavAETbrLhhiyZ6fd73SLdgXkc7WJNkj9ZvQ7d2yWGWPerO7JiDp71b6bc/2GmXPhlPob99DfYj/8XMOV+1ff820y5MW/BZj4evFPqfDPbp3tiXkYDbpeBP/59OhuQW45uBrSHmnIMjE8d6xgxmYnGWw7jiLfsuFzDQrGMLGKGniuPeGy3EK71wHgs8vDABij/j9pkxWgH7Ld76sw9O9irq6xkiyzMM+X3g7NjSttpsnxrdd3ENHTodox4wwQcNsdPwZzLGhbE4Y13ZQMMNmpTCscNeU43eNLIybbhf3sdUom8I+p9yBVDnhWP6xuGoUSXQrNzVe/oY6lR67IpWb934n1V7zdH3L0jpphchyX4N8gcu0P+a8OapSMx+DPWrWzIWeb5ONa3MOe6ZL5XdT5e68N6JOeU8Bp55g/b+7q8OWuLHCfltQ6oVxRnGseOjqSoZzuQmw31UJnqxOLv+Cwjh4/q5kZ8Fut5C3BGoTP1oOZRNV+qoasvUfNlc4sYGzmFtmkeokbN+VkmC3XZ9lzOVnVy08HnDfOMHcdDzsAVefD07nvmk2vEwr3ODPU34H8iP8ea7wpM0/B9G8zvCt1anZ9kx1qFEnlw573com7meKJM7Pn3PfaJ5fiO/K7HB/bgzkONEWvG5jkx4I69K8G/idok5+y6Epu/Zw2rjcHz0sTTrcB03RXMfzr/Bmq6vINr7Tldq7sKjgteZ7ho1i114Gm4oqaMdVyqJ7G9Qe6OlnydwOj7nKxQ+wMmZ6+lqFD/NgbO4AEY3WPNmrj/TpbqmmfBCizZqEN2XqQluMdy8m3kNxxDG3IMrZ1jyDABDWpK/x6OIXQArpx7KVNNIO2mlXDWTaX4cUscBbgez5R7cjZEd5pkx4evGZ1GiOFbjcj7xZy7OmSq06QwRUXgV4hZZU3VfoQ89tZZrMHnsc2S3ybMILGTnnc8nbl/1Im1Zcea5O8mXCH5PF4lFnVifdnBbYTzsVZ+eoCh0JkWc/MyP5K6rrDjB+NK6BYpHNuGdn34DPIdhUcqW123jDy8cGushV5PAnejzugl+EWg/+CD5PRDRuBI49mYMISqa5BPIj9ppDknDicLbI/8qYPiJie9T0YfPIvupYFbjJzgKMbcRoyLMrFqONa8VH4/cCvB7YTa5/XNdS19mlz5deA5PdarGDU4yJRXBkeQ1mhUCs+CTqyss/d4/cRtOega1nr0su61OUUGW2XuerYEb5tjhFmzMoE+34+FiatMJjvHheWqh2Ot+Yh8uRPWN97+/TH+PmZtEPaxxdwNi/abne13wfvo+tp0h63z+I/ASTkYm6/DdeycR+Mh13yKl5GzB12yfb+tzsRPAdNq+QnoWeTXI9azPTNfAvlaK97oMW3gdtfKNc2VAxt2uvp6rC3F9Dp21aV9P8htIn6XukC5Xqqjs1R1G49iDCvFxe66LEH3RG6ziPhwFdcN4wzBkzPonPROnYQGHbii40/LDuzx+eBZk7QWqfPYoNtUcMaXyT/l9RFfhY87S3Hs+05n2IO3sdFF5CQ9rp+Fr69/4QOXTRpDrXuOko+0Q37jUe9InjnmlgLvh9iKOlsyFu0yNE0xsDRe1mZ43DP5canb0CDekWL+yAPDd4pY+um+M+GYctsS239OOlTPmKdOaOE/FujQ1yrnhI6AKUZUar2iI95ylvigUtwU9yHeQz5w8tsDK/GQxt1F1zn4osiHDP3z5L+HzzxPMeBj8EKNUpxrH+NCLp3YJdRseBePFKtMXdywzx/Ggw7EwHhELGCn9XIbgjpuJN4lcqgQZyzO74I1WcSQH2vnwV/+dHPNtddfw5q+4HDqffr+2W+6m7rIn+zs199YY7l5wx4GNb7TwdepoqaSP1UHfBQ/4H95v4ILOQMvpWqcZ0WqZQ589u/9qVog9QtQbWjwjfCnakpPsCGArYJ/YP6KzRm63KjG2+164O8DIz5O70C+khl9M/CPYm1g6zWoa2YNNX008h4E70Bgl8hvT04J/E5eAnK0dOTUCQ4Fcspk5ZDH4ICO60vHr4oHai5bPYcd439n7wL/2+WWa4K+reql4+/kbDn+Fl9Kobp7cTvcvn/LesDEeX8/55OF6sjwvQn+O/i0xAk05LEYw7aaA7MN3lNdn+P9S3KBrSivNxz7WXrunL0CnIPE+aVgm9nvO/GkdM6rcWCt8C3neRP2cPABzMkH4HUx4nFCfYDzRJivcFKNEeMHW8YP9hyPfHrIbiXOiZh/8exrH4gPQlwi+8H3h2tW5Qv1eVDMBPGZS6rDHl5jP6vgpxKn0fIRuO2K9fDO50HuIfIKZWW+9z12u2/Lu3fwXisJ+zHoM3E7FvuXeLIGPSrQoUr7S1wfa/yd42oZ/2nAvWC47NNkEfxPd3Gn+74EikG+HHdquPfdp/O6gsCs3dSf6J3v9dnltieDYmHkFdp8EgcS+ljwnBj0dBjUJUxuOf3JecJYHXobrAef3/YaUD8BckwVXeBl4bd2g1jWZHHLw0T+A+3huBf5Lop7PrhucO09t1SzSJx8esaA5+mBfHjEAov/h3FV768wYw+B4+5ufsmTNdsP5vrEuRanyO4S/BgeCxTvhvbYIFYY/WNeiCPecMYM9+X87vvBmXW90yvSVeQuizjfoO9D0TGWOCJeunlhXXLOF7lACnD7gKdEc8s9YPL2Y+odMuwN8fn3+WJLq53Y7J+cj2X26f+d/guHVJdn3N+uO7C3MubtvAvwAnzl9A8eWM/zwPo1m0vxEayYI0ZvMOdLSzhS4SNz4ehY6z7gZdgRi2Zrt2d+Uvi7ufhfJ4lD2M941X3T9rV4bmWYMOoM6aQ3R8QNC3aVW53588liI0vDq3r/on5unX93e0avAucANv7TxutQnAPY+qxZfLdWTLLtf4e8wd46V+CoZ/e5bOpx642+a2tzysEHvPI+BWaXg9Oq96mO4A33cXRb7RPMMX52fl7Lpz4Shxt9CpzfdnT3OWtOI++Y8pOBP0A3VdRVnOQHs4YxbP+GXLup42sX+U5waLhfdIou29Us8vATdVBWbJI5tsilLoXv9rjEnv0NEBsuUY/B/gYFuYnESbTlnt7T5hHvkeUE7O/qL1CwD4HHSRtyf44Y32KNwxw1maHTtmHzkdMw8Xm5z2bxhevQb7jnURovgpfU63wu7HAI3Yt70qbbc7wF42GsQe7Xk7k+2Y+6H3M+Yc9hf4E7FP2S/p48HeO+rCmz+YGO9HvsyEM3xz027PFjOstzNqjTLNfiGHebaATuBq/vQI8rfKelbUGuePQ4YC+JFj0bwsZB3o12yMDGYUze49iZajSGPJTkD0x2wvP+P02p7wWXQMrhKd/n8eAv/0iej/2gOB72WGlS7qpELbzXysyHf+dnq3H6fYVeB6Z3nEtMfaXmqvdkJ9WX8nZcvxl6rVgudzlj7tT/XvLvNf/+1Twc4vi+f7yj52VJDgLY8zVzbcbtu50g52z8vftJ7d8pvb7N6029h6THr9lzQ7XQNbhqPMexQ20j/Iix7wfaGc5lIZ5Hz+mJ58Lr2DvKYM5eTlOPlTonmdf3GLek+Lp0Xb5MfI9j6HvPmTwxD9vxXcfLqJEukI/umKP2WmHwyRkHGnh21H9kNwrOS8/XeJ3lJfXcox9qNtn6annDJ9TIXluLsfT3mCI/5jLzhO+v0FHVevq04LpfOlbhCp9sZjGXfQfOlfKpOqiGyXrxFNDD/ftWzolfwLZwLr962Ol1xE6vI3R6dc57nGW/v9Or6qvHPBum5NZDzaPHS1Zn2uIT5IJWrXJBypsxpjsJvJhqMsnFEzbzmnED4OPZN+fUBMc+9/mSNcuIBUb/gilr71w+vAeRy8yV+ceStXweg42auBLYm7wkV4TXW3q8TTXiu1H05cO1HWO8WcVrb99npfchLk/x8RrYSpwh57seJK3qIhFz3on/CvpY1z0yt5XyXjlzc6i9/9+Q94rrxPvyr8x7qSaBdd1+Lhaqo1XNHK8TRwo58dbDjtM72mJFHvOu2qmNuKfm6bpHXbel/Af2aMCDIuwR+0OyNndJ3gO852oa1x2iNlLroec1wWdyVA10qbVqYu2PyouXE9mr/MnayIcXnrXSGPMF8U6l8E7Rc6jO9JnGn2pqA783vA/8jFvbObsbS6expDrgT+q2fo2/B6dKgVh9xPMDN8fnkpN/Lf5IrQ1zc4EtFCZNNaHF4KfqYh3P7+sAW4L9cdbRH+c3ewS+wLuC/mDsr1flv6c/zvyifLq4EeLvwgoKC3lQDwrp6znl/AF++21MnXhTswXJ5bfWNdI7ll+wdQAPDHtB5BGTv+N5izj23f3lY4ofBrknt/0hD9B94K8jLgD1Pw+ZsIlL5iL9s+NJeYNG75v8zBf6LCN3ovm65YeBnwzbBfkNfYc5O3HgiY/L50Wy1wSPoHJRwkSrx4/zxp6450pituknqobKuVqz4ICutPdx1tK/M12/EkdOo/6EwGs6p4Lq4IGvdX+DdRj0BYPLy+sTC54FtWSH8xQ9kXL5mOSIasC9C/1SqbY3MPDKrZU6m6jb1YfR7GfxFaKeF/4G1hQ+8kMurE/EJOyZrfoCaK5X0husLRDmZ6V+SuNBbOMquWN9jNZDOFD6E5xz+Meae/Hs2dmdibsSOdw0l/S/pwvh2MFX4ddU0jGo15nc9WwayG5xCYx91PSpL31NO8P8g3eoP33LfHh6ZisulCrODGD+K/XE9FjlivGdotEYUSvIGhLY4uQbqGF/oyY1B35iK1kiXmDCuu2JON1YH7X3ehTci/a8zsSwYWqdiVOdwcs4+z0HPFqIh/BRuIO9al/EZad9MfWar5v+U4XhzwzjZn79eQkbHljXDTFoM2LQ0C/T7H3LOdvZN10Ct2a6lNi2K7Ft2WhBzupKPaFa9c0ymfH+eDYPzYBPd4oYI/3JDf0C5zstEVfsaPPb863Ho2Mn92f0FszS2T+LnHqTalWjFm+q/L75dwtyxhCfxnq4kjx5gSuZpHzzDnbkWniEPbhYDqrPdDzCmDx56Bm2zoCLA9apYe0k9gswAm4v8jPWvzleIdWsqP8eeluplhP1kfa72801eSAyxkXLLD4HJw35h9we8WdW5EJgHBTx7A14hMuokXS72HE6mLs9fJU146hRd7L1HD84IqOHFfZdq1oy/84EPbdO56/hgYBtG2BzAusSNZTwNVrN4TauW87Yzy/V4aS66GOqDU04FWJwWsUKb+v3AwMY9/D5SDWTm8BnkFfRfapBPdLunHSN4pvkvlItomMsthEjrVJfqmE9VsLJJOxJm+ZgJWzJoK5pWGe3jXdNNe2DuruO+H/VEsU1qRYP31kN6o5v69XY0y/NaVyz1XXjxOMxxF1FDVrO2DH12VZzO1qwTpNykS9UhwiMZMzHMo0rS/cJXJe4ks8L1U6mGteEJYl1nce6/rdhlY5byXPG2qhhL7hBjd4/jEciP1ehd87TOp3Git2Ta1L3HKmXG/lzr7H3UaukZ6HGX36gvqdzlXzG7CMXtbTQs8AADblC7mrboxadvmTqXwx7hPwFmXysNFey88NeXWkPy0/THo06msUNP0TUFLJPXhnPhw6Nus8Ja3TyVPtUhg4jv8xY587iX4lfestrWvaaA16pdZ/lO30GH8R601WRk6K/8/bu98MAW8MYhteAIGadEQ/1vPeE46M+Kudwj2Ga8HfgH4b3hX+RPXsu8uyt/q7n0fcQxkk9ICawqVfNEMfwO34mnu77XnO3ve/k77H3XMEcr8fLWdeinLNyNozZ3mAviJlSDgc4og75pMno9hlz5vQLzl3gdvS55jrnnDD/PB9/eGRu6C2xKoEzOl2A+9ffBz1k7O+P9PWwrhn7TuTEfLQL9LPzvy1SL7z7HNDw75yngtgDzsHR56Ab1tT8QfBKzF3NmQ/x3kXjv4lLSv3OxoxHXsg/Bj+KPWRSX7gt434n7yHhseENMXpH9NrxXAr4EAfX1xfmkjL10hhiT4Z9QYZ945SPKu+vue8nd4hc0mTxHBPh8sX835TzNGHdg+Zvgrn2/NEEvsuqG9zn5l4vPKPT38llPOD/fIbT8Gsiln2D9Thdotbua5iiDXoGgtttZfmgKWu7hM2hLBTDPoBjYjqUbyN2aY71tB6Eei4wWh3i/7+JS7rc4mTUBy36JQ7eof/3VtcCk7VLuEmvd2L86X5Oh339VB83SvvyWY+5S+oXt2VtHPOvNzgp1e2t7ns8Dt7pWZ+6S/SMjGesiCMqXsDBaR8NcTuq27vHtA3xQWV6xjryqIEZM/2I3hLs95LqGD3HUUYsmX370H+yYZ439XR6HFwn7Bd7bg2uSXiwNTFrA7zmXS5YPX9eyhMHvkz55QF+Vdi7hvH+ZtDbr2Ue0nvfLe/0hsYc9//a+B953wP74Q3mjXvGMZcfdL8v++vufvy5xXA9RzNBXpKcssr3zrxPa8M+dh3/tYihpX6N3IfEyzlmboQcbUn8nOWnvY/ck/P5I8fNeseTc7wvZ+rVVyOHa/0gPf+4pUwWt/W43U1PhIHOGfYqG2I+izvZ1P7eqd8nz56SWIlCZw7fp2YvxYL6xv+e8e86+3POO/bixnVZxlx263FPzx/WOre8lrhMvSdH3t8C52uezsVCPbNa1VEFNom81sDnST/tLuoZhlpgP/cxh8Rol8Pepgfl8oC5KIm5QL7XuVWnS8+TXZFLwvOf2N+scf/EbSQ/wyd41+2Y6wzsI2rA2qg3PZYX4igmZeoNQlkpLpyftkT9egc8F3LTmGP2LGwlt7ZWW8YHT4iFeXywbvg977PHul3Ep72mrEZu7jinPYaeY85teyQWljzD3nNCsomaf+p29kHy9+I5JIy897ZjDbr6BgKjIGxMpn0rnDw4V4F1C0xRG+9OjPQKtfuO4QVHt2NMvP4TNezg7t0xhh9Y+qtwMSX1DOyMB/ZZfeAeUO/k8CFk52bAVhF3B0xjg3VzzvNmoT4/XmuxfaLuyqkH3c4G96znUE2HjcuYT8vL2nwW3D9X+hi2tqz/c314xfNmzo8MW2/GXmut+vmtdJbqfbjHH2iD2nu90IMv+urtLjd99e5qFqKmQf3guGbsN9vyOa5niHNSj+CG51PLmv2WMpBRt8O2Ya2390xmPUTleE7vVXhRD8SK9Qous8lf63gOjYhPyqpUI9kgBlziXY/oL/m8p97+8vWeejeyEf7fh0ffz1f4O+q1RsyvaituetOVrCXxf/d1Ky/YMsLfUcfOKO8x/uEZUCcfz3Wc/FrWEbXKTQ783HX0fSe/Lv3qNK/AoWHv2x702nhi0sJnpt2gXoJ5GX3ynAOBvbeMp8frA47kaQbOFxjayUIc4OgHBl8p3ntHX9dr04F1C7n3+uwJ+g3hnbjvO9pLXLv9hT31WuqEludCxnPBx11+se9VR46N/XjmunZKWyX3uAVwwRfWw7I3iXMhXNnf0da0YVz/5flHnEE/RxzTmHGVqAOL7z2yhx+/h/tehf2gXsU1vLYlFy77O/GdjuSFnQ37+sn/KlnzstU9laduUw9B3BOx+Af27mBOyXkUyEWU8sLjReSBLffD+nPwTMQ9GEtDDqljrZ/ZUVjzJmr7XFfuVFvPuK/nhTLmsRx/zHgp87Hq/yqu6ujtli2GPViUSw2ec2GrTswNuu4Gj+JBvKIF61AfgnfdeVKI7WZvvtGgN1+n+YXNBA47/HeN3MajctXXhjmCNs0LMZF4zoTYHPYLzoi/OmHeEddlP1dx1JGDVHvb38Wfzfrk4EBSreBIsUbgf5GrRa4IcykuupQPv8LP8+d5DzRxwnfkUiMvozDH6s/wwFhMYCGE0ciERVkK7+PrSS7IQa9DyPyOtcNuq2H9j6yLRj+bFnEl5t479UVcRc/FwHsMcBmLG/zBSlxrU8pEU8We2wvTPyKm37G6C+IjyR9KTqCMtSzKEe/Jf3nl2FeqQRirhgC2UsaaFeEctuAqFSeYxXS0H5S3Yu8/z3sgF9AO+vDAvkMvlo51DU3UNXSprgG23laycfY43Yz5mSF2hHnlCnmSMfdRx7wtan99P5/Imb4XTmDM3DVwG2vm0WfUXcGty/lGn2jkVcC/OU29Z4KTQ/LOftXKh7+ALxF2oRM20+vwu4FcZ+o/5r2axccJjlevFYv7o36jZV24eFVQ/0l8G2QVvSo9h7lxXOsEefXT2PGmR+/ZMcAjBrYm437JpcuiTw8wsmfioLk+W3KnQg7Rb1qcIey1Ehy3XlNyucdEll/K4TVaJ2DUiD2qAqsxF2/0dHB/cXxTj5id73LEfWr+1B55X62HMDbChOBs1ri0N8XjqPFNFql/DN9J2BH3w5C7IweO85Vh3yo/3SzUlzR4bFbpO0fh4pATr9jnroI9Ce7+Tjg4xpZldwn7MgsMDnNszN2S5xx1CNo/W+QrD896LKr/bFspX+o+EjnkkXfuEvZnpXtOeRZ5n7vo5XJULw9iASJnFntQ+NqEAzowl6rco5/vnj8m/tv5l5v7voqBMTyyd2pw94rz4eazSXx2e107uE4cHJfgQk3Y6EY/yVvJ/enxZMzDAViOJeu4iG2ZKK8bmLpjzb1F21W5hUftzRX3ZkEcAPSu9fdCzY/OvQGe6CAuktVQtu/63W6177Xfm8CvbcShlNan0ppH/5UBFizmcSWcVrcI3l1xlegM9M+Ey8JedC6553xPxDcIFzEW/4p6I/u7b2TjiZtEfSbVI+VB/VqbyGFvYn+qRxV6f3muVH0Wy8TRi/091V4c4MtHGu9S9s5GfaVYgwJZEPZAGI4J5WTs9vBtTi9wkbFvxb1C7hfhtxCDyhjrq3HGJ9z7RN+hvhPmi7y9wUM1ld4LXFjgBIIHKot1Ed5uIwyrxzM72UK4t3ryFImTinjNhNEvhnMYGMeKZwly2tYjBpzbiG0SFw19Yn3MRmX03gS/1VJ9QLvo4xCy6/aG6yvribVl7649/YgTbQaruSnA86gzMt61aCnzXdpHp0tgGzDnbWDOZ+pDOVcf1DZhfwqdh4NeU4NcUeS8+F2XARsbedIt7oa6vnGqAYh7Jqx0YKzj/B3ps6X706+O8d3of1lw3QdYeemkjd7X87vgPIfemSzUByEw94Grl4xlaTwvjDXwENpfbsuz19qD+gqK65Tj2HaD2v/zYlDn+XwO9vzOvH32zNv+VV+97qN/981RfklF3D56DTn3P+eumFKuRzr3lrNP74vDf/wp//aH77799PH1fl/nzafduPym+FI97dqsKQ7fnn5Yf1/1GrhxS849z89H78xkyDGvnsomjub3CsJewpF9ZaXQ97N+9a5uQXpF2ukJlW3e5cQ6HrVuVfaWM7MaZ1SelbCcgbZpUC1wIgJxr4omRcI67yS1ie7YHVYBHiy6wVsFVX9Km7S01zE9tzE9bXi/foLP2YnlimwsOgAwIs2uNn5fdNfzam1HOq7GYusvlYlBFwJGUjJG/0v33BElviJC5BnpEpXMrim80lioF68aY9cyrxxnFAbjsp+KcN0i7puoUGBH90DPryNS1IFF5jMZLsTQ8el4e+rPL4lt53uv6GC2lIiBV4603t0i9kd3CP5Afnx4JAKGzA8REYIF2Q7Q9wMGnDnmCMw5YgDi3xlhJPNFxcxQ1RWDSGPJiHCN7tw378tIZMxrRDIHn/8mAw8z2UCNsKoU8rweoFJuo/H/MCqFv5P5oGC2WZHGQJBM6cF3uzuWnVpR62folGGH0JRtYIaJYyunjOhPFl+pXmbWsi1/GmaVC0YhfewXVjLQKhc7BaO/0IKN2IkCUaVoINlDyFbUMIPbKsKo7IiyMYygt4zysrOd6R4+56BKB9fmvVxeeZp9IlrFWV/VSRWZu0NCeL2IBjnQMlkzsvwYUdprsM2sWTmNDItnZz1TB69lSkuhJSORZxc925tfyajzoxAHE1rGQoWltRugV36DLeeOmQpsOR8eyY7zWsiZFVEae1YGfC1bW3Up8l/66fQSOwjZYC63SBPJCC087IdJnILpHgnl4nvJs5VTnBM1ulq+XK2dUDqs+Gb0mtm5+2rteRcevrqsMxpavpCJjeqSlzK0LyIdJOO36KEP+r5l/l9ApiR0xxDZQQaC2emSWLDnF8kR5cv0kbJJ12VY7WKYfQHNkPbaNdirH1El8qLOiGjOAAXxmJAgN98bIDWElFiqAsTne8BuRORFOUCSLMXgzczd34sm4e9kmAD7zsuMOO+eiFYSUijkuP4HUCMxJ20wMrXBdvQ70SHvZ98OWYjEMDT8bzuLMrJytZ7pR4bnqRQDvSNB2VUact94VO2ACuhy/T+OEpFnNpDv7eW/EA1y//d/HA2CzP+/Eg0S+2oJ+W50HjKLp9+FBHl2Lt0gRQ5EirT/o0gRIhfoSbrtX2AevDLfM2DjkF0wvbO7vFjcS3WVH8MuEfPEDgxBsvNbViHT5nG2ipaV9JivjKiVsTNOuM1WNGKoILOEd1UokZlvI1PJd67IbvyvQYTs/llESLtICF/J+RBJOlokBG5HpMg0ujd0YJL3KEdL1Acyhx2ioQWzBttLYpokAocoR896Y60y6Jgrmb1qIU167/SKbgeQoSc8D+wa7iuuyaZ/dH+v8eq4xwGKxO2lK23y1Us2tGzlISLC9BmRqdA3tNW4bx/IUMRO0MrqwcfKFuqO7AiUQgwk9CMfuKZgBakYzSXyhfK1ZXRCDGtkZkOVOtmFaupQRHAxFnr1YB8Yc48i48qss+tRZI8T0uUOTeHy8+XK6O3n4yJYIml3EZH+4ZEohLEjaRPS47VQfC8gPYgcqYgqBqvdbujf0bcs7/w6ovyP0ve1/NvB5wU7griPjvPMkQHoDgKWfJx3FT/DHK5ibksxvLq/6LZve4O+ECLnkaiKdaBBWs3xUmv7t1EdI+jjq/YdkAZ3TKUVbXF/DyCUu/7aPFWAEnFzg+AQcoJsEz6uE+doR+TG3CvsS3V2DVkbzjfXlT8rMtMio+X6gj4rmRNs/wBlwSw3vxfZEfq1kCciMgpV9OfooPpfjuDofgeCIx8gOLqvIzjIBu73U/T0xE6Vfi6i0srXeqcswxjjGSI46pcQHOMBgmP0+xEcNTMd10aVYewiws4LK7ESkLEbMklGdlaAPaiDCLJiM7HyeWX5JN3/byA1Dv8PITW+XBtlLep/Hn0xJvpi9N+Dvtj98+iL9d+Fvpiw620T6xzoC1vvQE/8a5EXdg9ULXpXBbI55Quwb5+R8Rcq48Suw0I+Wuc0ZXk9lsdI/FzslonRY6PsB9ekxfWwaU6Q+5my83bel6ywRGU4ummJFSvu3wYrCNAQF1RRPwQbQSkmDN8DXt0+BVJ0z+pyjwFbBl7xDjFIsWPwXgishFo4qJJW3Y+d1UgsTG0lJpuOVeXD2Er4DJqXPwAi4oa9xNELE2a9+B1jPvDuNThPvfOPV4xpTdk1phD7SCfmI6wt4v+sKg3GqnI9kA91pWCWOTGnFKpgZkZwrmw//MB1RmT6XPOo/UZ2lWBnUYbWK9PwXkIOObM3K7bZ0ddtRukYz243QBkze8i9zK4bPBe9Ixu76QbKkh2LtsxZnPQ+LSvRR+yqMR5k5smSUqg6e3TzmToLdcEq1dxWo2X0qXy/5OxgzdxJOcI4hOCZK2vbBtIuZejhz0Scmjr0qP3g1eGZMw+uiW7m+REV/mIvuUEgBSuMUE3M/tc6L3WeJfYt2JVcq7nQlIkJZyZEG7v7PgoJUhKZYuNFp2PE2IhgUFW/+SdA9RBRsGKF9H4qm6bEniAyQigp7xrXIbtPneg5NM9om349M+b8j6ACyI5Xix2v5bk1DjYzVJJxHdFddREsEsyOb7bqVN5xPTrqmXFi4lBXsYQeqSJHtfdO6bBr3ZYYObPfjDaXs6yws0BiuBshts7uimKE2ZD9AwiOyb8+C86unM8y28ooM5fDbLWjFshgQxYmxOxm7BoLZATQTYeMvmMg3e7Y5MQKN5esI4N88Gcw+73nfihH1BcjoMW1n9UVtHoKm+snde58nrGuhbjwOJfPX74Qo7D2IKoaOLf+PhNHUrSWa/YcrbPIgJXW/ra17mkd9RS60XdghnRUBRllSs/DAq2xgL3TuF3i31mdKSv2nd9gCy+CLbwCCvQJVauvPC9uyDUiMccu52AYNL04wfiNnfrkdhE7g5qsTP19rPJkM7czesSupJmYHpcaI2Ldzrxg/p3ZhIhxuY3NbjC+B8ZgBAICs5cbMCgjjmpM5OP+GeqSlnulA5h5FJd01h+cDc5OM3F/Asw/Y/lpXpHgjKSOMpqqqxTG80CWCsTOqlY5dKA/HAHdXhFfhq57WoqFB3G+Fsiq/ZOfif7Ou/+/s6trTtuIor/GL33I6ANm2kcXUw8ZS5QG2iFvseLBQBx3Ai6Sfn2995xzd6XED+1MMtgIC0m7Wu3e83Wyep4cFMYJM/thbYOv3XL0OeKFnRwXhtjy58MQC6YaxjBf4Vuqfzza8RMXcCeE7fB3qfFLYjvarjoLa3Dz6cgxQdvHTgp6H8eAuh8VUzyuNbGMHrWY2o9X50jn6PVihP9thtuJY9OpOV8OcG+vi2XbNAVG6ihzcr5E94w9cXFT/w7xWk+R+TDAe1vt/y7i7BlrL6w9e20vZy0vvF80wrmx774qiOesiZFZXaxSfWP8fEvxdn6PsZ0nd9GZoY/fO5/csyZfl9UQE3xSbYzKtDXV2wfnM4y2j9tD25vkVak3qdq7SrZXrG9RWe515COVViuymqSae51L3CJNqQ61vAOTY1E7a43daeNAo2STS3Kd9J/4k6dx8Bq5owP7iyWPdlivh/YKmIu57OVDjCnMCyvD3++RgFJ6qgOw0nZ0j+k4suSVTvLXWP/o2K19+Pq0u9wDowA3Qrhwx0RNqCQvkdUlTOp9P/y9dpzbv4PK7fSYo8uC8EXWQ9HuP7iuNkdlHwwqzQ1Tk/W3dHWHW0J0q8C9Q5cCnj/STLQ/pXLQcaQCV8iSZdPrpP8/ugbV6OdBIkiyTThdkgZz8+ub1y85f2GcqWuElKCT+POCNfmquBsmuDBxZNGP9pnHfbprg5JZMtUdv7sGXXwduhx8j/dr+5BbIFf563LUJrwf7LhxbwOXGh93mlbTJ+f64ikwdGqAipUJM9+p6EM7/Xni+D1t+rTP/ohPAEUvfqaixdQXdP8YuFBUGGPlhJDcT8SkdG/qGoTr0xHPTs8zH/1cbJHSHOY/xdLHJNZpdR/BcRPHYCpw/mz8xBWd8E0F3kZ8V2nSjf+3NUmYPwV8sae7j+HZK6tXBbd845itOZYaLwZuM1CLL17E70EyKubkg74kzse478x8vLjQNaKth8kJ+H2YsJBV3Rvva0ygIha1FmuXMCdUGkCJevZGykX+5xwC7qtU/BKX1jMEriB55Yry0GYNVRF08k/5GfvIhaqT+4oYt+4Ptj/b1vr28a17skV7VnjGhWM77NBGmP8WTPS2uSqTsnO6MLGWZvWTjPi9fi9QR7SEAUsSJn5eWH1wLxeBTR7HpIr39Iq8oRWfc0eOrVC61z3TwqGqCYkGU6rGpv6ZG9xnS3sWV6zhB8yEzOOO6m7g0h24LFY7bskzIB6k33eZjfFU+tZKLlk3WAP3cGWqiFMN5madHMNxbSocRxijpqjLsG6BOgvx7UVHfkWLsXXLudsx97lbdKkSBi1eoeZfBcfG6eDzw3n1+NlPzHdF7oVxUsDVmMGtBmoZuU9UTCneKQ0A/RsqerqWV8ZlofIQtTaooUON4oT7J6xRzNkW7gQ27577NQXvQi4Wi1wuFlarN5UgXZv3wi3CnKjK4nWZq+7w4ik2e7kV0N1ozfkf79NaNYV4n1zISQJGjd97fiYHx2hXOJ5uaTG2FsvpwkTlFBKalx/kShD5b/wuOSb05MKWNp8X5mj8NHF2yc3twbet15xDiK8lFTHqHMM1mfF/35+YXG78W3IztRaEov/pgjEca5c8rqOYxDN2shNeade9EieC3KA312cRNwfO2Xq/litdxNU71FZD2xkX1t0arL7hODM5njaWcjx2zjLXBDgvYdfJ2ncSnQy0z5nGLGCPNZ5TOfqB+uZ14X3z5vGZ11XOApPaP6vEpnk5xIA3mONxPgF8G7wIHIu1J5/1m46YNMcbewaR57zifo/CrbPYx4ZOjWxrvWZ8LbxO0Mk5Ap9j+7A9NsSZdxOvJWv/Q5w5d6cE4AHk/bCWtubauReO/yb+zdeGjunGaSHudOlYP7aaEfcdMfu16QOUDsYaeriOSE/Gc26VCxdE/bkhd4lYMGtKcHafJzg06+03CSYKTPXiz/UPGsM2OWu5rEGw1kkcEw7G3O86wfKielMqn0ncJ7ARd+g3pwEq6ozLIrxKjsNQFnNMziqvRQvbbKhMc6yjc3wpjDcH4aPHfPi9uxcqKR1H5LNAuO2UddzOlblyKw3POOC9U2EkTE2b0kmazx0k49w77rTIt8IcwxjY+fcziaMR3tMRx7o4jmXreE/k4zmBiyDcL8WxmTDeDsYl8SqUWLMWBrJgvyJOaXiXatYrueYXS6mxeuK3B1euMwGoggsx3EPEnROO13mboB7d8Tp2d3KW7ei0HOblUDH37EMtnNkz8eM6KTyh2gvjGRX6NvatlADTewqEHTN5gzfErqU6pwrQnlnWr8ghgfO1cUhwnx/JRbS6aQZnvIy8t3AtKvEiz+YAFOtw6lNKSUzUto5X944nsw1wf4V5kfUppllpm/gQOzrmSgW90T0uF4AyPc+K+CvTa+COY5qk44m4EsZtYk98psg5nribqbYnxL86KeiA55uewhTVd3Im8M9I2Y0a6KAW4Jwf4kkH9RG4vkdcbyW+TsSgk/3jPrRjEM7WOcb/QTj1aoCXL8W/CHPwGceXqMIviQEKO3H+D2rYlbRj5NZ5IohSZaIaHtwbtmvof7skGUm1UvWL7dnX0FzX1Ui/4rk2wjfB6UZbYGzr31Dn2/0jBTMdYe3+M+ynJWZnvGGpuZnGEfqQsG22/0J8mIGKns87alwyWycTl87FAeMaohP2BN5E+I6tMDup3TvxH9x1H8cxvZNj/IHKx6Q/cf1ofCCkyJk6l3NNV++2wrKVgAI+xSKpyzoW6eOrp6XYMYe5nbl9l95OUj+jRnK+86SgZD+u1nWlfx7Py7HjMR4tTLWNuKsUoNdsHzqu8rx0f9JxPNmP4+HgY6m9bY0S+k3gEOwK6jNbujr0aF/j+BRs/4z8oQnSKeYxQUzpZeRz1SN8uRJGM+O1hzJc430R3RDkGmA1JI1nvc4NOPmWz7ug45LrPVxOLBERuPMkGWeS6y/uS5NDnY01JHCsHRPlVud6RicN4e64hyfkmpWVJ59VvC9X4oGUcuQdJMPiHLIlEw+My9JvgdN3TBvfj179fXF3BolfTPjQXGLF61YJe+2lzIdbiFTpP0oK2+DvhklcMZFLf6M2coeGqtc2bz9b9zDFRtcgPaenC89hXlLp3ANrboA5/yX8fCGnhgwaKir7xWcAZ0sK6JJzoQJqfjxn8YzansnnCHPBAmO4uS7k1B5HTPlgSSBTcNOM40as86hE3NbqLcbhmhuefFc0QW1924yV1v3i8BbavHG02UbugO7ZqPnbCbkzC6iCX58eNY4MLKL1Aj6PQakdmBG95YGeqsO1rQCAIF+sahdm9lYptGybkNdrSu4TmPQZciqVVW0zpwtY81YZaViVQlYlMmvC91v2qKnBDX1fE6nusHLkzKC01QO2nbgtt0rNGmwvKLfCiqgquFo9gcV+sSfa6/ehV62p3g6j8DELlZiQuZNbde92fH5zzKCtUp5xG9l1VpU4nvn9J812rYpvs6cjj+19DU/x1+tkM8j3J+SCr0J2t1WmA0oNBQD8L0PVcclsCmwLo8jH+rXnQQl8E55yj8hk+moIeVRomjfCoBfNfvn6++Hyz8fv3mnKj19/312VN/bv14fP+/On+y8Ps9Ppj5cvD6fXd9/9dFUUV+X8Kru+KrL/86+cPbW3D89PD+dv3evvl/3n82P4uqLIf568m+Zh/0X2+LDfPZ7xfjHJ3mU/4/1PJ7y38z0Utt/f/sMxlbPXzz+1s4cvX978K/vMt+fnMz/Bv7n99unvx+r580P4y38B","w":184.51,"h":240.08,"aspect":"fixed","title":"Database"},{"xml":"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","w":297.96,"h":329.94,"aspect":"fixed","title":"Desktop App"},{"xml":"tVvbduJIsv2aepmHXkISM+VHjGSsOqQojCgs3kC4ZQkwPiVsXb5+9o5MYcC469LTvaqX0SUjIyN23OGT099Wg++L50e1Wz1sPjn+J6v3ybbO/zn977vd/sPHlxZsq/7DZoPP2eqT432yed+Wpzd/j05H03lefH942v9vSdvvSZvdXh++7x+q01uLzcuDvsN/P7nru3/Fvt4YMsXj4pkfs+0ixd9rbpoli81wsXzYfN0V2T7bPeH5crff77Z4YcMH14tknX7fvTyt+rvN7ruQcv6U/45o9DZZyrX73TPuLornh4Qn/DOrHnD4a9my19612jv4vFrsF5+cnr60b4rX9JN9XW0htv7X29Ce19fucla9JI2VLW7vrMTbvQ6dlbOqu46qu6/JNnlVea9U/atmtU2y4PZxvxx0m9HTY7GYdb9/nXzZrW7vylH2+RWrnOFT0gy3V/W8/lyNonV36Oj3guzaXsy+OePtlft1EpSB10tVPq6G+bgOvMANM7dSdQDevg7uNvMnxU+3ofUwqzZfs95LbFfNMPLTh/p6u5hVxSjr5cqeOsqOu6P6+irod/Plrdqr7Po/wWDTLO3qcTXYvC7zXbq4D1+XgxtrHhXpn5OWljqidd1JtuUusKvn5fbbY5J1npLtzRr8vqz6Vuf/TtcV7V5hv0yH27BIaqsz7LfP47fn9eG5+/Z8fXiuoh55aFa3X14X9vTfQV818yhp5vn6PwHOnmyvvs8nHcpvE9s3kPF1vXS+vcy9Ik2cu3pp7zfDmfD8/0t783L8/I3f8c+e0zo95/Rn1zWn6+KfXWefrkt+dl19us6vgtsinW83xdLbpUGjumF+s47zIl3ONu5w9qWYz7rr4azzOh9AxoNOZ3l795wMKuLmNRnc5Iv7uy7w9KJO6dYndG1lz71v21MMpSd4nG/n22MsjibE4vx5OSih2xA6jKv5NoZurRYXleofvXP7rV7203w52LzMZzf1cLaq49ndM/hvdfN56BibyCuNi/svt2+yuX6ee1Z2aT3sz1WRlQ3zKWx4XcEGqzD3cWZepzWuO6O+a48mQfoQBVdB7ttq4lYhrufOl8f5YLNZPt19W243Fn3F6j7cJJuwjGfhJrK73xJ7moGnZjW4KoPB1Xb+FG5W4EX1A2L1Nel3ctjka5JbWWBP7XkEaWXB68U1kwtrmsccZzFrytf2jHcH3sbiOwxi1kcnH2zW8FJGWsH+7TRjeAuc1vNx2rge5ulBMqMoflF50Eqmggd8gTfj8/r0ufZuo+1jPZ/FV0EWXtonGzbu5wscp4vZ+CrYXraqVmMqCjrDHCjPrrtynSt4zdSV5zmfp80wD7ryPD99zj0XzfMu2X7bgu+LyAqyz78hubB/WXKQykvojT+U3Nvzf0xynQ8lF00d4L/6UHJHz/9ByR0w59chLEyJxfE6tYZ54nzE3cgbv4RN8kuSG9qHWDpIUvisx8RRkJv4njrI3c+I/+IzosFNd37/5U9axByxMp50XuJZZ4NTqPh+s0my3uX3ozgLBneItf5+ub3Zz6P2WZDyGez7yUjDX9rhd9znvTK+v9sFg7CI78MGz0w89EELel1bdejBN3njAlKAVKadhXfdqH5ZDr1eoQblHpLrqMyChHx36E1fVBPsVe2WI0h0NLFs+LKKaxD/QGcNS3ebMLNAq9cdRgHen+/UrcL6dSXXeVJgfVdNLOA5cJb9A51yNEvLpMG+sv8112k+cB15vst9kQuQlr3s06e7yGdKe0hLjMb4m9hDL3DIq/A0cUslz1Pn+DPWgr/YIT9hvmZ+8DLy4gK5UQO+LOxT4V2ipsRZmrDvNuARfGK/LXMftzvC/tivRvwGjXQPH+7iHvaGnU5cJ5yVlJMTTsqa/CTgXU1wrr7wUcY116+bIeUf+XvZs+bZxpCbwr0x+XFDu9xjfT30xjX1E+HMeK9SeGfkfaGM+Bznpk31eM4KMumElJWs7XEP7NWr9TvIFT3qY+zK+1EAmQRNKy/kUjX2raFz6BO6yumBvxSUAe6Rh+og20kJOfrcowJ/L2om+3ZHk7LBeSzqNAT+IcdG2dBt3dIkjsg39vfoO1Sz5HpiKwPe7mPqp5s0wq974Nc7vT7CTssTrku5Pv68lHXQS9Se24eMY56/e4L3m+dQzhv5RUg8519y+jWRYR7g7D1izZzZr0VefZwpl7PYuG7k+hvpTMWuQuopmpNOIzrIeV7SU65ZA71TLqSBZy3NJhWaM9poTdlDtsgbgD/KkO8TI/iLfTLYTl9kq/VNDMj1lDR5zwWdaoQ1sJ8qjIC5fEXs4J0A+bPLHAS4FPxSloWxl/Z6EUVifxbvwe66SmOLmML5Ht9oTWgbQqtDXb2Tb5RQjtbQo46VveQ5cr+g/YQT+pkAtuwD29O9amLEMNgn8yfiRl8X+noFngLQGIPWtKFdx5RjpDQeJy5wh32hk1Ff7I72xb/6fl/fp3xxro6h0TE04HOo19joRXTVER0K7kmD8h23euoIHdg9aFJPtaYTtDpoBEfEh9gn/YuldSfYAZZy1RG9bYgd+iX/DTuCEexLmoIr6lnRz3GPvcGnRd4g+yasDQaj5CWkr8ih90j8MHXdAe8i+yGfR9M9bTvcUtfTjthxM1+0MTeR+vD6dXm7eVra7nlsY/ZTsiZa3SpGWp6tCeBvFGlmPZPr9qrQo78apyGx2/iIWeQ/cFCTwqbW+CtRuqPqHnjuVfTJ0DdqV2J9mo4isSdZH3pxOhL8p2kYpUIvBDZGXgK6Pm2Uf0ue0Zzj4xN0L51ATVoOpi3F6uhUeAZkCJfIFbz2HVQynu9Qu3xXtMyTN6m8M4I2Q1yPgO4wWqchtDzyIAlGSqnOpy69PySCdbCwWktP0/CZzclpEbGw35hotcw+zTveRMIigc4PJVBJ7TC4ekbd0bzVJ0c6464edhVfuLaCvtvhSfGehRPhNJQ34mk+bgKzttXfmb5dfcoYp/QZZ13kt1JnzJFF8X/wUTzMVq/L7Bq54E3DGsjUgMjIrl+RgUldBGyTDiUOHuCXaiPpnHuNO/QLeGbDN1bEE/058mM8I96mrmhqAn9KLcLOw4jYSTrMC4hF+riR0R40dknDzIFAn+8wz4GcBHeyd2OeO1ojKe32GJv0Wx2zj63RBp8XjVOdS1NO0CyfkfeceRPXKfpU28heIwM+JPSYA57LQ2o+ILvqzu2rl/MckPXnkc7PZVe3+sX5auYaYcQ9AiAqZT+JuUZ1WU7CR3XgI/trPsL6lA9Txxg663YPyCOwQsmhetSpK1ZSMzfV15BTjfhDC9MyE7lQZrQu4ceR3JSyPt9DW0j/6olZ9F9K7dRSkD2TEiWTMksgqhkla0ikFt+gUUWrYfetlMgoHEzFf4wk+xZOJLvA+o7OjvksMLTHjj5BYEnkzQ7rpPb42GLWpxaTj0sjUZfRnjySf6CXGu0ySzX8cy8X0hLrEE9bH53nHZ0faPgMaUIvF2/CisO5tKfIh2jSfHVNdIBFgA8gTYlcJXM8lr0jfpOI9fAOfWtb2wEtsCZkp3/L24BH6jLuHCNfonh0jDRkqPkUuoybo/dbb2CF9Jq1RqFYnJwnTt/t8auRq/UJlIINSZnIQwQpcJZYb7YESQGlqj62BZ3fHPkWQ+cH2u1/ZL8Heud7Gvv1G5FI/2C/WJsKGulHJeKJzzyX6jvJmwo8+Y18xViU0IpbS2jRjdrPdTTyA43GiHnc2DaIbSSGIdc7svqKFqVjgm+slzUHkSCxqNb+J5Wc5g3BrCsS0gENyEj4aTML8sPsIUEsTo88RQK5TC3ZOxPUi3ypd21hCWSoJGswVgCZJ42OO0HD2pJ86hx2+v7cP/DbZ/HDeEK/PUvrrRwti7HOdIQPyXhcY7mN/su9L8j+B55F1R94lpaePrcjsQi5hvaqeGdiPESbM1BGkt9LnKCeSp2psRak/FRpdAjbaPOF9CRfAL8dyTMa9gNa7+RL3An7Rtbi1UgvBl9J69VqoUnvKrJ4h4kLuGkjis8621atl347+9+3iaxH2t1R/402zgVZHUe0mPp647lhvXKM0bjVey3vS954Tv83cdbuJZgROZW6Dj7ouFLUhXhWjbMD/wecSV/K/aGntc88bWvtiFXw5dlHFuebjE28ltaioECZjDnostoVtOtM+i3uRewU9NyjuNdV0o1q34FH8NYmxr2T/pl22hgoGbp9ku38qD8ovQJUKwU4skhF+m4S9S3gc8xavSO1K3LckTfXtnMvNbh16DtJT6OUdWorPaNCcrHa0n1BT/qCpp+Q0G/upddRs98Ud6W32Mga9ob4rBzdv/UGdf/R9LbaHs/Z9aFfOGn7hcxlwb/wmNq6di4bvGONdG2PM7M+3+RS89fSO2QfjD29KtTvk6bNGpu58mhW1kr3xSolc1aeVcn5pG/RsFZKC6nL87hQgkdf9kG2p3ts0i9E1uOx3wSEeOwNpE7csN6NpU8Cuh3dx2OfBDzBjuh/1KTtObAnwfW+Y3oOdThgbxH+SmLZY64zJfYg2VtUbQ/SYu9O7kW03VUheox8TYv6EZ841e9LP+bRHorvejzuG4OHGDgShLY9pi6xoaQ3PK1WmYV4y76YpjmSniz5I57g+6R6ZY/WZ1XsznQ8OmTol3DL7Fx65hFyC9Yu1AN5bW5y9qWUnE10XgquRPexa64d/HUNVtj7KaRSt5XBZcsjfBksD/Wk9I0R2wqp9O1yr3OVNc8jeUJcSw+sYj8XetbvS7/ZP/Sd4ZP2SurrDWSN2jTC+/nqSC7EUMpsnl6jMHvuZc8tzgdeYC9FSK/iHfo2t9ePq0F6ydNzQhAiStS6a+yziqpCH8inf8JurGp56t/pcseS9Uz5nkF/zK5UFxai10DDS50Ld9mNJ+LCrdJS8pSxBpFSoaWUmuuk0FJ6LKSzl5X0h7CKHqcJjeYTUiBP0kX0tcaAYM2fdcRfoPnLSt2VE+2sC931t8yEgHtYeo9aUMv7e239VmUmA8b6LW39N7tLUfeSHqqDHuDLYXHsuNSjGZGWsAuI6p3nUdorTcznPHFoXeKtcvEERHQl3pcelNGukaqXz5jhiYcydBzpgrLLSssTy19LpxXr9NTG8J8MbqxF/7weOkQEekiHnXWR4a/xXInHinzNn2CGuk+kYyKTkIYd17Xhnx4ilU7sCN4E6/f6zJY+s0yX7v4a8W+SlrwsFTsZRWE+1EihtPbtbjK/0pJzQt0r5vdl7EtcJ80lbuFXf45b02t4F3mz4OexE0kWzSjbsCOtbDmJFYrOx3q6xWhTyzRHd9bZFcnHgn/tWabucGImSv3Wjnv0jMS7RRqS2zSJeBxGxpE3RlbGGpY2NZZ3UGUamuIhu3rvMb1+G+UdsbNIsIbsmj6EUYZTFuNJxcboAbmfvzcRyjaTG/Kx136DXjWxuHbkJXupHidWV9/j+cALI1Jm0ZvLHmEk78Hf8D2f2QI9/F46WzV5We/1dFH8nS1RzpN7nH4erZFuvysRgBmC1PQlK1LxN2J7jPJNQl/kSgSqZSLH/oML3XDaIFE+7JtJmUzWqLOk0tNA0RnsqZQJ6VBXuaJH0OH0Srr0zDqoE+jMMZO0RiZbXqwnKjLVFDkKfckSJuKzONmplVQslu5A4rOeHJAP6j4Re4Q/KZSeCjbiy+lnZD/izvhN3Sdndkarqc2koyPPo1j0bWKBo6fEymQo0v9hxC+YEYgvokWKjIk9X+QtUxWxorWZ2ArWGJu0/9Cd3b30d2SCBTlKliL2wDhlj8T/q0bTjKlX+YwsjP5rL5mW+ELubTBa06KV5lPjjrqRGMisSgn+E6EfEveC+WAvcpyYTEEyJ+GXmK8OGRgxX7eT9ele4slRJSTfgphc8MFHPamRTONVyiqVeT+rbNg2rqH3fo9Vpy1VkUzre65UmtJZWFMG6dn6o14iv2cxveR3jmogZtfssK/ZTUdlLNN3VHdrPXXR121Vxm4UJ8OW7mywUgjSkFmwN5b9Q9PF+fn9k0rvI7UTK29bx+Iep4+Wrn1iy8xFbMpD7KDW8xGcXTpMMmGSymbqnFSB8k2Pd975tBZ132p3mddpDejel61nAIllqj9mCOyFyBpd6dF7rbUW2FMXpMTVL3Nh6Um76eSw49SAm2atO0aoE/X11MyDAshkbLpAMjuiTs5p/A4WzAn8Vve6rp1Ip84K276uTEIS0T1iCmtXMwk5o/GrUtDazXQ/U2YCZnaiZ+TsKfaMbgIzzSOCZM7CzNc6IORA4zesUU4QuJz3Gt3rTnEmlTstsqP7EmOZF8maTPcMOV95R+NXpdAdyXSZO8QiZ1SHpmPDDpZvrqXjRn+I06+7ZqrFb2t0gMxzGsc57c9lLR9zGwVnXfWx1OCcjEimIHbBXItWSc8iCKHnpxw1Z7WRFycBrH2kv31O54e6q886OuxJNXpq4xsJsQ6lZ/O7nDtpO5+aORilJro9WqdM/5O8qHaKezKH+yVeeL7DfuwU9SozQepqObXz2HHbh0b05prE9N+FD5mT6e9w/R4fmiayneyoR8megJ4n6BmlTFwSZh3tvvACQd3246QnTmtndpLHv46oi3mwfINOV/u1znFZ7fP0qBFl0orcVqrmVa5rUEvnI5KzWbqDMZGchV2qSqp+5G8i4S27S/LtCl2DiIcodW4o+ctdoSRupQVQ2UG9/DKSb1PEJifk7F/edySv8G4K+ZYGu2TRnFVCZb5B5Og8hh0r5luxyUO1ti5354JDd07J1Ba5l3i1lN05ItOWPDj68o+cW86bsQM1rWPmlLVc63eISMkbE8l51KyUb9AcaEftN1YSV9cNacsXvx1lHVdHekp3jJNLdxJn/vQ15Y85+O/6YZXtF8vNQ78o7l42DwXu/vEv/uzk53/vcvkXMIOH3fZh/73GdZmt9o/mhzBu5w/X/Brm8SFLH82vYezP//6j4+j7i0LfSw8Ufuc3OHjf/Azn498e4Z2jnx+ZNSe/Wvov","w":241.42,"h":286.13,"aspect":"fixed","title":"Docker"},{"xml":"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","w":247.87,"h":277.89,"aspect":"fixed","title":"Firewall"},{"xml":"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","w":226.88,"h":328.97,"aspect":"fixed","title":"FreeBSD"},{"xml":"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","w":272.53,"h":288.79,"aspect":"fixed","title":"Google cloud"},{"xml":"rVxbe9pYsv01eTkP8wlJzLQfMWBH+ZBojBRHfjOyR0bgOCfC0eXXn1prbRHHudHdZ770ALrtvWvXZdWqkt8E08f28vPtp4f46e5+/yaYv/Emb3zv9b9g+vnp6fDT0z+64bGd3u/39n179yaYvfFx3OfZi3/2nJGe8+n28/3Hw//vo/3vH+1G+3L/+XDffnvodv98ryP4d+Ko3/2rD93ePaZ+uP2Er9vH29I+zzHotrjdL2439/s/n+rtYfv00c5vng6Hp0e7YI8T57fFrvz89Pzxbvq0f/rMRwX/5f9ePGOy35a49/D0yY7e1p/uC6zwv9v23hZ/ziEnw1FvOGLf724Pt2+CiX76F/WX8o1/3j6a2KZ/vk38m+483Fy3z0XvbW/fXnnF7OnLIrgL7rpxEHfjL8Vj8SWuJk08PevvHott9Pbm082Hu+kmKM+ialLG00kX9/lzMluVcVWEiyofR1X4x83l+8eiD/8ogqvx5jKzMaPpuNq8jQ/x+vw/0eXNp81l8+9oGvc3adHfVLv/RG+9cvGY1EXnddHburz9kHzZXF54t9dnz8vt+afCP6vzD1f7ZXd+dnxW9+2zlmne3lxGdmz06X462m4u3z/fTEeHjW/3bc8Pd9etd/vhvL5P63ITnD/k/t67T5/KRTV/Ob6H8W8e9/Vm9lRGfuzfzN4/3tg9/11PnnO/7RdpVt535/3d23dfbv3s1ToSr3g8+3yzHtW31+N97l80Nna3CWwus7o0iXQb/7BfXLefNo/v/3fj759fnn8xRj2sM9m+XGfyePOYv5xv8M18+/0+rx4e84rP+mMRJN79dbv/s2q+DLtiu16ZbHvsusaKtn9W7cfocr/7c/0uzj/s98X+jy7anu9M5g+L6/HD5jo7i3btw/31+y6a/fD6NtlG5Y3tWb4ePefXo/3x3HaCc6YFf14W5e31yp5092Xj39U3788+bIJ3nwvuRraNLq8e7i7nh83jxeEm9bZX/tmXG7/dRxd3pouHvri8qG7W7klf///tud1VlraWhyKIzyLJZYT52xySOC1NM2NvMeNnt5l6z/G2CeJp2Cb4PtvVcR+bFj9U8bR5jqvssKgm7aJajRfrsIm3oVlD0yymYRevcb1dy/uy52TL400y1edSn23c4Xz0HKc7PMuzcUM8K+nCUbLVM+IqwjnfxuntnI2Xe7xmHXb4XK7Dfonx0tVzkha4dmS6Ota1fJ7JdXheac/L7Zq5rTHD/Z3dHyScR45n4Fy3qCLet5yGntaywvrx7LGdD3Au7sIu4bi7Z7NuO2fjV6V95v2i2oUaf97xOTYO11rhWo4xcs/pY/sPckpsbgnHmPs8z+OYn51LIzsXORlNeiejhmtK51jXN+eW0+GcyXa2rxcc3+bsmz/YYj5NyzWmmc1pVceYa2rj2z3L2VVtx00+pgdp7FH2qe1xVRziyq4xC16kOddqzwztntaeaWN6lMkihfxwT9TYM8Z3dn5R3dU23sjG8LknmGsKGWRebuswGZvMym4xs7X02QH7tYD+pGbXne3PdtBB7N8go5Xn1uX2Yf7Mz8o+e+hBNOZ10pU+hjzWoSddiaF3Tn8nI+ovZYox5oPOjdwY0DGf5yDrCvtncq5W0tUp9J46Ajn6tAHMfbbD/Gsb2zO9h976m9m8l40VNsd5jXkkVV7bGsdmd3ZNZp+rAPprcvFNrr3ZDvbK9qEIIJ+lxuns3GiJZ3Mvoc87D+eTnue9pGvsnp3JFHo5r6HLZnetnRvbPXb9yrfrQ4x1vY2+mK9qzI89RZeJxZCkN58gv7o2fzXztmk6H3PMaRPamsLkg9lhNW8LyqWsbYxnynj4/thITpADdX4SLmYR7C7IZfc19CemfsQ2lxz710MnJB/TmRR2Z3Lauv2rbN/SpHJ2BRuQXeG6Hv4o6qhb8kduPzPsm8aHnGS7Pe2jKmBbsN1usGvqCu7rYXOwK+g+7p+3zq9A9rRLs2XMyc5hv7HGvKP9m4xpg4POfrVrnDN9HewT68H4UeDm5sEW6XMq2CbGzVrqMv3UcF/p1hQHTsfNv0HP3TmOx3Mez3VuLtiXWTGs90BfKp/Rcr5cU+GuyWxPJrIDfY71CR2e0Hc6WZv/1b2Yg+a+cva1Ct21Qew3nJeLIfAppsvve8rUMAk/X3w3v4FxRkU/OdA212ZX9HXvKz7TfBBsMUasWNP3mG560utUei25ePQjMfcWuoZ7aScH2YlHv5fMsoPsCj4wx/fQZAbZd+ksN1kWtdm6Tx9KG8I5k4Xt4XI2xzHfniOfgeczzkROdtAh8zWQw3EvBh+0GtFf0se4vYdtKHa6T+wJdTBw+9XjOUvGjR30yOnQBDo0oo/HOeyl/CXGYLxxscVDbLE98ehbGF/eV9Bryrgq4bc6t0b4Dp/yuDT/gTiV7szGI1v3u8r23DefAP8Nf9JxHPo5k79+mwwYC0L5GcNYwFdAvsCu09c4a24IB+jH8+FbzY/BZ4XLa6yx5NyXnFfmMcZC1tSlogYuWSKO2fwhA/nOzHyQrc/saQlfCBwDGZms6S8Z8y3WcZ92kJGtx+toV3w2Y6afXDxtF7+fM/BSh/gKG19ecs7eaXPe/WTO2XHOJo+/Nuf3p80Z/jy2Ods+d4n/T+X8vv/RXPP+tLkufIdZXyPVjjnTT1eTD6sZ0xNOG4vEZm3XiELmBWfwRDmioY0c28wQUVc9z6XuXOrOpTp3vTOvkhbw0Bap4f3jFpEr6aH5O1g8EC+Odwsiihi71CuiEUHCG9ozi44Wt/Y8Rn9YWF/Kw8gjBbgf6JWS6OBFOK/Bs4ycxGSp5llMuubV4SHN6jHH6gHR1CcavrS59JyLbzs7BhrhGjRfrM2ey9/dksgEyCtCxMEzbM5NN6AJoFunmYh6oVkjZIZdo5e09Yx4XUdPEbjvHbwakAG9qtakKM+Ibh4c80qF9hipub4VvWmCNXf0TkSrTp6dRQQgjqDoDQVpPdSw4XveY75ApoW0cs35Yi0WeRFVypbRl3sWydNpz+D1sffwtgNqB0JAJtDrugJzIgqx/T/Eg0VUkaLB1u0z9ielbsg7Vy5a0BvvsJ4RIw6iJaJk58aD96Q8dkKRWLvtp90HzwqU7KzR9Grm9EeWB8QRcFxaIawXyM50NAUimiNqjbXmiU+LNA++RGTZAn3h+G60mDmkhTUKUQYOjVOWtOyeehAIWcY+x6WFm5eyiMDItjXks8b5rCcy7IneGIWX6aomWqeM4zGfbxGQ6I5jTrw707PkOhaiJRJf1S5jgXw9rWuFNfXJWtGBiIu66p7PY7R56IZQPubJjNVQEZ+hPbRxTb7FmLZO/QEqB4rcIQPuqTvIoiqgKkMFVUTklSibdWgiwm9EwUBZDlD6XLKSZxwrK2s6etjRSV5ZvgeeP7UxqpuKCJA6QHRiz8b85vBXkMmBMvkg1GH6MiZilp3D4wLZCUnL53hFR72078WI9g4fxuwm7vRMoN/deMHMOqmEUBgR5LmF0Dg+Mi6OT1u1vftq2yPZlqEcoXnZEf3ihDZkNitd17M7+j34QqFkoV+iqojZhfOx0nvo5SP20JDsDD7pqqJPFFp28oqlHz3tEnHBd9l4/SIjlJ52ofyZMrlO9iK9j2lrGTLhVrrLuTTyMXOnz4VsCIwH9Zdom/ZjvsYhTFzPKEs2Anu51FrlqzC2xS34De3VBZBQm5j35n4rQ6VdyG6ijr4PHKNsdKRMkXPxpOMRdFn3Qg/o32hT7lheU6c/0H/QzjQ25eIlQl/BEL+WZFWofwdGfu4j2Y/Q7ZMQ8fqrjiyFBHqHMIm+pTsrF0vh38E+ICtmBhMiC5bvmTs9bhQbyQwVyJxdDMuoC9zHjgisl7/I6BdsbaFkhTiw63k/fCDkIH/mOb+quIhsA89jDIsVFxXD5IcQW2jbc8Uo+ZyWc8ce0K5ysTiK04p3stNxvP+UmJ8JGfNmO2Y65m/kP2aD/8C8TJ70zZRRI5vOa+eHMK+x9hHPmkD2oTABZJYLOxxR4Fl9f333ZbN97XPAWZ9/ub0eezhmMsQzushQfEIfNhkDR9jvlv6j42/LjiYtM+AtPpGRZmVM5ijvcS98nc5BL/Py++f+gnXojqxDTxZu21h2Zb7zsTlYvDnAV4uJihFLu2NGKCYODFIvrJL3ZDLJSsRgNFvaGpiQKWIVmSWPGY7J28Uii1E2prLtjtnHZdn8iiWJjyzJDr4UeBE2jrHdeJ4bzzFF9KkPlTBioywcccl0bYl4bfjV+a0GPmHDTCofgxlBBq1YBD15eIovfre/q1f7m8GObT93yLiHvbJ4OgmXZHvdflYR9szmUfh2DXxjl4ClJjvDvX79HFzTL9cTyjXuTpHXfOTicMAMHn6PGHcH5k9MDPUdazXbBNtK+U2AOWQXgyzpZ1bys8Q2YAN2vfTCjvGemxfy+k38lQzqQQbUo9dzWXNfQ2Czb/b522xmevZxyHt/PGr8NXuZEjV4jCzi0AYutRMnko+VS60ct+kxGxEXMXf5fiQOgugHEgA6hEfaKVNJH+Rl00jom959R75EmQb5Joc+i5E4UCAIcA1AUcX4mMmAE7wkWm2FiAxlQzIVuc9eXhNeYYdo7yniDFw3vJ3jhGeRkA25iKIWr72DJXt5j8i+OjALWcMygFYK8RCGODEG1uGyPSAIjNk6i/3o/vsNv1l2vHeWm5Y8VOS2JQt3jJ6l13dG1rGtGxmSeRbTsNk7aSA5huhAfmbdjCmrFPfEtfj4i5hrA2JO4wbZX94J5SsLi7BmZLHmgTyfOTOyLewZawmeT57tMT4MGp+IS8UeaTzOMT4M4y0ZGSPKavlL7c8GPQzJq02ZLVr2QRTmi79yEZ0ICRF7h2vCFF7BvFeCOsrsohIvtnKZo6c9m3HPDtqzZtizb2QYTxnNzMOUWFOQ8De8I9Z5h2MjIjOLmG5eIzcvFwUioi4+m/NbyXIx7rBPysw98qBEArvDkiiMutW7Gkabzl7pxFq6JhQWqwYiRCc5AE3KFkZuPqMXOvgbT4isAygGbEQG5BMySzxyP6hfNOJjgMRmk9rVmYCKXvIpNTNu+gXyXYcj35X+gDs6Irbc8WJE1t5p0Y58JFAWsgg/l82cNuf1z+acHedMDun0OY9OnLOyjBnmtBv9Yzl/iH841yPf9cu5KiacwnkhtqManr2+po225w0q5Hdv7ViV++wvmFl0MC8ezTLgfsNchkWr0uJ47uJ5wRxQv19cv/3j57Xi9lgr7jMyFZZhmF3sLZaQ7+1k34VYFYu2iWWtsueVq03Fyki25ItHQuz7ekkmCqxXrJhmUZQ1EocgNn473lzun2/WP4jWL5EN5lXtysTGNh9bEiVX8xKMHREo5x2X4FXNH5Svrn+Bon4o6eBbSceYby/Jzk2CsN+oNcl2kjB/h4aOUOe037zerkMWtRu731/v/5XkvUHy5N3gyckM39TyjNBo4CAw87kk30cOJ2XKSV2lC7+Xs32lnIXes1fezLykVd5U9qrwJjU9ZYeokjGaGD61iGmR3vMC4nHbSVYpyXSDP42UG02JHvB8l69e1KgwI8+MlfO5ea2AJVmdTFhFQDREbgrezzzyFOO7CicrTkIp4niEbBzHAb6jP3YupJaXofqRXlXKxWJweo7vAF82Zz4K7PlLyQdHybPeYRkXa37vbDWot8CPoLZSjuUHWWcJVVclS9KQFfy6S271wDm7oV+hB15azu4w0+5YPwJipa14shWs9HufQWT5E4/3NYdyuL5pE+gI9IbIg5xj4D7HrirvOK1SPDP2/zoWb0k+YBWIl1Z+b1HU/EY2IlpU5OuUv5Kval1lq3OcKrotUJlS18gL/o96B8kwvy+0h0Oe1O8OjrtkZ4p5bnUnzNSdAHToOA2XNzm+xewEeR2Q1WY6VIpj8hzin+Iuh52Ia+qUL2ad0FZeCwEhJy+CDbtWPPB34G898cJAqle3Tn/+Sq8NJExd2EGjRxvVA2vDPLbaC/jMEfEgspl0hVW0wnbAovBZ2MEiEFO38gbmOZZGdw6jOT1ClpyJwRZWHjuGrtE1OzFw9AyGMZlHIBpMAtZ805jxin0arG+WZFaRB3BeU2BcSEPzAtZELFWW+K5KHPMp1mUnBg/+FpkuPEnXiKn/JSt6xKXtEp4JWVgK1jKCpoRkvFL0TRRdzvjqGErTUjA/Yhbzll6N8Tn3xO5GTlvvqtj1eByxPbFIXLN3aErt1jgzNw5ix4z1L2DZsWPMm6HngfE+dV5aGBHeLDDcTmZJbL5wLT3RdmC39mSwVPUoAzB7Yq53YsKAbYl/c/bvLIGfkTNQd9652ngmTz11fTlf991X303p/8VarKv7MhsGLhqzEjYw6sxn6MuG7+xrQZ0Qnj5RhcZXfjj3xYbOVQGR5bas2nWu8sC9aBqyuFNPkWs9RJS5GPnZxe2JaIVonjxnT06BmRO7yPpkqFup+0ffgaGI+grPeXjM1M2yEW8Nbo+1BK2WsYza7Kn+xHoPNC1Tt0GlWCOOd9KeilSZKRkaRead9Ffi4NWlcRjGo2XzOzoQ2FkXoD6o2k7u6nh5zYzoQ+zWOBnmDlkEQqvkNUfSvNw7cvO47x9WZ1+xKsCH7MfJ4PvYT5Mohw8T2gdsF7qhvDYRywk/N9rweCZ+oCKebBfCodWwWu4AuQzHfMtu1L9xzX6CTnZQnBj9zbM2qKXF7E5Z+co858IZW3Yb+arNlkL5qN9VE9VO0fVnHmYx1GPZHcRMYsTvxFx5txFiDNQ1wW4KdWuwmyVrXWwOxPFm4anaD35lBawNVDViZaFyOTIRXe64FqAx2Dh9YbsQK9e5fhPne0rlko+qNMbqG/Dl/+F/0JtD1ntMH6qq9Zj5E1n9+CTmjSgFfWwpshQgR/BGqEQBldgYR56rUAUhzVyPEPkxSVX7zOoMorbrfRv2vdMOTsbHavyWfZidEE4si6Uf/gVLPT1aqu/Qc4e+noTxOfK/+lvTEnJljHVBzArnZHysOHBs5kmheAVVMtGfQ8u2c+RCeF9MxCxE1qh/kfdk4oi+1ZLgtLzC9LoTCzeH7+jRvffNjO3T9Qb0rJ9hpWB2xOKEhv8bRdyhfhi7rtQda/6mGbUQB5AHJBOP9Zs4iphNEYV+0hdGzMKhJul6CFAP6dyKXnCqR6/0FxAY8G8Otq6BF8rZ05G5mhVrTCG7rLaNuolZM0a+xbqyaTRRmqvroE7E2q86alPmM2P4gIR1L/NSvfmCFEgsUu1dflzjUF7MSInQxPqy/8ON4+pHqkdpHNa1iMAwzshF+D4GPt2fhKQ61lAQpYEcKvon9SmkrNt2YnLY9+CzPvB40np8zA3IgHkiO013/Ub5h7dkn8bEdcrSKhGbQ/URuP6Dx6Ybavqu7jxmHU7odqS6ZD4W2+Lqyf9UZo+wLHb7hkJXjIVj1U5z6gLWDz10jHZ/OrM3DxPVlQLWm6/pCQ/qep27rvMhHlN2DjnF6v5kRJsfnCdohy4q18WqXocj8iK6dV2HyDwzsVJb1xPBvPfuZOQE/jOyvCRWRqfe1v74tPURs43cqEBNPVHEUG1NXWcGtIsWHrNKp9UcUZcyyLUwH7sGtMtCVfQGu+BUThKsgfliMRSX/1zaRfdayhml7FDT76T8wlP97K2SE+qg4FRCdF+DqTZ9P9aBgfpjzrRQ70KVqWavnhnXo3OHTMZzFZ3OVY5aISuXWRK/RL/wHcVX3wEGzaIQGXX6dmQ8BTva1f0LhFYwj345LrMZVqWQv2Pu2eFrz1kxUqxgxqTaK/suTtn1qBMGbkZ8o+PRdV4iomJnuuGNh0jZIziHy8b1Y7FXoHUMjusb2IkX4Hqu1LdWJaocEMOXyrhnRAk6nzoUsf0da/mqHqvOcM9xtKNoFuGNBYu3k5B9PtOJZb3ky0pmeWAu0x2776PZrhOLqHsS1eY9++zQC2dzsnt2uuf1OKf6APUuz/Dmmllu5zoR1Z1F1jBhBTseDXwF+piTjzlZkgI1Q3VxocI+JkNILPmuHrhe1XmYt4fqFcfuFYHyZq91fsdJHvn3yv8pCvjxevqv68E7PKikzwPVPpsDu7JYDyrc+wGNx3yU85iQc0EtK5FfYT6dkPdAtGM+HW5YR6KfC5QlDjKK2Z/N90Gqdy4yldLEDhXqjPVBoCUyt+nfYZTgoZkNpfRG4sSUdYcuHtd8i6YDnsk9vZVBO1NcBv966SqKfPPG9SoSC4ElypRVoQfgEjhgIhaTbzSpDyNWlh7qWr7F04rVz8ky8Y2OY7/t6sWbPxnjNHAH+UbN0WG/pHZj1W6sX8euFxLh+xMuh1i1lmeOYtbWPbCQPTwE6zbkfIAi8LkjZ0K0cakOLHUXzUfssJqROXDe1SNi0fWht5ll4HqRJ6E2/nd3QLlv794jk04NqFTdLOx4LRWflEd0rNuvm2PW/gKRuQ6YY5cLxhi68Owez8UuempIHxwLash/lR/q2PGKvne8x0Pvizgb9YrnfJfBxUqws8AJ4BhjvfPFNasjGdmH3pcLZZ9T3Z+Ae5+qo1iIee7eiSiEMaqrU1ENMzSwkHw7hUxWTI75b81WXLBY/tHQ6x0LyXjiaiL1bq2PvcPdiW8TdK7G0uptMvYLubfe9Cz39hokpTGxw3xbiplhy/nQC119P8fr+KQ5/mPOx6Pd4f0C8JJmV0thwRHthX4dWULsuczAddVHrSpTkbovGWPy8QYdULAl5tvqyuN7PCfl6cgO8E7cHD0UPhD9UszfSD0zfLYqYdfxkG2gk/Kg91s9oYLtMMdM3D3fjYWU81pra7Q29e50GnNHjiWR1pw27yP6y1xfR4QO63BDG0VfSEYv/KK+5C9eyof+IWtVxwbaioXStBY3f8ZVyv9oP182b/d8M/tHkiwuzz5tPl7ZsQj5XBhvDWvQLlZlMpu43jBUPUv3OzLsgWpC5EfMnQtUSxFFR/pd4m1pvYE5/WvYKWHlDL2FJaJq4J6HXkVkATbG5Ps5MhYBD+Gt4rL87hm/lQJQ5yspjNHpCDRs/5Ww1uUMKA2YaW6rw/6h+j4P2VfUTV7f87vas/9t7fn7VaILjc8jk1H+YCcwJ+6Eq/y/fsaPa4s/PRIkvn3ibzEE5/d328PtZn8/reur5/19bUf/9T/4kxGn/62KH//1isv7p8f7w+fOfjfbu8OD+yMWwb//FYb6GxUP99vywf0lC/8/f/zr32c6flvrWHl8wt/5+xl2vfsTGj//uyF2zYs/HeLu+eYvjvwf","w":236.44,"h":278.69,"aspect":"fixed","title":"Google Workspace"},{"xml":"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","w":250.81,"h":186.12,"aspect":"fixed","title":"HTTPS"},{"xml":"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","w":271.8,"h":295.63,"aspect":"fixed","title":"Instalation package"},{"xml":"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","w":226.65,"h":226.65,"aspect":"fixed","title":"Internet"},{"xml":"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","w":242.15,"h":265.25,"aspect":"fixed","title":"Jumpcloud"},{"xml":"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","w":266.05,"h":302.68,"aspect":"fixed","title":"Kubernetes"},{"xml":"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","w":297.96,"h":308.82,"aspect":"fixed","title":"Laptop"},{"xml":"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","w":244.58,"h":324.93,"aspect":"fixed","title":"Linux"},{"xml":"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","w":272.27,"h":304.59,"aspect":"fixed","title":"Location"},{"xml":"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","w":246.7,"h":330.88,"aspect":"fixed","title":"Mobile"},{"xml":"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","w":286.16,"h":241.65,"aspect":"fixed","title":"Okta"},{"xml":"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","w":202.1,"h":272.58,"aspect":"fixed","title":"OpenID"},{"xml":"7L1bm9rW0i38a9a9OO29ctlusCNvJBYG3MF3Ns6LgW47zwKCpF//qarGqDklRNs5rPUm+ZInfmjQaWoeatZh1Kh/DO6filf/fv/Tp+zLxx8f/zGY/CO5+0c/af8/uP/3ly+nm4e7Lngq7n98fKz/3n38x2D8j7783tejL3/bfXp2n5/e//vHz6ff99b961vjaT//+O/Tj0Xzp/eP5x/tF/n/G5969f/xVD7iNsdP73+SP3dP77f15wt56G7z/nH6/sOPj//6ctyddl8+18c/fDmdvjzVJzzKgRfvN4ftv7+cP3+8//L45d96q8H/6H/RPe4ed1u59vTlp/rX98efftzIG/7PrvixfvkX+sg7/prwl/rvj+9P7/8xuLOv/ZfHn7f/6L8onupuu//X93n/Xfli+OGhOG+qZPf++zfJZvzl5+ng4+BjORpk5ejnzdPm52x/d8nuv6s+Pm126fefTh9ejarZ50/H9w+jf/9r8frLx+/fXGa7f/5cXzWYft5U06fvynflP4vZ8jCaDuy8dPei//7h7WD+9N3wX4v0ko7vttk+u0z3q146zi6z++ElL9O6bf969ebx3edM/vo+T358KB7/tbs7r/tFNV1Otj+WL57ePxTH2e7F+UN/9DgrX3yX3o/2H77PTtnisp0+5cdNmZTTe16THXk8v/fjvfT743YzeFN+6J8eZ7u7fdZfDbL+enTjfkm430raUH38/vXP7/urui8ez+8e8k91v203T9/1PjzN/29at7v++9/vFj1598f3T9/99GEfH0+8ndKOd0+Pxw/19R9/eH38f/e5XrP+IT29G7z+9O7V4+OHz/NTvjg0rover9meh8fkXX2f9w+9nz7W98yWd/F11Tc/b9d4Xj88bxONQXe/ze5f/N/01bufPry6/J/0+7flh/vt3vrpZTl9+FiuH9789O5hlEyX858a1y2+9bqscV39jvG86G2eLl/SfvHTh6e3nza73ufN08tDPffOH++T8v8tj9v/Wfh8Kr6xP1rPS+V5P2363x3XP7z56UN/+H/SV4/Vh37x6eOrVdxvRVZG73Sf7/Onee/dU+OcaG5Nkrg9af/d07t93N7VMbQh/nvdGJN6Pj5lD++e4jbn2o7vLuuH/KeP3x/qtgyL5jvpvD69/2F7Wj8Vj/U8refSd4d3yy/bDz+8PX589Xj58H1jThR5492y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","w":230.55,"h":308.07,"aspect":"fixed","title":"Opensense"},{"xml":"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","w":207.3,"h":279.48,"aspect":"fixed","title":"Other"},{"xml":"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","w":262.59,"h":328.96,"aspect":"fixed","title":"Proxy"},{"xml":"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","w":226.88,"h":328.96,"aspect":"fixed","title":"Server"},{"xml":"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","w":152.23,"h":206.58,"aspect":"fixed","title":"User"},{"xml":"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","w":222.92,"h":304.59,"aspect":"fixed","title":"WireGurad server"}] \ No newline at end of file diff --git a/enterprise/enterprise-features.md b/enterprise/enterprise-features.md index 6779848..e367968 100644 --- a/enterprise/enterprise-features.md +++ b/enterprise/enterprise-features.md @@ -2,15 +2,15 @@ Here is a list of all Enterprise features: -* [Ability to use external OIDC](../admin-and-features/external-openid-providers/) (Google/Microsoft/Okta/JumpCloud/Custom) to login or create Defguard account. +* [Ability to use external OIDC](../features/external-openid-providers/) (Google/Microsoft/Okta/JumpCloud/Custom) to login or create Defguard account. * Do Multi-Factor Authentication on selected VPN locations with External SSO on Desktop and Mobile clients (from version 1.5). -* [Two-way LDAP & Active Directory synchronization](../admin-and-features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md) -* [Real time sync for client configurations](../admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md)! **First WireGuard client to support this feature!** -* Ability to define and enforce [Access Control List rules](../admin-and-features/access-control-list/) / firewall management -* Ability to [stream the Activity & Audit logs to external SIEM systems](../activity-log/activity-log-streaming/) -* Ability to use [external OIDC for secure remote enrollment and Desktop client configuration](../admin-and-features/external-openid-providers/external-oidc-secure-enrollment.md) -* Ability to [disable for users to manage their devices](../admin-and-features/wireguard/behavior-customization.md#disable-for-users-to-manage-their-devices) (just admin will have this possibility). -* Ability to [disable for users to configure WireGuard clients other then Defguard desktop client](../admin-and-features/wireguard/behavior-customization.md#disable-ability-to-configure-other-vpn-clients-then-defguard-desktop-client). -* Ability to [disable "All traffic" in the desktop client ](../admin-and-features/wireguard/behavior-customization.md#disable-all-traffic-option-in-the-desktop-client)- just "predefined" traffic by admins. -* Ability to integrate with external tooling using [REST API](../integrations/api-tokens.md). +* [Two-way LDAP & Active Directory synchronization](../features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md) +* [Real time sync for client configurations](../features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md)! **First WireGuard client to support this feature!** +* Ability to define and enforce [Access Control List rules](../features/access-control-list/) / firewall management +* Ability to [stream the Activity & Audit logs to external SIEM systems](../features/activity-log/activity-log-streaming/) +* Ability to use [external OIDC for secure remote enrollment and Desktop client configuration](../features/external-openid-providers/external-oidc-secure-enrollment.md) +* Ability to [disable for users to manage their devices](../features/wireguard/behavior-customization.md#disable-for-users-to-manage-their-devices) (just admin will have this possibility). +* Ability to [disable for users to configure WireGuard clients other then Defguard desktop client](../features/wireguard/behavior-customization.md#disable-ability-to-configure-other-vpn-clients-then-defguard-desktop-client). +* Ability to [disable "All traffic" in the desktop client ](../features/wireguard/behavior-customization.md#disable-all-traffic-option-in-the-desktop-client)- just "predefined" traffic by admins. +* Ability to integrate with external tooling using [REST API](../features/integrations/api-tokens.md). diff --git a/admin-and-features/access-control-list/README.md b/features/access-control-list/README.md similarity index 77% rename from admin-and-features/access-control-list/README.md rename to features/access-control-list/README.md index f7a2458..1fc7e7b 100644 --- a/admin-and-features/access-control-list/README.md +++ b/features/access-control-list/README.md @@ -21,7 +21,7 @@ Access Control can be enabled for each location individually. To enable it: 2. In **Location configuration** section, select **Enable ACL for this location**. 3. Click on **Save changes**. -
+
**You should also set the default ACL policy for the location** (see below). @@ -40,11 +40,11 @@ Make sure ACL has been enabled (see above), otherwise the policy setting will no 2. In **Location configuration,** choose the desired option under **Default ACL Policy**. 3. Click on **Save changes**. -
+
## List of ACL rules -
+
**Access Control List** view displays all the rules defined in your system. The list is split into two sections. @@ -70,19 +70,19 @@ Defguard’s ACL functionality is designed to allow users to apply access contro The ACL list view also allows rule filtering by name, locations, and other attributes -
+
## How to add and modify ACL rules -To create a new rule, use the ![](<../../.gitbook/assets/image (6).png>) button in the [ACL List View](./#list-of-acl-rules). +To create a new rule, use the ![](<../../.gitbook/assets/image (20).png>) button in the [ACL List View](./#list-of-acl-rules). -You can edit an existing rule by using the ![](<../../.gitbook/assets/image (12).png>) context menu and selecting **"Edit"** in the [ACL List View](./#list-of-acl-rules)**.** +You can edit an existing rule by using the ![](<../../.gitbook/assets/image (26).png>) context menu and selecting **"Edit"** in the [ACL List View](./#list-of-acl-rules)**.** -

Rule context menu

+

Rule context menu

### Anatomy of an ACL rule -
+
The ACL form consists of three main sections: @@ -165,17 +165,17 @@ To do this, the following new rules have to be added: * Add desired users in the **"Allowed Users/Groups/Devices** > **Users**. * Click on the **Submit** button. -
+
You will be redirected back to the [ACL List View,](./#list-of-acl-rules) and the new rule should now be in the **Pending Changes** section. -
+
Now, click on **Deploy pending changes (1)** button. After that, the rule should be applied on the _Office-Berlin_ location. -
+
-(See [Implementation Details](../../enterprise/all-enteprise-features/access-control-list/firewall-internals.md) documentation to understand integration with system packet filtering.) +(See [Implementation Details](https://github.com/DefGuard/docs/blob/docs/enterprise/all-enteprise-features/access-control-list/firewall-internals.md) documentation to understand integration with system packet filtering.) #### Adding access exceptions for specific users @@ -200,4 +200,52 @@ Once you have created appropriate groups and assigned the users, let's update th * Instead of specific users in the **Allowed Users** input, we now select the _Staff-Berlin_ group in the **Allowed Groups** input * In **Denied Groups** input we should now select the _Externals_ group -
+
+ +## Troubleshooting + +### Connection issues with Docker installed + +If you have Docker installed on the same machine as your Gateway (or if you deployed Defguard using the one-line installation script) the firewall may not work properly due to Docker firewall rules interfering with your ACL rules. + +To verify this, execute `nft list ruleset` (may require sudo) on the machine on which your Gateway is installed: + +``` +table ip filter { + [...] + chain FORWARD { + type filter hook forward priority filter; policy drop; + counter packets 744194 bytes 1580784676 jump DOCKER-USER + counter packets 744194 bytes 1580784676 jump DOCKER-FORWARD + } + [...] +} +``` + +If you have a FORWARD chain (managed by Docker) that has a default policy of drop and filter priority, this chain will interfere with Defguard rules (accept policy shouldn't be a problem). + +To fix this, set the [Defguard firewall priority](https://docs.defguard.net/features/access-control-list/firewall-internals#forward-chain-priority) to -1. This will make Defguard rules run before Docker rules. + +Running `nft list ruleset` on the machine should then result in the following: + +``` +table ip filter { + [...] + chain FORWARD { + type filter hook forward priority filter; policy drop; + counter packets 744194 bytes 1580784676 jump DOCKER-USER + counter packets 744194 bytes 1580784676 jump DOCKER-FORWARD + } + [...] +} +table inet DEFGUARD-wg0 { + chain FORWARD { + type filter hook forward priority filter - 1; policy accept; + iifname != "wg0" counter packets 13807 bytes 11743290 accept comment "Ignore traffic not related to the VPN" + ct state established,related counter packets 2692 bytes 601240 accept comment "Allow established and related traffic + } + [...] +} +``` + +The Default forward chain that is managed by Docker has the priority of `filter` and Defguard chain of `filter - 1`, making it run before Docker's. diff --git a/admin-and-features/access-control-list/acl-aliases.md b/features/access-control-list/acl-aliases.md similarity index 83% rename from admin-and-features/access-control-list/acl-aliases.md rename to features/access-control-list/acl-aliases.md index a1dd22d..0ee36f6 100644 --- a/admin-and-features/access-control-list/acl-aliases.md +++ b/features/access-control-list/acl-aliases.md @@ -16,7 +16,7 @@ All the aliases defined in your systems are displayed in the second tab of the * ### List of aliases -

ACL alias list

+

ACL alias list

Similarly to ACL rules themselves, the list is split into two sections: @@ -33,9 +33,9 @@ When the alias changes are deployed, firewall rules will be updated for all affe To create a new rule, use the **Add new** button on the list view. -You can edit an existing rule by using the ![](<../../.gitbook/assets/image (12).png>) context menu and selecting **Edit** in the list view. +You can edit an existing rule by using the ![](<../../.gitbook/assets/image (26).png>) context menu and selecting **Edit** in the list view. -

Alias creation form

+

Alias creation form

In the ACL alias form, you can specify alias name and [type](./#alias-types). @@ -53,19 +53,19 @@ Unlike ACL rules, newly created aliases have **Applied** status, since they do n To remove an alias, select the **Delete alias** option from the context menu. -
+
Unlike with ACL rules, alias deletion is not tracked as a modification. You cannot delete an alias if it's being used by any rules and deleting unused aliases is immediate, not requiring changes to be deployed. -

You cannot delete aliases used by ACL rules

+

You cannot delete aliases used by ACL rules

## Using aliases in ACL rules Aliases can be used to define an ACL rule destination by selecting them in the input within the **Destination** section: -

ACL rule Destination section with Aliases field

+

ACL rule Destination section with Aliases field

-

Alias select modal

+

Alias select modal

## Alias types @@ -78,7 +78,7 @@ Aliases are divided into two distinct types to handle various use-cases: Let's start with an ACL rule that defines a following destination: -
+
By itself, this rule allows specified users to access **all ports** and **all protocols** on the specified IP. @@ -86,7 +86,7 @@ By itself, this rule allows specified users to access **all ports** and **all pr Consider an **SSH** alias with a following definition: -

SSH component alias definition

+

SSH component alias definition

When used in the previously created ACL rule, port 22 will be added to manual inputs defined in the rule itself. @@ -96,7 +96,7 @@ In effect the rule will now grant access **only** to port 22 on 10.2.0.5, just l Now consider the following alias: -

Postgres server destination alias

+

Postgres server destination alias

When used in the previously defined ACL rule it will have the following effects: diff --git a/admin-and-features/access-control-list/firewall-internals.md b/features/access-control-list/firewall-internals.md similarity index 100% rename from admin-and-features/access-control-list/firewall-internals.md rename to features/access-control-list/firewall-internals.md diff --git a/activity-log/README.md b/features/activity-log/README.md similarity index 89% rename from activity-log/README.md rename to features/activity-log/README.md index 50b59d2..ae042ea 100644 --- a/activity-log/README.md +++ b/features/activity-log/README.md @@ -1,9 +1,5 @@ # Activity & Audit logs -{% hint style="info" %} -This feature is available starting from version 1.4 -{% endhint %} - The Activity Log provides a comprehensive view of user interactions within your Defguard instance. This allows you to monitor user behaviour, troubleshoot issues, and maintain an audit trail of important activities. ## Viewing Activity log events @@ -12,7 +8,7 @@ Activity log is available as a dedicated page in Defguard core Web UI that's use To access it, click the `Activity log` button in the navbar. -

Activity log page

+

Activity log page

### Overview @@ -35,12 +31,12 @@ Currently, there are four modules: * **Defguard** - operations performed in the core Web UI (e.g. adding users, modifying devices, managing groups etc.) * **Client** - actions performed by desktop client applications -* **Enrollment** - events related to the [user enrollment](../help/enrollment/) process +* **Enrollment** - events related to the [user enrollment](../../using-defguard-for-end-users/enrollment/) process * **VPN -** events related to VPN clients (e.g. client connecting to a location) ### Filtering -

Event filter modal

+

Event filter modal

By clicking the `Filter` button above the list you can narrow down the displayed events based on following criteria: @@ -52,7 +48,7 @@ For each of those you can select multiple options. Filtering by date can be done by clicking the `Time range` button above the list. -

Time range filter modal

+

Time range filter modal

### Sorting diff --git a/activity-log/activity-log-streaming/README.md b/features/activity-log/activity-log-streaming/README.md similarity index 71% rename from activity-log/activity-log-streaming/README.md rename to features/activity-log/activity-log-streaming/README.md index bebce6f..8001689 100644 --- a/activity-log/activity-log-streaming/README.md +++ b/features/activity-log/activity-log-streaming/README.md @@ -8,11 +8,7 @@ description: >- # Audit Log Streaming to SIEM systems {% hint style="warning" %} -This is an enterprise feature. To use it, purchase our [enterprise license](../../enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](../../enterprise/license.md#enterprise-is-free-up-to-certain-limits). -{% endhint %} - -{% hint style="info" %} -This feature is available starting from version 1.4 +This is an enterprise feature. To use it, purchase our [enterprise license](../../../enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](../../../enterprise/license.md#enterprise-is-free-up-to-certain-limits). {% endhint %} **Activity Log Streaming** allows you to forward real-time activity logs from your system to external SIEM (Security Information and Event Management) platforms. diff --git a/activity-log/activity-log-streaming/activity-log-integrations/README.md b/features/activity-log/activity-log-streaming/activity-log-integrations/README.md similarity index 100% rename from activity-log/activity-log-streaming/activity-log-integrations/README.md rename to features/activity-log/activity-log-streaming/activity-log-integrations/README.md diff --git a/activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md b/features/activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md similarity index 70% rename from activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md rename to features/activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md index 25b2ac2..0423f29 100644 --- a/activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md +++ b/features/activity-log/activity-log-streaming/activity-log-integrations/logstash-integration-guide.md @@ -1,5 +1,5 @@ --- -description: How to stream activity logs to vector. +description: How to stream activity logs to logstash. --- # Logstash integration guide @@ -42,13 +42,13 @@ Add Logstash service to the `docker-compose.yaml` and start it. In Defguard UI with an administrator account, go into settings page and choose `Activity log streaming`. -Click `Add new` and choose `Vector` destination. +Click `Add new` and choose `Logstash` destination. -
+
Fill out `Name` and `Url` fields and click **Submit**. -
+
That's it! Defguard should now be sending activity events to Logstash, and you should see them printed to `stdout` in the running Logstash container. @@ -78,8 +78,8 @@ output { Modify Logstash destination in settings and fill`username` and `password` in settings. -
+
### Logstash integration configuration -
NameExample valueRequiredLogstash related configurationDescription
NameLogstashtrueAssigned name for the destination.
Urlhttp(s)://127.0.0.1:8002truehost, portAddress of running vector HTTP source.
Usernamelogstashfalseuserusername for Basic Authentication
PasswordstrongPasswordfalsepasswordpassword for Basic Authentication
Certcontents of cert.pemfalsessl_certificateUsed for TLS connection
+
NameExample valueRequiredLogstash related configurationDescription
NameLogstashtrueAssigned name for the destination.
Urlhttp(s)://127.0.0.1:8002truehost, portAddress of running logstash HTTP source.
Usernamelogstashfalseuserusername for Basic Authentication
PasswordstrongPasswordfalsepasswordpassword for Basic Authentication
Certcontents of cert.pemfalsessl_certificateUsed for TLS connection
diff --git a/activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md b/features/activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md similarity index 93% rename from activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md rename to features/activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md index 354989d..70ae62b 100644 --- a/activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md +++ b/features/activity-log/activity-log-streaming/activity-log-integrations/vector-integration-guide.md @@ -62,13 +62,13 @@ In Defguard UI with an administrator account, go into settings page and choose ` Click `Add new` and choose `Vector` destination. -
+
Fill out `Name` and `Url` of the form and click `Submit`. If your `defguard` instance is running in the same Docker Compose network as Vector, use `http://vector:8001` as the URL instead of `http://127.0.0.1`, since services in the same Compose network communicate by container name. -
+
That's it! Defguard should now be sending activity events to Vector, and you should see them printed to `stdout` in the running Vector container. @@ -93,7 +93,7 @@ sources: Next, add the configured `username` and `password` in Defguard settings to the Vector destination. -
+
### TLS @@ -139,7 +139,7 @@ sources: Next, copy the contents of `cert.pem` into the **Certificate** field in the Vector destination settings. Then, update the **URL** field to use the `https` scheme instead of `http`. -
+
### Vector integration configuration diff --git a/admin-and-features/external-openid-providers/README.md b/features/external-openid-providers/README.md similarity index 68% rename from admin-and-features/external-openid-providers/README.md rename to features/external-openid-providers/README.md index 3ac2918..8c2e4ba 100644 --- a/admin-and-features/external-openid-providers/README.md +++ b/features/external-openid-providers/README.md @@ -59,7 +59,7 @@ These URIs will need to be provided in your provider's configuration. See [#exam In order to configure the external OpenID provider login, go to the settings in the Defguard admin dashboard. -
+
Everything related to the external OpenID configuration can be found in the OpenID tab of the settings page. The first thing to do here would be to pick your provider using the dropdown menu under the "Provider" label. Next, fill out the required information with values acquired from your provider. If you picked "Microsoft" or "Custom", make sure to also make corresponding changes in the "Base URL" field. After you are done, click "Save changes" to keep your changes. @@ -67,16 +67,16 @@ You may have also noticed the checkbox option on the right. By default, when a n ### OpenID enrollment -When you configure your provider, the proxy will automatically allow enrolling users through it. See [with-external-sso-google-microsoft-custom.md](../../help/enrollment/with-external-sso-google-microsoft-custom.md "mention") for the process from the user's point of view. +When you configure your provider, the proxy will automatically allow enrolling users through it. See [with-external-sso-google-microsoft-custom.md](../../using-defguard-for-end-users/enrollment/with-external-sso-google-microsoft-custom.md "mention") for the process from the user's point of view. For this to work, make sure you have the following two things set: -* Additional allowed redirect URI in your provider's configuration (see [#redirect-url](./#redirect-url "mention")) +* Additional allowed redirect URI in your provider's configuration (see [#redirect-uri](./#redirect-uri "mention")) * A `DEFGUARD_PROXY_URL` environment variable set correctly for your proxy (not core). This variable needs to be set for your proxy and should be equal to the URL where users perform the enrollment process. This should be set automatically if you are using the one-line deployment script version `1.2.1` or above. E.g. if your enrollment URL is `https://enrollment.my-domain.net`, set `DEFGUARD_PROXY_URL` to `https://enrollment.my-domain.net`. #### Disabling automatic account creation -
+
If you disable the option above, new users won't be able to automatically go through the enrollment. You will need to create their accounts by hand (with the same email address as the one they have set on your OIDC provider's side) and only then they will have an option to activate it by logging through the provider. @@ -98,7 +98,7 @@ Defguard doesn't automatically create users based on the users in your provider' The menu can be found in Defguard settings by navigating to the "OpenID" tab. -
+
The following configuration options are currently available in the directory synchronization menu for all providers: @@ -118,18 +118,87 @@ If you want to delete your users based on the state of your provider we recommen #### Currently supported providers * [Google](google.md#directory-synchronization) -* Microsoft +* [Microsoft](microsoft.md) +* [Okta](okta.md#directory-synchronization) +* [JumpCloud](jumpcloud.md#directory-synchronization) ## Known issues +### Email conflict between user accounts + +In scenario where: + +* User1 exists in Defguard +* User2 has email: User1@domain + +User2 will not be able to authenticate using OpenID. + +This is not a system error, but an administrator’s negligence. The login (as well as the part of the company email corresponding to the login) must be unique, and the administrator is responsible for maintaining user data. + ### JumpCloud When setting up JumpCloud you can encounter an error when attempting to log in with a message `Failed to parse payload JSON: Error(\\\"invalid type: string...`. This is because JumpCloud is returning a token that doesn't conform fully to the OpenID standard. You can try working around this issue by removing the `email_verified` field in your SSO application configuration in JumpCloud. In order to do this, edit your SSO Application and **deselect** the email scope: -
+
Then, add the email below by hand: -
+
Double check that the `email_verified` field is gone from the constant attributes section. The issue should be gone now. + +### Request to the provider times out + +If the requests made to your provider time out you should check if the Defguard Core server has access to your provider. This can be done for example by running the `curl` command to one of the provider's endpoint from the machine/container on which the Defguard Core is running on. The request may time out either if: + +* The resource is not accessible because it's blocked by a firewall or other network configuration +* The response is taking too long (more than 10s), making Defguard Core terminate the request. + +#### Docker + +If your Defguard Core instance is running inside a Docker container, you should first obtain the container's name: + +``` +docker container ls +``` + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +42986c3e772j postgres:15-alpine "docker-entrypoint.s…" 10 days ago Up 5 hours 0.0.0.0:5432->5432/tcp defguard-db-1 +c4000t32936a ghcr.io/defguard/defguard:main "./defguard" 4 weeks ago Up 19 minutes 0.0.0.0:8000->8000/tcp, 0.0.0.0:50055->50055/tcp defguard-core-1 +``` + +In this case, the container name is `defguard-core-1`. + +Now, open a shell inside the container: + +``` +docker exec -it /bin/bash +``` + +While inside the container, you will need to first temporarily install the `curl` command as its not available by default: + +``` +apt update && apt install curl +``` + +#### Non-docker deployments + +Make sure you have the curl command installed and you are running the command from the same server on which the Defguard Core is running. + + + +Use the `curl` command to query one of your provider endpoints: + +* **Microsoft:** `https://login.microsoftonline.com//oauth2/v2.0/token` +* **JumpCloud:** `https://console.jumpcloud.com/api/v2` +* **Google:** `https://oauth2.googleapis.com/token` +* **Okta:** `/oauth2/v1/token` + +E.g. for Microsoft you can do: + +``` +curl -s -w "\nResponse Code: %{http_code} Time: %{time_total}\n" -X Post https://login.microsoftonline.com//oauth2/v2.0/token +``` + +Which should both print the response, the response code and the time it took for the request to complete. If the command doesn't complete or takes longer than 10s, the timeout issue may be related to your network/firewall configuration which makes the requests fail from the machine or take longer than expected. Please note that it's expected for this command to return an HTTP error code (4xx) as we are only testing connectivity (the ability to reach given endpoint). diff --git a/admin-and-features/external-openid-providers/custom.md b/features/external-openid-providers/custom.md similarity index 100% rename from admin-and-features/external-openid-providers/custom.md rename to features/external-openid-providers/custom.md diff --git a/admin-and-features/external-openid-providers/external-oidc-secure-enrollment.md b/features/external-openid-providers/external-oidc-secure-enrollment.md similarity index 78% rename from admin-and-features/external-openid-providers/external-oidc-secure-enrollment.md rename to features/external-openid-providers/external-oidc-secure-enrollment.md index 3cebef5..1d3fc0c 100644 --- a/admin-and-features/external-openid-providers/external-oidc-secure-enrollment.md +++ b/features/external-openid-providers/external-oidc-secure-enrollment.md @@ -4,7 +4,7 @@ This is an enterprise feature. To use it, purchase our [enterprise license](../../enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](../../enterprise/license.md#enterprise-is-free-up-to-certain-limits). {% endhint %} -When [External OIDC is enabled,](./) users have the possibility to [securely enroll (automatically create a Defguard account) and very easily configure their desktop client](../../help/enrollment/with-external-sso-google-microsoft-custom.md) just by logging in with the SSO provider: +When [External OIDC is enabled,](./) users have the possibility to [securely enroll (automatically create a Defguard account) and very easily configure their desktop client](../../using-defguard-for-end-users/enrollment/with-external-sso-google-microsoft-custom.md) just by logging in with the SSO provider:
diff --git a/admin-and-features/external-openid-providers/google.md b/features/external-openid-providers/google.md similarity index 75% rename from admin-and-features/external-openid-providers/google.md rename to features/external-openid-providers/google.md index d0e2578..09a34ed 100644 --- a/admin-and-features/external-openid-providers/google.md +++ b/features/external-openid-providers/google.md @@ -7,27 +7,27 @@ Here is [full Google documentation](https://developers.google.com/identity/openi 1. The Google OpenID Connect can be configured in the [Google Cloud Console](https://console.cloud.google.com) 2. If you don't have any project setup already (or you want to create a new one for this purpose), create it by clicking the dropdown menu here: -
+
If you already have project, make sure to select it in the above dropdown menu. 3. Now, navigate to [`APIs & Services`](https://console.cloud.google.com/apis) 4. We will focus on the consent screen first, select `OAuth consent screen` 5. Pick the User Type according to your needs, this example will focus on the internal type -
+
6. Fill in all required details. Make sure to fill the correct domain. This should be the top domain under which your Defguard dashboard can be accessed, not the subdomain (e.g. `defguard.example.com` -> `example.com`). 7. On the scopes config screen, click `ADD OR REMOVE SCOPES`, Defguard requires at least the following scopes: -
+
8. Proceed until the end and return to the OAuth consent screen dashboard. 9. Now, go to [`Credentials`](https://console.cloud.google.com/apis/credentials), click `CREATE CREDENTIALS` and choose `OAuth client ID` -
+
10. On the next screen, fill out all required information: -
+
- Make sure to select "Web application" as the application type. The other thing to note here is the redirect URI. It is the URI to which the user will be redirected from the external provider's authorization. This URI is in the form of `/auth/callback`. Replace `` with the URL under which your dashboard is accessible, e.g. `https://defguard.example.com`. If you'd like to use OpenID enrollment through proxy, make sure to enter an additional URI here in the form of `/openid/callback`. + Make sure to select "Web application" as the application type. The other thing to note here is the redirect URI. It is the URI to which the user will be redirected from the external provider's authorization. This URI is in the form of `/auth/callback`. Replace `` with the URL under which your dashboard is accessible, e.g. `https://defguard.example.com`. If you'd like to use OpenID enrollment through proxy (and MFA , make sure to enter an additional URIs here in the form of `/openid/callback` , and if you use External MFA please add also: `/openid/mfa/callback` 11. After you proceed further, you will be presented with a popup containing your `Client ID` and `Client Secret`, copy them and paste on the Defguard OpenID configuration page.
@@ -48,7 +48,7 @@ This documentation concerns only the Google directory synchronization. For more The menu can be found in Defguard settings by navigating to the "OpenID" tab. -
+
The following configuration options are currently available in the directory synchronization menu specifically for the Google provider: @@ -59,40 +59,35 @@ To learn more about the rest of the configuration options, see the [general dire #### Directory synchronization setup -1. Navigate to [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) in the Google Cloud console\ +1. Navigate to [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) in the Google Cloud console
- -
+
2. Click "Create service account" -3. Give your service account a descriptive name\ - +3. Give your service account a descriptive name
-
+
4. Skip step 2 and 3 if you are not sure what to configure there. -5. Go to your newly created service account and add a new key in the "KEYS" tab.\ - +5. Go to your newly created service account and add a new key in the "KEYS" tab.
-
+
6. A JSON file will be downloaded after you click "CREATE". Store it securely as it may grant access to your Google Workspace directory. 7. Next, navigate to the "DETAILS" tab and copy the unique ID of your service account. 8. Open the Advanced settings and under Domain-wide delegation click "View google workspace admin console" -9. Now in the admin console, navigate to [API controls](https://admin.google.com/u/1/ac/owl)\ +9. Now in the admin console, navigate to [API controls](https://admin.google.com/u/1/ac/owl)
- -
+
10. In the API controls, click "Manage domain wide delegation" -11. On the next screen, add a new API client\ - +11. On the next screen, add a new API client
-
+
Specify the following scopes for your client:\ `openid, email, profile, https://www.googleapis.com/auth/admin.directory.customer.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly` diff --git a/features/external-openid-providers/jumpcloud.md b/features/external-openid-providers/jumpcloud.md new file mode 100644 index 0000000..8e63d09 --- /dev/null +++ b/features/external-openid-providers/jumpcloud.md @@ -0,0 +1,63 @@ +# JumpCloud + +1. Login to your JumpCloud admin account. +2. Navigate to SSO Applications\\ + +
+3. Add a new SSO Application +4. Select "Custom" on this screen. + +
+5. Select "Configure SSO with OIDC". + +
+6. Fill the app's display label in the next form.\\ + +
+7. After finishing this configuration, you will be redirected to your newly created SSO Application's settings. Go to the "SSO" tab first. + +
+8. Configure as following: + +
+ + Make sure to set the correct Redirect URI and Login URL that will reflect your Defguard's setup. If you access your Defguard dashboard at e.g. `https://defguard.example.net` your redirect URI will be `https://defguard.example.net/auth/callback` and the login URL `https://defguard.example.net/auth/login`. Additionally, if you are using a Defguard proxy to enroll users, you can also add another redirect URI in the form of `/openid/callback` and `/openid/mfa/callback` if you wish to use the [External MFA feature](../wireguard/multi-factor-authentication-mfa-2fa/#external-mfa) ( `` is the address at which your Proxy enrollment page is accessible). +9. Next, select the profile scope and add an `email` user attribute mapping by hand, like so: + +
+ + It's important **not** to select the email standard scope checkbox, as it will automatically add a constant `email_verified` field which doesn't conform to the OpenID standard and doesn't work with Defguard. You can see the following section for more information: [#jumpcloud](./#jumpcloud "mention"). +10. Click "Activate". You will be presented with a client ID and a secret. Copy both of them, as you will need to insert them in Defguard's settings. +11. Go to Defguard settings, OpenID tab, select `JumpCloud` provider tab and paste the copied values: + +
+12. Back in JumpCloud, make sure your users have access to the SSO Application. You can enable it by navigating to the `User groups` menu and selecting the group you want to enable logging in through JumpCloud for. Only users from this group will be able to log in to Defguard with JumpCloud. In this example, we will select the `All users` group, which is a dynamic group containing every user. +13. Now in the group settings menu, select the `Applications` tab and select the checkbox next to your newly created app, this will enable the app for that group. Click `Save group` when you finish. + +
+14. Now you should be able to log in to Defguard with JumpCloud. + +### Directory synchronization + +Defguard supports synchronizing groups' and users' states based on your JumpCloud directory. + +Make sure to check the [general guide to directory synchronization](./#directory-synchronization) to learn more about the available configuration options. + +#### Setup + +{% hint style="warning" %} +Because JumpCloud API keys are bound to users and they don't support granular permissions nor generating more than one at a time, we recommend generating the API key for a user with read only permissions, as Defguard doesn't require write permissions to your directory. +{% endhint %} + +1. Login to your [JumpCloud admin portal](https://console.jumpcloud.com/) +2. Generate a new API key (or use an existing one). This can be done by clicking your user icon in the upper right corner and selecting "My API key"
+ +
+3. If you already generated an API key, you will have to regenerate it here (please note that regenerating the API key may break your existing integrations that already use it).
+ +
+4. Copy the newly generated API key and navigate to your Defguard instance's settings. +5. Paste the key into the "JumpCloud API key" field
+ +
+6. The JumpCloud directory synchronization should now work and your users' state and group memberships should be periodically synchronized. diff --git a/admin-and-features/external-openid-providers/keycloak.md b/features/external-openid-providers/keycloak.md similarity index 100% rename from admin-and-features/external-openid-providers/keycloak.md rename to features/external-openid-providers/keycloak.md diff --git a/admin-and-features/external-openid-providers/microsoft.md b/features/external-openid-providers/microsoft.md similarity index 77% rename from admin-and-features/external-openid-providers/microsoft.md rename to features/external-openid-providers/microsoft.md index 69add5d..fd7a403 100644 --- a/admin-and-features/external-openid-providers/microsoft.md +++ b/features/external-openid-providers/microsoft.md @@ -4,11 +4,11 @@ 2. Navigate to Microsoft Entra ID 3. In the Microsoft Entra ID, click Manage and select App registrations from the menu on the left. -
+
4. Click "Make new registration" 5. Fill out the form, like in the example: -
+
Make sure the Redirect URL you insert here is correct. Replace `defguard.example.com` with the domain you use for your Defguard dashboard. If you'd like to use OpenID enrollment through proxy, make sure to enter an additional URI here in the form of `/openid/callback`. @@ -18,15 +18,15 @@ Make sure the Redirect URL you insert here is correct. Replace `defguard.example 7. Go to Defguard settings, click the OpenID tab and paste the copied client ID. The tenant ID should be inserted instead of the `` placeholder in the base URL field. 8. Now back in Microsoft Entra ID, still in your newly created application, go to **Certificates & Secrets** -
+
9. Click Client secrets and create a new client secret. Copy its **value** and paste it in your Defguard OpenID settings. 10. Go to Token configuration (in the menu on the left) and add a new optional token claim. 11. Make sure to select the ID token type and the following claims: -
+
12. Accept the popup or configure the API permissions manually. -
+
13. Now you should be good to go. A new login button should appear on the login screen. @@ -47,32 +47,28 @@ Make sure to check the [general guide to directory synchronization](./#directory #### Setup 1. Go back to your app registrations in Microsoft Entra ID and select the app you registered during the provider setup. -2. Navigate to API permissions\ +2. Navigate to API permissions
+
-
+3. Click "Add a permission", then select "Microsoft Graph"
-3. Click "Add a permission", then select "Microsoft Graph"\ +
-
+4. Select "Application permissions", as Defguard will perform the synchronization in the background.
- -4. Select "Application permissions", as Defguard will perform the synchronization in the background.\ - - -
+
5. Assign the following permissions: * `GroupMember.Read.All` * `Group.Read.All` * `User.Read.All` -6. Now grant admin consent for the permissions using the "Grant admin consent for" button\ - +6. Now grant admin consent for the permissions using the "Grant admin consent for" button
-
+
7. You should be good to go now. Navigate to the directory sync settings in Defguard and try to test your setup using the test connection button. diff --git a/admin-and-features/external-openid-providers/okta.md b/features/external-openid-providers/okta.md similarity index 85% rename from admin-and-features/external-openid-providers/okta.md rename to features/external-openid-providers/okta.md index 4431ea6..6bbbf39 100644 --- a/admin-and-features/external-openid-providers/okta.md +++ b/features/external-openid-providers/okta.md @@ -26,8 +26,6 @@ The base URL will be based on your Okta domain. In the case of this example, the `-admin` part of the URL had to be additionally removed. To additionally verify if your Base URL is correct, you can navigate to `/.well-known/openid-configuration`. The issuer field here should be the same as the Base URL. - - ### Directory synchronization {% hint style="info" %} @@ -40,7 +38,7 @@ This documentation concerns only the Okta directory synchronization. For more ge The menu can be found in Defguard settings by navigating to the "OpenID" tab. -
+
The following configuration options are currently available in the directory synchronization menu specifically for the Okta provider: @@ -55,39 +53,26 @@ To learn more about the rest of the configuration options, see the [general dire This feature is currently technically limited to 10000 members or groups. High user or group counts may still trigger your provider API limits even below this threshold. If you have many users (200+), we recommend you test this feature first before you decide to turn on automatic user deletion. {% endhint %} -1. Go to the Okta admin dashboard and navigate to the Applications menu\ - - -
- +1. Go to the Okta admin dashboard and navigate to the Applications menu\\ +
2. Make a completely new app integration by clicking "Create App Integration". This app will be solely responsible for communicating with Okta API. -3. Select "API services"\ - - -
- +3. Select "API services"\\ +
4. Name your app integration, e.g. "Defguard directory sync" -5. Go to your newly created app integration settings and change the client authentication to "Public key / Private key"\ - - -
- +5. Go to your newly created app integration settings and change the client authentication to "Public key / Private key"\\ +
6. Next, click "Add key" and generate a new key pair. 7. Copy the generated private key in the JSON format to your clipboard 8. Paste the copied key in the Defguard Okta directory sync settings in the "Directory Sync Private Key" field. 9. Go back to Okta again. Save your new Okta configuration along with the newly generated keys. Now, copy the app integration's client ID. Paste it in the "Directory Sync Client ID" field in Defguard Okta directory sync settings. Save your Defguard settings. -10. Return to Okta and under "General settings" turn off the "Require Demonstrating Proof of Possession (DPoP) header in token requests" option. Save your changes.\ - - -
-11. Now, navigate to the Okta API scopes tab.\ - - -
+10. Return to Okta and under "General settings" turn off the "Require Demonstrating Proof of Possession (DPoP) header in token requests" option. Save your changes.\\ +
+11. Now, navigate to the Okta API scopes tab.\\ +
12. Grant the `okta.groups.read` and `okta.users.read` scopes. 13. Everything should be set now. Try testing your provider connection in Defguard directory synchronization settings. diff --git a/admin-and-features/external-openid-providers/zitadel.md b/features/external-openid-providers/zitadel.md similarity index 100% rename from admin-and-features/external-openid-providers/zitadel.md rename to features/external-openid-providers/zitadel.md diff --git a/admin-and-features/forward-auth.md b/features/forward-auth.md similarity index 92% rename from admin-and-features/forward-auth.md rename to features/forward-auth.md index fd5e0b4..074c669 100644 --- a/admin-and-features/forward-auth.md +++ b/features/forward-auth.md @@ -7,7 +7,7 @@ In order for forward auth to work the services you are trying to protect must be For example if you are serving your Defguard UI at `id.yourdomain.com`, then your services must use other subdomains of `yourdomain.com`, e.g. ``app1.yourdomain.com, `service.yourdomain.com` etc``. -Additionally you have to update your [Defguard config](../configuration.md#auth-cookies-configuration) to set the cookies domain to `yourdomain.com`. +Additionally you have to update your [Defguard config](../deployment-strategies/configuration.md#auth-cookies-configuration) to set the cookies domain to `yourdomain.com`. {% endhint %} ## Example configurations diff --git a/admin-and-features/setting-up-your-instance/gateway/README.md b/features/gateway.md similarity index 78% rename from admin-and-features/setting-up-your-instance/gateway/README.md rename to features/gateway.md index 20ea005..2cd48fc 100644 --- a/admin-and-features/setting-up-your-instance/gateway/README.md +++ b/features/gateway.md @@ -9,10 +9,10 @@ This instruction helps configure Defguard Gateway in OPNsense. This is based on ### Configure Defguard Gateway plugin 1. Go to **VPN → Defguard Gateway** -2. Fill out the appropriate values in the form. You can read more about the available configuration options here: [#gateway-configuration](../../../configuration.md#gateway-configuration "mention") +2. Fill out the appropriate values in the form. You can read more about the available configuration options here: [#gateway-configuration](../deployment-strategies/configuration.md#gateway-configuration "mention") 3. Eventually, **Start/Restart** the service. -
OPNSense plugin
+
OPNSense plugin
### Assign a network interface to Defguard @@ -21,7 +21,7 @@ This instruction helps configure Defguard Gateway in OPNsense. This is based on 3. Add a description, for example _ParisOfficeVPN_ 4. Click **Add** -
Interface Assignments
+
Interface Assignments
5. Select the newly create interface by clicking on its name (in this example _\[ParisOfficeVPN]_). 6. Select **Enable Interface** @@ -38,7 +38,7 @@ This instruction helps configure Defguard Gateway in OPNsense. This is based on 6. Select **Source address** – this should be interface name assigned above plus _net_, e.g. _ParisOfficeVPN net_. 7. Click **Save**, and then **Apply changes** -
Outbound NAT rule
+
Outbound NAT rule
### Add firewall rules to allow WireGuard traffic in @@ -51,4 +51,4 @@ This instruction helps configure Defguard Gateway in OPNsense. This is based on 7. Set **Destination** to **WAN address** and port to the port number provided in Defguard Core: _Location configuration → Gateway port_ 8. Click **Save**, and then **Apply changes** -
Firewall rule
+
Firewall rule
diff --git a/integrations/README.md b/features/integrations/README.md similarity index 100% rename from integrations/README.md rename to features/integrations/README.md diff --git a/features/integrations/api-tokens.md b/features/integrations/api-tokens.md new file mode 100644 index 0000000..b6c3aba --- /dev/null +++ b/features/integrations/api-tokens.md @@ -0,0 +1,90 @@ +# REST API + +{% hint style="warning" %} +This is an enterprise feature. To use it, purchase our [enterprise license](../../enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](../../enterprise/license.md#enterprise-is-free-up-to-certain-limits). +{% endhint %} + +{% hint style="warning" %} +API functionality: + +1. requires Defguard version 1.2.4+ +2. is also **available without enterprise license**, if your instance does not exceed the limits [described here](../../enterprise/license.md#enterprise-is-free-up-to-certain-limits). +{% endhint %} + +## REST API documentation + +You can explore the Defguard REST API using [Swagger UI](https://swagger.io/tools/swagger-ui/) by going to `/api-docs`. + +API specification JSON in OpenAPI format can also be fetched from `/api/v1/api-docs`. + +Admin users can generate API tokens to enable request authentication for custom external tools which use Defguard REST API. + +Tokens retain the same access permissions as their owner, so be careful when sharing them with others. + +## Generating API token + +## Setup + +To generate a new API token, go to your profile page and click the `Add new API Token`button: + +
+ +Fill in your chosen token name and submit form: + +
+ +Copy generated token. This is the only time the token will be available in plain text form. If you lose it you will have to generate a new one. + +
+ +In the API token list you can later rename or delete a token: + +
+ +## Usage + +Defguard API uses a standard **Bearer token authentication** scheme. + +This means that an API token can be passed in the `Authorization` header to authenticate a given request instead of a session cookie used by the web UI: + +```bash +Authorization: Bearer +``` + +Example GET request: + +```bash +curl -H "Authorization: Bearer " /api/v1/me +``` + +## Swagger UI + +### Using API token in Swagger + +After opening Swagger UI you can add your `API token` and try out available endpoints. + +1. Open Swagger UI and click **Authorize** button. + +
+ +2. Paste your `API token.` + +
+ +3. Click on endpoint and select **Try it out** option. + +
+ +4. If endpoint requires a path or request body, enter it. + +
+ +5. Click **Execute** and scroll down, you will see response body. + +
+ +### Schemas + +If you are looking for definitions of types, you can scroll down to **Schemas** section. + +
diff --git a/integrations/webhooks.md b/features/integrations/webhooks.md similarity index 97% rename from integrations/webhooks.md rename to features/integrations/webhooks.md index ce223e9..4b5675f 100644 --- a/integrations/webhooks.md +++ b/features/integrations/webhooks.md @@ -8,7 +8,7 @@ The basic idea of webhooks is to send user data to external systems in order to On the left side of Defguard navigation, you'll find webhooks page -![New webhook form](../.gitbook/assets/webhookform.png) +![New webhook form](../../.gitbook/assets/webhookform.png) On the form above, you'll see inputs like URL description token and triggers diff --git a/admin-and-features/ldap-and-active-directory-integration/README.md b/features/ldap-and-active-directory-integration/README.md similarity index 100% rename from admin-and-features/ldap-and-active-directory-integration/README.md rename to features/ldap-and-active-directory-integration/README.md diff --git a/admin-and-features/ldap-and-active-directory-integration/configuration.md b/features/ldap-and-active-directory-integration/configuration.md similarity index 52% rename from admin-and-features/ldap-and-active-directory-integration/configuration.md rename to features/ldap-and-active-directory-integration/configuration.md index 48baa43..f577b32 100644 --- a/admin-and-features/ldap-and-active-directory-integration/configuration.md +++ b/features/ldap-and-active-directory-integration/configuration.md @@ -16,7 +16,7 @@ If you are using the integration across multiple nested organizational units, pl First, navigate to the settings page and select the LDAP tab. -
+
Now change fields according to your LDAP instance. @@ -40,11 +40,11 @@ After enabling the LDAP integration, you will gain the ability to log in to Defg ### Example Active Directory configuration -
+
-
+
-
+
This is an example configuration for a default Active Directory setup on a Windows Server 2022. The most important aspect is setting the "LDAP server is Active Directory" setting, as AD support won't work otherwise. Additionally, `ldaps` has been configured as AD requires an encrypted connection in order for Defguard to be allowed to send user passwords, which is critical if you expect to create users/set passwords through Defguard. @@ -52,11 +52,11 @@ The "cn" attribute has been configured as the user's RDN as that's what used in ### Example OpenLDAP configuration -
+
-
+
-
+
This is an example configuration for an OpenLDAP server integrated with Samba (hence `sambaSamAccount` object class). The `inetOrgPerson` has been set as the user structural class which adds attributes to the LDAP user like `email` or `mobile`. `simpleSecurityObject` class has been added for the ability to set passwords in LDAP. @@ -82,3 +82,25 @@ If you are using an older version of Defguard, using the integration with multip To fix this problem, you should limit the search base to one organizational unit only, if possible. +### LDAP users can't go through the enrollment process + +By default, if a user is synchronized from LDAP (or logs in through the LDAP integration) they do not go through the enrollment process in the Client when adding their first device. LDAP user already has all the details configured in order to login to Defguard. In some scenarios though it may be necessary to force the user to still go through the enrollment process first, for example, for them to be able to initially set their MFA method in the Client without having access to the Defguard dashboard and their profile yet. + +In the 1.5 version, forcing an LDAP user to go through the enrollment process requires the following workaround: + +1. You will need to access the database. This can be achieved in several ways: + 1. If your Defguard database is running in a Docker container, for example if you deployed from the one line script, you can use the PSQL client inside the database container: + 1. Execute `sudo docker container ls` to see what containers are running + 2. Copy the container ID or name of the Defguard database container. + 3. Do `sudo docker exec -it psql -U defguard` to gain access to the database + 2. If your database is not running inside a Docker container but as standalone process, you will need to use the PSQL tool directly. If you are on the same server as a database the correct PSQL CLI should already be installed. Otherwise, you will need to install the appropriate version (matching the PostgreSQL version of your Defguard database) of the tool, for example by doing `sudo apt install postgresql-client-17` (for systems using APT) if your PostgreSQL version is 17. After installing the client: + 1. Run `psql -h -p -d defguard -U defguard` + 2. You will be prompted for a password. The database password can be found in your Defguard Core environment variables (for example, in it's `.env` file, or `/etc/defguard/core.conf` if you installed from DEB/RPM packages). +2. After you gain access to the database and are in the PSQL prompt, you can execute the following to force given LDAP user to go through the enrollment process:\ + `update "user" set from_ldap = false where username = '';`\ + You can also match the user by their `email`, if you prefer. And if you want to do this for **all** LDAP users:\ + `update "user" set from_ldap = false where ldap_user_path is not null;` +3. Performing those commands will cause the user to be forced to go through the enrollment process when they try to configure a new device in the Desktop client. This method comes with some caveats: + 1. This won't work if a given user already has a password set in Defguard. Users with password set are always considered to be already enrolled. Typically LDAP users won't have their passwords set in Defguard if they haven't done it manually via a password reset. + 2. If a user performs a login to the Defguard dashboard through LDAP their "from\_ldap" status is again set to "true", marking them back as already enrolled. + 3. During the enrollment process the user will be prompted to enter a new password. This password can be later used for dashboard login but users will be still be able to login through their LDAP credentials. diff --git a/admin-and-features/ldap-and-active-directory-integration/settings-table.md b/features/ldap-and-active-directory-integration/settings-table.md similarity index 71% rename from admin-and-features/ldap-and-active-directory-integration/settings-table.md rename to features/ldap-and-active-directory-integration/settings-table.md index 75adfa4..e5ee64d 100644 --- a/admin-and-features/ldap-and-active-directory-integration/settings-table.md +++ b/features/ldap-and-active-directory-integration/settings-table.md @@ -8,22 +8,22 @@ description: List with description of settings for LDAP found in settings page. Ensure that the letter casing in your Defguard settings matches exactly with your LDAP configuration. For instance, if your LDAP uses 'CN', be sure to enter it as 'CN' in the settings, not 'cn'. {% endhint %} -| Field | Description | Default | -| ------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -| URL | URL that points to your LDAP server. | Empty | -| Bind Username | Bind DN used for authentication. | cn=admin,dc=example,dc=org | -| Bind Password | Password used for authentication. | Empty | -| Member Attribute | Naming attribute for group membership. | memberOf | -| Username Attribute | The attribute which will be used as the user's username. | cn | -| User Search Base | Relative Distinguished Name (RDN) of your user entries. | ou=users,dc=example,dc=org | -| User Object Class | Object class used for user entries. | inetOrgPerson | -| Additional User Object Classes | Auxiliary classes for user entries | simpleSecurityObject, sambaSamAccount | -| Groupname Attribute | Naming attribute for groups. | cn | -| Group Object Class | Object class used for group entries. | groupOfUniqueNames | -| Group Member Attribute | Naming attribute for group membership. | uniqueMember | -| Group Search Base | Relative Distinguished Name (RDN) of your group entries. | ou=groups,dc=example,dc=org | -| User RDN attribute | The attribute which is a part of the user's DN (the leftmost component of the DN). | Empty, defaults to the username attribute | -| Limit synchronization to these groups | Limits all LDAP actions only to users belonging to one of the specified groups, both ways. Values should be provided as a list separated by commas. | Empty | +| Field | Description | Default | +| ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------- | +| URL | URL that points to your LDAP server. | Empty | +| Bind Username | Bind DN used for authentication. | cn=admin,dc=example,dc=org | +| Bind Password | Password used for authentication. | Empty | +| Member Attribute | Naming attribute for group membership. | memberOf | +| Username Attribute | The attribute which will be used as the user's username. | cn | +| User Search Base | Relative Distinguished Name (RDN) of your user entries. | ou=users,dc=example,dc=org | +| User Object Class | Object class used for user entries. | inetOrgPerson | +| Additional User Object Classes | Auxiliary classes for user entries | simpleSecurityObject, sambaSamAccount | +| Groupname Attribute | Naming attribute for groups. | cn | +| Group Object Class | Object class used for group entries. | groupOfUniqueNames | +| Group Member Attribute | Naming attribute for group membership. | uniqueMember | +| Group Search Base | Relative Distinguished Name (RDN) of your group entries. | ou=groups,dc=example,dc=org | +| User RDN attribute | The attribute which is a part of the user's DN (the leftmost component of the DN). | Empty, defaults to the username attribute | +| Limit synchronization to these groups | Limits all LDAP actions only to users belonging to one of the specified groups, both ways. Values should be provided as a list of group names separated by commas. | Empty | ## Settings in depth diff --git a/admin-and-features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md b/features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md similarity index 96% rename from admin-and-features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md rename to features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md index 26548f0..a86520f 100644 --- a/admin-and-features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md +++ b/features/ldap-and-active-directory-integration/two-way-ldap-and-active-directory-synchronization.md @@ -37,13 +37,13 @@ For OpenLDAP: First, you will need to configure your LDAP connection. Refer to [configuration.md](configuration.md "mention") for instructions. Here is an example configuration for an OpenLDAP server without SSL/TLS: -
+
-Make sure you selected "Enable LDAP integration" as without it, the two-way synchronization won't work. After you fill out all the fields, test your configuration using the button. +Make sure you selected "Enable LDAP integration" as without it, the two-way synchronization won't work. After you fill out all the fields, test your configuration using the button. The LDAP two-way synchronization has the following options available: -
+
* **Enable LDAP two-way synchronization** - enables the two-way synchronization. Check it if you want to pull changes from LDAP. * **Consider the following source as the authority** - makes the selected server the source of truth. See [#authority-and-full-synchronization](two-way-ldap-and-active-directory-synchronization.md#authority-and-full-synchronization "mention") for more details. @@ -59,7 +59,7 @@ Before enabling this feature, check if you meet requirements described in [setti If you want to synchronize only selected users, you can specify the groups of which members should be synchronized. -
+
This can be useful if you have a lot of users in your LDAP server and want to synchronize/pull only users belonging to a given group, e.g. `defguard-sync`. @@ -78,9 +78,9 @@ The following advice should be applied only when you are using LDAP as the autho After you change your synchronization groups, users not belonging to the new groups won't be automatically deleted. This may be an issue if you first used the two-way synchronization without any synchronization groups, effectively synchronizing everyone and decided later to narrow the scope of synchronization. This can result in many redundant, not synchronized user records in your Defguard instance lying around. If you want to prune your Defguard users to only those who are in your synchronization group, you can follow these steps (assuming you have already set your synchronization groups): 1. Wait for a two-way periodic synchronization to complete, you can recognize it by the `LDAP sync completed` log message. -2. Temporarily disable the whole LDAP integration in the settings ![](<../../.gitbook/assets/image (96).png>) +2. Temporarily disable the whole LDAP integration in the settings ![](<../../.gitbook/assets/image (191).png>) 3. In the Defguard user's list, bulk assign all users one of your synchronization groups, to bring them into the scope of synchronization. You may want to leave out all users which you don't want to be ever touched by the LDAP integration, e.g. the default admin user or other users you want to keep only in Defguard. -4. Enable the LDAP integration in the settings +4. Enable the LDAP integration in the settings 5. Now, the next two-way synchronization will remove all users from Defguard who have the synchronization group you just assigned in Defguard but don't have it in LDAP, effectively leaving you only with users that have the group in both sources. ## Synchronization mechanism overview diff --git a/admin-and-features/network-devices.md b/features/network-devices.md similarity index 83% rename from admin-and-features/network-devices.md rename to features/network-devices.md index 917c01d..a140dd3 100644 --- a/admin-and-features/network-devices.md +++ b/features/network-devices.md @@ -1,6 +1,6 @@ # Network devices -Network devices are like regular user devices but can only be managed by admins and have access to only one network. They are designed to be used with the [Defguard CLI client](../../help/cli-client.md). +Network devices are like regular user devices but can only be managed by admins and have access to only one network. They are designed to be used with the [Defguard CLI client](../using-defguard-for-end-users/cli-client.md). ### Adding a new network device @@ -8,14 +8,14 @@ In order to add a new network device, navigate to the network device menu (selec While in the network device menu, click the "Add new" button. You will be presented with a popup prompting you to select your method of setting up the network device. -* **Defguard Command Line Client -** choose it to automatically configure your device with the [Defguard CLI client](../../help/cli-client.md) +* **Defguard Command Line Client -** choose it to automatically configure your device with the [Defguard CLI client](../using-defguard-for-end-users/cli-client.md) * **Manual WireGuard Client** - choose it if you don't want to use the Defguard CLI client. You will need to configure your network device manually with a WireGuard config file. #### Using the Defguard CLI client After selecting the first option you will be presented with the initial setup screen. -
+
You can specify here the following settings: @@ -24,13 +24,13 @@ You can specify here the following settings: * **Assigned IP Address** - automatically suggested IP address, you may change it as needed, * **Description** - the description to help you identify the device, it will be displayed in the device list. -After you've finished setting those values, proceed to the next step. You will be presented with an enrollment command. Learn more about further steps from the [CLI client documentation](../../help/cli-client.md). +After you've finished setting those values, proceed to the next step. You will be presented with an enrollment command. Learn more about further steps from the [CLI client documentation](../using-defguard-for-end-users/cli-client.md). #### Using the Manual WireGuard client The screen here is similar to that of the CLI client configuration, except for the additional public key field. -
+
The fields are as follows: @@ -47,7 +47,7 @@ On the next screen you will be presented with the WireGuard configuration file. After you've configured your network device, you can display its enrollment token again, by interacting with the following menu: -
+
* Selecting "Generate auth token" will re-generate the enrollment token and will allow you to enroll your CLI client again. Use it if you want to manually pull the newest network configuration for your client. * Selecting the "View config" option will display the WireGuard configuration file (without the private key, as Defguard doesn't store it). diff --git a/notifications/README.md b/features/notifications/README.md similarity index 100% rename from notifications/README.md rename to features/notifications/README.md diff --git a/notifications/gateway-notifications.md b/features/notifications/gateway-notifications.md similarity index 85% rename from notifications/gateway-notifications.md rename to features/notifications/gateway-notifications.md index 2cd310a..008b5b6 100644 --- a/notifications/gateway-notifications.md +++ b/features/notifications/gateway-notifications.md @@ -10,7 +10,7 @@ You can configure automatic e-mail notifications when one of your gateways disco In order to configure the notifications, navigate to the "Gateway notifications" settings tab. -
+
The configuration options are as follows: diff --git a/notifications/new-version-notifications.md b/features/notifications/new-version-notifications.md similarity index 69% rename from notifications/new-version-notifications.md rename to features/notifications/new-version-notifications.md index 4c01e61..26fa07e 100644 --- a/notifications/new-version-notifications.md +++ b/features/notifications/new-version-notifications.md @@ -2,11 +2,11 @@ Defguard will periodically (every 6 hours) check for a new version, If there is one that is newer than the current one, a toast will be displayed in the admin dashboard. -
+
You can display the release notes by clicking "See what's new". -
+
If the update is considered critical (e.g. fixes a vulnerability) it will have the "critical update" badge. diff --git a/notifications/setting-up-smtp-for-email-notifications.md b/features/notifications/setting-up-smtp-for-email-notifications.md similarity index 100% rename from notifications/setting-up-smtp-for-email-notifications.md rename to features/notifications/setting-up-smtp-for-email-notifications.md diff --git a/admin-and-features/openid-connect/README.md b/features/openid-connect/README.md similarity index 99% rename from admin-and-features/openid-connect/README.md rename to features/openid-connect/README.md index 5e8e056..7fa784e 100644 --- a/admin-and-features/openid-connect/README.md +++ b/features/openid-connect/README.md @@ -22,7 +22,7 @@ As an identity provider, one of our core features is Login with Defguard which a ### Defguard OpenID flow -![OpenID flow](../../in-depth/puml/openid-flow.svg) +![OpenID flow](../../.gitbook/assets/openid-flow.svg) ### How to enable login with Defguard using OpenID? diff --git a/admin-and-features/openid-connect/django.md b/features/openid-connect/django.md similarity index 94% rename from admin-and-features/openid-connect/django.md rename to features/openid-connect/django.md index c4d2c30..5473197 100644 --- a/admin-and-features/openid-connect/django.md +++ b/features/openid-connect/django.md @@ -125,9 +125,9 @@ We need to register our Django application as an OpenID client in Defguard. To do that, navigate to OpenID panel and add new client as shown below. -
+
-
+
Redirect URL should point to **http://localhost:9000/oauth/redirect** @@ -213,7 +213,7 @@ Either provide them as environment variables or modify the views file and pass t Both Client **ID** and **Secret** can be found on OpenID apps page in Defguard, **click** our Django app **row** on the list and you will be able to copy needed values from the opened modal. -
+
### URLS @@ -414,10 +414,10 @@ After accessing _http://localhost:9000/admin we should see our custom login page Button "_Login with Defguard_" should redirect us to our Defguard instance. Depending on if Defguard session is active or not we should be able to see app authorization page or login page. -
+
-
+
-
+
When we authorize Django App to our Defguard account we are redirected back to our Django admin and logged in with a user from Defguard. diff --git a/admin-and-features/openid-connect/grafana-setup.md b/features/openid-connect/grafana-setup.md similarity index 100% rename from admin-and-features/openid-connect/grafana-setup.md rename to features/openid-connect/grafana-setup.md diff --git a/admin-and-features/openid-connect/minio.md b/features/openid-connect/minio.md similarity index 97% rename from admin-and-features/openid-connect/minio.md rename to features/openid-connect/minio.md index c65547e..6d50c68 100644 --- a/admin-and-features/openid-connect/minio.md +++ b/features/openid-connect/minio.md @@ -32,7 +32,7 @@ Navigate to the OpenID page in Defguard and add MinIO to the client's list. Redi http://localhost:9001/oauth_callback ``` -
+
## MinIO Configuration diff --git a/admin-and-features/openid-connect/portainer.md b/features/openid-connect/portainer.md similarity index 100% rename from admin-and-features/openid-connect/portainer.md rename to features/openid-connect/portainer.md diff --git a/admin-and-features/openid-connect/proxmox-1.md b/features/openid-connect/proxmox-1.md similarity index 100% rename from admin-and-features/openid-connect/proxmox-1.md rename to features/openid-connect/proxmox-1.md diff --git a/admin-and-features/openid-connect/proxmox.md b/features/openid-connect/proxmox.md similarity index 100% rename from admin-and-features/openid-connect/proxmox.md rename to features/openid-connect/proxmox.md diff --git a/features/openid-connect/synology-dsm.md b/features/openid-connect/synology-dsm.md deleted file mode 100644 index 45a2f04..0000000 --- a/features/openid-connect/synology-dsm.md +++ /dev/null @@ -1,48 +0,0 @@ -# Synology DSM - -{% hint style="warning" %} -For Synology SSO Client to work with Defguard you have to run your instance with [RSA signing key](../setting-up-your-instance/docker-compose.md#openid-rsa-setup). -{% endhint %} - -{% hint style="warning" %} -It's important to note that this integration does not create user accounts. To authorize with Defguard you have to create Synology users with matching usernames. -{% endhint %} - -## Add Synology app in defguard - -* in Defguard web UI go to OpenID Apps and click `Add new` button -* fill in the form - * **App name**: Synology (or whatever you prefer) - * **Redirect URL 1**: URL of your Synology NAS web interface (DSM), for example `https://dsm.example.com` - * **Scopes**: select `OpenID` and `Profile` -* submit the form - -After successfully adding your app you can see it in the OpenID apps list. When you click on it you will be redirected to the client details page. From this page copy Client ID and Client secret values for later. - -## Configure SSO Client in Synology DSM - -* log into your Synology NAS web UI using an account with admin permissions -* got to **Control Panel** > **Domain/LDAP** > **SSO Client** -* check `Enable OpenID Connect SSO service` and open SSO Settings\ - - -
-* fill in and save the settings form - * **Profile**: OIDC - * **Account type**: Domain/LDAP/local - * **Name**: Defguard (or whatever you prefer, this will be used on login screen) - * **Well-known URL**: `/.well-known/openid-configuration`, for example `https://id.example.com/.well-known/openid-configuration` - * **Application ID**: copied from client app details in defguard - * **Application secret**: copied from client app details in defguard - * **Redirect URI**: address of your Synology NAS, for example https://dsm.example.com - * **Authorization scope**: `openid profile` - * **Username claim**: `preferred_username`\ - - -
- -After this a new tab should be added to the DSM login form: - -
- -You can also make Defguard the default login option in SSO client settings. diff --git a/admin-and-features/openid-connect/vault.md b/features/openid-connect/vault.md similarity index 100% rename from admin-and-features/openid-connect/vault.md rename to features/openid-connect/vault.md diff --git a/features/overview.md b/features/overview.md new file mode 100644 index 0000000..71cbb16 --- /dev/null +++ b/features/overview.md @@ -0,0 +1,16 @@ +# Overview + +## Welcome to Defguard admin documentation + +This documentation walks you through all the administrative features of Defguard and how to configure them. + +We recommend having your own Defguard instance set up to explore these features firsthand. As you follow along, you can adjust the configuration directly within your instance to better understand each feature in action. + +If you don't have your instance yet, start it easily using our [one-line install script](../getting-started/one-line-install.md). + +### What you’ll learn + +As a future Defguard administrator, this documentation will help you: + +* Be aware of all the possibilities you have with Defguard. +* How to configure them to your needs. diff --git a/admin-and-features/remote-user-enrollment/README.md b/features/remote-user-enrollment/README.md similarity index 55% rename from admin-and-features/remote-user-enrollment/README.md rename to features/remote-user-enrollment/README.md index 0260e74..13c7f52 100644 --- a/admin-and-features/remote-user-enrollment/README.md +++ b/features/remote-user-enrollment/README.md @@ -4,58 +4,52 @@ By design **Defguard core** is meant to be deployed **securely** within your inf This introduces an issue with onboarding **new users** and forces the admin to choose an initial password, setup a VPN device for them, and pass on those details to the end user using possibly **insecure** channels. -To avoid this issue you can deploy a **public** [Defguard proxy](https://github.com/DefGuard/proxy) which enables a **secure enrollment process:** +To avoid this issue you can deploy a **public** [Defguard proxy](https://github.com/DefGuard/proxy) which enables a **secure enrollment process.** -
+**Here is a video showcasing:** -{% hint style="info" %} -The proxy is included when using the default [deployment instructions](../../deployment-strategies/setting-up-your-instance.md). +* how admin adds a user with secure remote enrollment +* then how the enrollment process looks like for the user -Please also see the relevant configuration options for [core](../../configuration.md#enrollment-configuration) and the [proxy itself](../../configuration.md#enrollment-service). -{% endhint %} +{% embed url="https://www.youtube.com/watch?v=KdyZoAlBb9k" %} -## Enrollment settings +{% hint style="info" %} +The proxy is included when using the default [deployment instructions](../../deployment-strategies/setting-up-your-instance.md). -{% hint style="warning" %} -In order for the enrollment process to function correctly you must also [set up an SMTP server](../../notifications/setting-up-smtp-for-email-notifications.md) for delivering email notifications. +Please also see the relevant configuration options for [core](../../deployment-strategies/configuration.md#enrollment-configuration) and the [proxy itself](../../deployment-strategies/configuration.md#enrollment-service). {% endhint %} -As an admin, you can configure enrollment-related settings on the **Enrollment** page. This includes: +### How to initiate user secure enrollment -* Making the VPN device step optional or mandatory in the enrollment wizard -* Customizing the user [onboarding messages](user-onboarding-after-enrollment.md). +When adding a new user please select the option: **Use user self-enrollment process:** -#### Message template tags +
-There are several **template tags** (similar to [Jinja2](https://jinja.palletsprojects.com/en/3.1.x/) tags) that you can use in the onboarding messages to insert some dynamic content: - -* `{{ first_name }}` - newly created user first name -* `{{ last_name }}` - newly created user last name -* `{{ username }}` - newly created user username/login -* `{{ admin_first_name }}` - first name of the administrator who initiated the enrollment process -* `{{ admin_last_name }}` - last name of the administrator who initiated the enrollment process -* `{{ admin_phone }}`- phone number of the administrator who initiated the enrollment process -* `{{ admin_email }}`- email of the administrator who initiated the enrollment process -* `{{ defguard_url }}`- internal Defguard URL (your Defguard instance address) -* `{{ defguard_version }}` +{% hint style="info" %} +**By enabling this option, the admin will only provide the user data and will not be able to set the user’s password, the user will create their own password during the enrollment process in the desktop client.** +{% endhint %} -## Remote enrollment process +After filling out the user data, there are two options to start the process for the user: -### Starting remote enrollment (as an admin) +
-* Go to **Users** page -* Click **Add new** user button -* Within the modal that appears fill in the new user's data as usual, but instead of entering a password check the **Use enrollment process** checkbox -* Click the **Add user** button -* In the next modal choose whether you want to **Send token by email** or **Deliver token yourself** -* If you choose to deliver the enrollment token by email provide an email address to which a notification will be sent +1. Automatic: _**Sending token by email** (_this requires for SMTP to be configured) - the user will receive an email will all the instructions how to initiate the Enrollment process +2. Manual: _**Deliver the token yourself**_ — this will only display the URL and token that must be handed over to the user personally. {% hint style="info" %} The email address you specify for delivering the enrollment token can be any email available to the user. It **does not** have to be the same one used when creating an account as we assume that a new user does not yet have access to their official company email account. {% endhint %} -* Click **Start enrollment** -* If you choose to deliver the token yourself you'll be shown a URL and token that you can copy and pass to the user +When the user adds a Defguard instance in the Desktop client using the received token, not only is the VPN client configured, but the user can also: + +* set up their password +* configure MFA, which is required to connect to MFA-protected locations + +This means the user may not even have access to Defguard itself, but can still configure both VPN and MFA! + +{% hint style="danger" %} +**For MFA configuration to be mandatory during the enrollment process, there must be at least one VPN location with MFA enabled. Otherwise, MFA setup will remain optional.** +{% endhint %} ### Restarting enrollment manually @@ -63,8 +57,13 @@ If there are any issues with the enrollment process (failed notification deliver * Go to **Users** page * Find the relevant user and click on the **Action** button on the right -* A **Start enrollment** option should be available in the pop-over menu -* Clicking it will open the same **Start enrollment** modal where you can choose how to deliver the enrollment token +* A **Configure Desktop Client** option should be available in the pop-over menu + +
+ +* Clicking it will open the same enrollment modal where you can choose how to deliver the enrollment token (by email if SMTP is configured or manually): + +
### Performing remote enrollment (as a user) @@ -82,3 +81,28 @@ By following the **enrollment wizard,** you'll be able to do the following: * add an initial device for VPN access After completing the wizard, you should be able to connect to the VPN and access the main Defguard web UI. + +## Enrollment settings + +{% hint style="warning" %} +In order for the enrollment process to function correctly you must also [set up an SMTP server](../notifications/setting-up-smtp-for-email-notifications.md) for delivering email notifications. +{% endhint %} + +As an admin, you can configure enrollment-related settings on the **Enrollment** page. This includes: + +* Making the VPN device step optional or mandatory in the enrollment wizard +* Customizing the user [onboarding messages](user-onboarding-after-enrollment.md). + +#### Message template tags + +There are several **template tags** (similar to [Jinja2](https://jinja.palletsprojects.com/en/3.1.x/) tags) that you can use in the onboarding messages to insert some dynamic content: + +* `{{ first_name }}` - newly created user first name +* `{{ last_name }}` - newly created user last name +* `{{ username }}` - newly created user username/login +* `{{ admin_first_name }}` - first name of the administrator who initiated the enrollment process +* `{{ admin_last_name }}` - last name of the administrator who initiated the enrollment process +* `{{ admin_phone }}`- phone number of the administrator who initiated the enrollment process +* `{{ admin_email }}`- email of the administrator who initiated the enrollment process +* `{{ defguard_url }}`- internal Defguard URL (your Defguard instance address) +* `{{ defguard_version }}` diff --git a/admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md b/features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md similarity index 89% rename from admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md rename to features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md index 726403e..d5362d0 100644 --- a/admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md +++ b/features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md @@ -10,7 +10,7 @@ In the course of time: new locations can be added by administrators, existing on In order to reconfigure a user's desktop client, the administrator has two possibilities: -1. If using the **Open Source Open Core** - the administrator needs to send a new configuration token to each user affected, and the user needs to [update the instance](../../help/desktop-client/instance-configuration.md#updating-instance) in the desktop client with the new obtained token. +1. If using the **Open Source Open Core** - the administrator needs to send a new configuration token to each user affected, and the user needs to [update the instance](../../using-defguard-for-end-users/desktop-client/instance-configuration.md#updating-instance) in the desktop client with the new obtained token. 2. Obtain the **Enterprise License**, then each user desktop client (and all Locations) are **reconfigured automatically in real time** (propagation takes around 30 seconds to 1 minute) whenever any VPN Location is reconfigured or the user is assigned to a different group. {% hint style="warning" %} diff --git a/admin-and-features/remote-user-enrollment/user-onboarding-after-enrollment.md b/features/remote-user-enrollment/user-onboarding-after-enrollment.md similarity index 100% rename from admin-and-features/remote-user-enrollment/user-onboarding-after-enrollment.md rename to features/remote-user-enrollment/user-onboarding-after-enrollment.md diff --git a/admin-and-features/ssh-authentication.md b/features/ssh-authentication.md similarity index 91% rename from admin-and-features/ssh-authentication.md rename to features/ssh-authentication.md index 2ab6d3d..3f329e3 100644 --- a/admin-and-features/ssh-authentication.md +++ b/features/ssh-authentication.md @@ -2,14 +2,14 @@ ## Overview -Defguard allows you to configure SSH authentication on your servers to use public SSH keys stored in your instance's database. This is possible by using the [AuthorizedKeysCommand option](http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/sshd\_config.5#AuthorizedKeysCommand) in OpenSSH daemon configuration file. +Defguard allows you to configure SSH authentication on your servers to use public SSH keys stored in your instance's database. This is possible by using the [AuthorizedKeysCommand option](http://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/sshd_config.5#AuthorizedKeysCommand) in OpenSSH daemon configuration file. {% hint style="info" %} Each user can manage their public SSH (and GPG keys) in their user profile. Also, when provisioning YubiKeys - those keys are also available in user profile (with info on which YK they are stored): -![](../../.gitbook/assets/yk.png) + {% endhint %} The specific API endpoint used for this is `/api/v1/ssh_authorized_keys`. It returns a list of public keys, each in a new line. It allows you to filter you query by specifying a username, a group or a combination of both. diff --git a/user-snat-bindings.md b/features/user-snat-bindings.md similarity index 93% rename from user-snat-bindings.md rename to features/user-snat-bindings.md index 1e6f4dd..e2ed3cd 100644 --- a/user-snat-bindings.md +++ b/features/user-snat-bindings.md @@ -1,7 +1,7 @@ # User SNAT bindings {% hint style="warning" %} -This is an enterprise feature. To use it, purchase our [enterprise license](enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](enterprise/license.md#enterprise-is-free-up-to-certain-limits). +This is an enterprise feature. To use it, purchase our [enterprise license](../enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](../enterprise/license.md#enterprise-is-free-up-to-certain-limits). {% endhint %} {% hint style="info" %} diff --git a/admin-and-features/wireguard/README.md b/features/wireguard/README.md similarity index 100% rename from admin-and-features/wireguard/README.md rename to features/wireguard/README.md diff --git a/admin-and-features/wireguard/behavior-customization.md b/features/wireguard/behavior-customization.md similarity index 93% rename from admin-and-features/wireguard/behavior-customization.md rename to features/wireguard/behavior-customization.md index f18ef9d..c00e5f3 100644 --- a/admin-and-features/wireguard/behavior-customization.md +++ b/features/wireguard/behavior-customization.md @@ -6,7 +6,7 @@ This is an enterprise feature. To use it, purchase our [enterprise license](../. After purchasing the Enterprise License the _Enterprise features_ **tab will be activated**, enabling the administrator to configure additional features: -

Additional Enterprise Features

+
### Disable for users to manage their devices diff --git a/admin-and-features/wireguard/create-your-vpn-network.md b/features/wireguard/create-your-vpn-network.md similarity index 92% rename from admin-and-features/wireguard/create-your-vpn-network.md rename to features/wireguard/create-your-vpn-network.md index 88a4407..39e9f93 100644 --- a/admin-and-features/wireguard/create-your-vpn-network.md +++ b/features/wireguard/create-your-vpn-network.md @@ -1,6 +1,6 @@ # Create/Manage VPN Location -A VPN location is a VPN network to which users can connect to. Every location has a [dedicated gateway](../../deployment-strategies/gateway/) (or [multiple gateways if you deploy a high-availability solution](../../deployment-strategies/high-availability-and-failover.md#gateway-high-availability)). +A VPN location is a VPN network to which users can connect to. Every location has a [dedicated gateway](../../deployment-strategies/gateway.md) (or [multiple gateways if you deploy a high-availability solution](../../deployment-strategies/high-availability-and-failover.md#gateway-high-availability)). {% hint style="success" %} Defguard supports **multiple locations**, for each location to work you need to configure it and deploy a dedicated gateway. @@ -104,7 +104,7 @@ By defining a group, assigning users to that group and then choosing this group( By enabling this setting, this location **will require Multi-Factor Authentication** on each connection to this location. {% hint style="danger" %} -This feature is only supported in [**Defguard Desktop Client**](../../help/desktop-client/)**.** +This feature is only supported in [**Defguard Desktop Client**](../../using-defguard-for-end-users/desktop-client/)**.** {% endhint %} Each connection in the client: @@ -115,15 +115,15 @@ Each connection in the client: {% hint style="warning" %} For this feature to work, the user must: -1. configure their [TOTP settings in the profile](../../help/setting-up-2fa-mfa.md#one-time-password) -2. [SMTP settings needs to be set up](../../notifications/setting-up-smtp-for-email-notifications.md) and the user must enable Email tokens in their profile. +1. configure their [TOTP settings in the profile](../../using-defguard-for-end-users/setting-up-2fa-mfa.md#one-time-password) +2. [SMTP settings needs to be set up](../notifications/setting-up-smtp-for-email-notifications.md) and the user must enable Email tokens in their profile. {% endhint %} #### Keep alive interval Configurable time interval (in seconds) used to send periodic packets to ensure that the connection remains active. This is particularly useful in environments like NAT (Network Address Translation) or firewalls that may close idle connections. -**Peer disconnect threshold** +#### **Client disconnect threshold** Since Multi-Factor Authentication (MFA) is used to enforce zero-trust security, a peer (user) that remains inactive for a specified time interval (defined in seconds within the settings) will be disconnected. Additionally, the session configuration will be removed from the gateway. This ensures that when the peer reconnects, they must complete the MFA process again. diff --git a/admin-and-features/wireguard/dns-and-domains.md b/features/wireguard/dns-and-domains.md similarity index 68% rename from admin-and-features/wireguard/dns-and-domains.md rename to features/wireguard/dns-and-domains.md index 2a8cf0c..8e7c912 100644 --- a/admin-and-features/wireguard/dns-and-domains.md +++ b/features/wireguard/dns-and-domains.md @@ -8,4 +8,4 @@ To change / add DNS settings or a DNS search domain: For example: -
+
diff --git a/admin-and-features/wireguard/executing-custom-gateway-commands.md b/features/wireguard/executing-custom-gateway-commands.md similarity index 100% rename from admin-and-features/wireguard/executing-custom-gateway-commands.md rename to features/wireguard/executing-custom-gateway-commands.md diff --git a/features/wireguard/multi-factor-authentication-mfa-2fa/README.md b/features/wireguard/multi-factor-authentication-mfa-2fa/README.md new file mode 100644 index 0000000..4ee03c8 --- /dev/null +++ b/features/wireguard/multi-factor-authentication-mfa-2fa/README.md @@ -0,0 +1,68 @@ +--- +description: >- + Defguard is the sole VPN solution that genuinely implements Multi-Factor + Authentication (MFA) before a WireGuard® VPN connection is established, + significantly enhancing security against cyberattacks. +--- + +# Multi-Factor Authentication (MFA/2FA) + +## TL;DR; + +* MFA (Multi-Factor Authentication) is a method of securing IT systems that requires the user to confirm their identity using at least two or more independent verification factors. +* MFA during a VPN connection requires the user to authenticate in the VPN client with two or more factors **before the connection can be established**. +* Defguard is the **only solution that enables MFA for WireGuard® VPN connections.** +* MFA is a widely overused marketing term for many (if not all) WireGuard®-based VPN solutions. In most other cases, it simply refers to **2FA for accessing the configuration panel or performing the initial client setup, and no MFA during connection stage**. + +## What Multi-Factor Authentication actually is? + +MFA (Multi-Factor Authentication) is a method of securing IT systems that requires the user to confirm their identity using at least two or more independent verification factors. + +There are three main categories of MFA: + +* Something a user knows: e.g., password, PIN, or answer to a security question. +* Something a user has: a physical token, smartphone, authenticator app generating one-time codes, or a security key. +* Something a user is: biometric data such as a fingerprint, face scan, or voice recognition + +IT systems build authentication methods using those three areas and leverage them to secure operations done on the system (logging in into the system, establishing a connection, etc.). + +## How Defguard handles MFA? + +Defguard is a unique VPN solution that can be configured to use either: + +1. [**internal**](internal-sso-based-mfa.md) **- based on** [**built-in IdP/SSO**](../../openid-connect/) - where users in Defguard profile manage their MFA methods (TOTP, Email, Mobile Biometry) and then use them to establish a VPN connection, +2. [**external**](external-sso-based-mfa.md) **- using** [**cloud IdP/SSO**](../../external-openid-providers/) **providers** such as [Google](../../external-openid-providers/google.md), [Microsoft](../../external-openid-providers/microsoft.md), [Okta](../../external-openid-providers/okta.md), [Jumpcloud](../../external-openid-providers/jumpcloud.md) (and others) to authorize each connection using those providers in Defguard desktop/mobile before the connection can be established. + +In addition, when establishing a VPN connection, **Defguard enforces extra security measures** (including additional MFA steps in the user has category). It first securely establishes session keys (WireGuard® pre-shared keys), and only then configures the VPN location (our VPN gateway). The connection is possible to establish only with a device that has successfully passed the full authorization flow, enabling it to connect using its WireGuard® private/public keys and session keys. + +Defguard also **supports multiple VPN locations (multiple VPNs), each of which can be configured independently to use either internal or external MFA**. + +### Multi device MFA + +Some of Defguard’s MFA methods are even more sophisticated, such as establishing a VPN connection using mobile biometric authentication in the desktop client. This method requires: + +User prerequisites (something a user has in terms of MFA terminology): + +* A private WireGuard® key corresponding to the public key configured during the Defguard enrollment session. +* A mobile device successfully enrolled and added to the user profile (as a second VPN device). +* Private keys in the mobile device’s secure key store, generated during the mobile device enrollment process, which are accessible only via the device’s biometric authentication.
+ +Extended MFA flow using two devices: + +1. Scan the QR code displayed in the desktop app using the enrolled mobile device. +2. Perform MFA using the biometric authentication and private/public key pair, which is only accessible after successful biometric verification. +3. Only after these steps can the remaining Defguard flow, as described above, proceed. + +## Why MFA for each connection Is not only Important but necessary + +The main purpose of MFA is to strengthen security by acting as a highly effective barrier against cyberattacks such as phishing or brute-force attacks. With an effective MFA implementation, even if an attacker gains access to a user’s basic credentials (in WireGuard®’s case, typically the private key stored on the device), they will still be unable to connect to the VPN without the additional factor(s). This prevents access to critical private network resources and applications, blocking further exploitation and greatly reducing the risk of unauthorized access. + + + +This means that relying on external SSO only for the initial device configuration is not sufficient to provide security in today’s environment. Even worse, marketing a VPN solution as providing MFA under these circumstances is highly misleading and potentially harmful to user security. + +\ +
+ + + diff --git a/features/wireguard/multi-factor-authentication-mfa-2fa/external-sso-based-mfa.md b/features/wireguard/multi-factor-authentication-mfa-2fa/external-sso-based-mfa.md new file mode 100644 index 0000000..c8d92af --- /dev/null +++ b/features/wireguard/multi-factor-authentication-mfa-2fa/external-sso-based-mfa.md @@ -0,0 +1,46 @@ +# External SSO based MFA + +In order to enable the External MFA authentication: + +1. Your instance **must have** [external OIDC/SSO configured](../../external-openid-providers/). +2. Select the VPN Location from the dropdown list on the Network Overview, and pressing the **Edit Location** button in the top right corner of the page. +3. Select the External MFA in the menu. + +
+ +#### Client disconnect threshold + +When MFA is enabled on a location, Defguard periodically (currently every **1 minute**) checks statistics if a client is connected and if the period of inactivity (defined in this option) is met, a client is disconnected. + +Thus, the gateway needs to be configured to send statistics in that period. + +{% hint style="info" %} +We recommend to set: + +* Gateway to send statistics every 30sec +* Peer disconnect threshold we recommend it to be min. 300 (5 min) +{% endhint %} + +### Testing MFA on Defguard client + +When a location has External MFA enabled, after clicking Connect in the Desktop client ([here you can find information about Mobile Client External MFA](../../../using-defguard-for-end-users/mobile-client/instance-connect.md#external-mfa)), there will be information displayed about authentication requirement: + +
+ +In order to authenticate the user will be prompted to click on Authenticate with your configured OIDC (like Authenticate with Google) - which will open the browser and start the authentication session with your OIDC/SSO provider by the [Defguard Enrollment ](../../../using-defguard-for-end-users/enrollment/)service (which is the only public component). + +After successful authentication, the user will be informed by the enrollment service like so: + +
+ +And the VPN should be connected. + +Video describing whole process: + +{% embed url="https://www.youtube.com/embed/81MH7VXmHR0" %} + +## Biometry as an internal MFA method + +Users can use biometry as an internal MFA method on their mobile devices. If a device has configured biometry as an MFA method, you will see ![](<../../../.gitbook/assets/Screenshot 2025-08-18 at 13.56.49.png>) icon, next to the device name. + +
diff --git a/features/wireguard/multi-factor-authentication-mfa-2fa/internal-sso-based-mfa.md b/features/wireguard/multi-factor-authentication-mfa-2fa/internal-sso-based-mfa.md new file mode 100644 index 0000000..763afcb --- /dev/null +++ b/features/wireguard/multi-factor-authentication-mfa-2fa/internal-sso-based-mfa.md @@ -0,0 +1,59 @@ +# Internal SSO based MFA + +Enabling Internal MFA for a desired VPN Location is done by: + +1. Going into Defguard to **VPN Overview** +2. Selecting the VPN Location from the dropdown list, and pressing the **Edit Location** button in the top right corner of the page +3. Check the "**Internal MFA**" checkbox under the **MFA requirement** section +4. Set **peer disconnect threshold**, we recommend it to be min. 300 (5 min) - see chapter [below](internal-sso-based-mfa.md#peer-disconnect-threshold). +5. And **save changes**. + +
+ +### Peer disconnect **threshold** + +When MFA is enabled on a location, Defguard periodically (currently every **1 minute**) checks statistics if a client is connected and if the period of inactivity (defined in Peer disconnect threshold option) is met, a client is disconnected. + +Thus, the gateway needs to be configured to send statistics in that period. + +
+ +We recommend to set: + +* gateway to send statistics every 30sec +* Peer disconnect threshold we recommend it to be min. 300 (5 min) + +### Client update after enabling MFA + +{% hint style="warning" %} +When MFA configuration is changed, all clients must do an [Instance Update](../../../using-defguard-for-end-users/desktop-client/instance-configuration.md#updating-instance). +{% endhint %} + +### Testing MFA on Defguard client + +If a VPN has MFA enabled, before connecting you will be asked to complete the authentication step first: + +

MFA in Defguard desktop client

+ +### Supported MFA methods + +For now, MFA is only available with the following methods: + +* [TOTP - Time-based one-time password](../../../using-defguard-for-end-users/setting-up-2fa-mfa.md#one-time-password) +* Email - requires [SMTP to be configured](../../notifications/setting-up-smtp-for-email-notifications.md) + +{% hint style="warning" %} +Please remember to configure TOTP on you user account and/or SMTP settings for MFA on the desktop client to work.. +{% endhint %} + +### User MFA setup + +After enabling MFA for a given VPN, users will need to enable MFA for their accounts to be able to connect. This process is described in [setting-up-2fa-mfa.md](../../../using-defguard-for-end-users/setting-up-2fa-mfa.md "mention"). For simplicity & security, the desktop client uses the same MFA methods as the Defguard server. + +An error message will be shown if users attempt to select an MFA method that has not been enabled for their accounts: + +
+ +### Successful authentication + +If authentication succeeds, the VPN two-factor authentication modal will be closed and connection to the selected VPN will be attempted. Users will be asked to authenticate on every connection to a VPN with MFA enabled. diff --git a/admin-and-features/wireguard/network-overview.md b/features/wireguard/network-overview.md similarity index 100% rename from admin-and-features/wireguard/network-overview.md rename to features/wireguard/network-overview.md diff --git a/admin-and-features/wireguard/remote-desktop-activation.md b/features/wireguard/remote-desktop-activation.md similarity index 69% rename from admin-and-features/wireguard/remote-desktop-activation.md rename to features/wireguard/remote-desktop-activation.md index fac7821..3de9bba 100644 --- a/admin-and-features/wireguard/remote-desktop-activation.md +++ b/features/wireguard/remote-desktop-activation.md @@ -7,12 +7,12 @@ description: How to manually generate token for user as an administrator. This process enables system **administrators** to create and distribute desktop **activation tokens to users facing access issues to the Defguard instance**. It's handy if a user is already enrolled (has an account) but has not configured the desktop client and doesn't have access to Defguard (is outside the internal network and can't access Defguard). {% hint style="info" %} -Users can activate / configure their desktop client themselves - for that documentation please go to: [Adding an instance in the client documentation](../../help/desktop-client/instance-configuration.md). +Users can activate / configure their desktop client themselves - for that documentation please go to: [Adding an instance in the client documentation](../../using-defguard-for-end-users/desktop-client/instance-configuration.md). {% endhint %} Navigate to the user's list page. -
+
Select "Configure Desktop Client" from the action menu. @@ -24,8 +24,13 @@ This option is only available if the instance has at least one localization, and You will be presented with a choice to send an activation token via email or you can choose to just display the token and deliver it through other methods. -
+
-After receiving the token, the user will need to follow the activation process in the client. You can find out more about it in [#adding-instance](../../help/desktop-client/instance-configuration.md#adding-instance "mention"). +After receiving the token, the user will need to follow the activation process in the client. You can find out more about it in [#adding-instance](../../using-defguard-for-end-users/desktop-client/instance-configuration.md#adding-instance "mention"). + +This token also allows for updating information, read more about it in [#updating-instance](../../using-defguard-for-end-users/desktop-client/instance-configuration.md#updating-instance "mention"). + +Here is a video describing whole process: + +{% embed url="https://www.youtube.com/embed/KdyZoAlBb9k" %} -This token also allows for updating information, read more about it in [#updating-instance](../../help/desktop-client/instance-configuration.md#updating-instance "mention"). diff --git a/admin-and-features/yubikey-provisioning.md b/features/yubikey-provisioning.md similarity index 96% rename from admin-and-features/yubikey-provisioning.md rename to features/yubikey-provisioning.md index 793cc21..59d9d61 100644 --- a/admin-and-features/yubikey-provisioning.md +++ b/features/yubikey-provisioning.md @@ -88,7 +88,7 @@ This path describes how the admin can provision a key for a user, but the same p You can see available clients in Defguard web-application under "provisioners" tab. -
+
To provision the key: @@ -96,10 +96,10 @@ To provision the key: 2. Insert a YubiKey to machine that is running the provisioner client. 3. Select "Add YubiKey" from the actions menu for a User in the list. -
+
4. Select your provisioner and click the "Provision YubiKey" button. -
+
The service will take a short moment to prepare and provision your keys. Once the process is done, the modal will close, and you will see a notification in the corner of the screen. diff --git a/for-developers/dev-env-setup/README.md b/for-developers/dev-env-setup/README.md index 4821549..d9a7efd 100644 --- a/for-developers/dev-env-setup/README.md +++ b/for-developers/dev-env-setup/README.md @@ -106,7 +106,7 @@ cargo run ### Minimum required settings -Consult [Configuration](../../configuration.md) manual for a list of all available configuration settings. +Consult [Configuration](../../deployment-strategies/configuration.md) manual for a list of all available configuration settings. * `DEFGUARD_COOKIE_INSECURE=true` - running HTTP server locally does not need secured cookies * `DEFGUARD_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` - 64-character long security key diff --git a/for-developers/dev-env-setup/translations-web/README.md b/for-developers/dev-env-setup/translations-web/README.md index 615ee27..8d3f71a 100644 --- a/for-developers/dev-env-setup/translations-web/README.md +++ b/for-developers/dev-env-setup/translations-web/README.md @@ -1,4 +1,4 @@ -# Translations (web) +# Translations (core/web) Frontend translations are using [typesafe-i18n](https://github.com/ivanhofer/typesafe-i18n) library. diff --git a/getting-started/one-line-install.md b/getting-started/one-line-install.md index 8e1d4df..3cb42f5 100644 --- a/getting-started/one-line-install.md +++ b/getting-started/one-line-install.md @@ -151,14 +151,9 @@ After the installation, please make sure that **only the following ports are ope * VPN server port (eg. WireGuard port) {% hint style="danger" %} -**DO NOT EXPOSE PUBLICLY THE gRPC ports of the core gateway and proxy, which are:** - -* 50052 -* 50055 +Do not publicly expose the gRPC port of the Core service (50055). {% endhint %} -Also, this setup provides only communication encryption between Defguard components, if you additionally like for core/proxy and gateway to have authorization - [please set up a custom SSL CA](../deployment-strategies/grpc-ssl-communication.md#custom-ssl-ca-and-certificates). - ## Advanced deployment strategies For more advanced deployment strategies, go to our [deployment strategies section](../deployment-strategies/setting-up-your-instance.md). diff --git a/health-check.md b/health-check.md deleted file mode 100644 index 69b43ef..0000000 --- a/health-check.md +++ /dev/null @@ -1,72 +0,0 @@ -# Health check - -## Core & Proxy - -### Rest API - -[Core](https://github.com/defguard/defguard) and [Proxy](https://github.com/defguard/proxy) provides health endpoint at `GET /api/v1/health` which checks whether the application server is running. - -Example request: - -```bash -curl "https://defguard.example.com/api/v1/health" -``` - -Example response: - -``` -alive -``` - -### gRPC status health - -#### Proxy (available from v0.6.0) - -To verify gRPC services for **Proxy** are alive, there is endpoint at `GET /api/v1/health-grpc` that verify it. - -Example request: - -```bash -curl "https://enroll.example.com/api/v1/health-grpc" -``` - -Possible responses: - -``` -200 - Proxy is working and is connected to CORE -503 - Proxy works but is not connected to CORE -``` - -#### Core (available from v1.0.0) - -To check if core gRCP service is alive, we recommend to use community tools like [grpc\_health\_probe](https://github.com/grpc-ecosystem/grpc-health-probe). - -Example request for core: - -```sh -./grpc_health_probe -addr=defguard.example.com:50055 -``` - -Example response for core: - -``` -status: SERVING -``` - -## Gateway - -You can enable in gateway config ([example config](https://github.com/DefGuard/gateway/blob/main/example-config.toml)) a health check port, by adding the following line: - -``` -health_port = 55003 -``` - -In this example, gateway will open an additional HTTP port number 55003 and will return the following HTTP status codes: - -*
200 - Gateway is working and is connected to CORE
-  
-* ``` - 503 - gateway works but is not connected to CORE - ``` - -By default no healthcheck ports are open. diff --git a/help/mobile-client/README.md b/help/mobile-client/README.md deleted file mode 100644 index 9ab58ad..0000000 --- a/help/mobile-client/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Mobile Client - -{% hint style="warning" %} -Mobile client is currently under development and are in **beta**, current page should be considered as preview. Some parts of UI may look different in upcoming release. -{% endhint %} - -### Installation - -1. Join closed beta for [iOS](https://testflight.apple.com/join/Jvdhkt7h) or [Android](https://play.google.com/store/apps/details?id=net.defguard.mobile). -2. Download and install the app on your device. - -### Guides - -These guides explains how to use the Defguard Mobile to connect securely to VPN locations within your Defguard instance. It covers the entire process, from installation, adding new instances, connecting to locations, to managing your VPN connection settings. - -* [Instance adding guide](instance-adding.md#adding-instance-during-enrollment) -* [Connecting to Instance guide](instance-connect.md#connecting-to-instance) -* [Managing Instance guide](instance-manage.md#managing-your-instance) diff --git a/in-depth/Untitled Diagram.drawio b/in-depth/Untitled Diagram.drawio deleted file mode 100644 index 0ce3163..0000000 --- a/in-depth/Untitled Diagram.drawio +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/in-depth/architecture/README.md b/in-depth/architecture/README.md index 69e2951..f6956f3 100644 --- a/in-depth/architecture/README.md +++ b/in-depth/architecture/README.md @@ -1,42 +1,70 @@ # Architecture -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:** +## Design Principles -

Defguard architecture

+Defguard is a zero-trust, VPN-centric access platform built on WireGuard®. Its design cleanly separates the control plane (Core) from the data plane (Gateways) and exposes a minimal public surface (Gateway for VPN; Proxy for secure web flows). Administrative and identity-sensitive services remain off the public internet, behind controlled network boundaries. -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 on the Internet for any attacker. +
-If you want full privacy, Defguard only exposes publicly **components designed for this purpose:** +### **Separation of Concerns** -* WireGuard® gateway - to enable VPN access -* Public Proxy for secure remote processes like: - * [User enrollment and onboarding](../../admin-and-features/remote-user-enrollment/) - * [Desktop Client configuration](../../admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md) +Each Defguard component serves a distinct purpose, ensuring clear functional isolation: -## C4 component model +* The Core operates as the _control plane_: storing state, enforcing policy, and managing users and devices. +* The Gateway serves as the _data plane_: forwarding traffic, enforcing ACLs, and maintaining local operational independence. +* The Proxy acts as a _secure edge layer_: handling user-facing traffic and offloading authentication flows. -Below you can see Defguard architecture in [C4 model](https://c4model.com/) divided into context, containers and components. +This modular architecture simplifies scaling, security audits, and upgrades. -## Context +### **Minimize Exposure** -![Context look at Defguard architecture](../puml/architecture-context.svg) +Defguard is designed around the principle of least exposure — only the absolutely necessary components are reachable from the public internet. -## Containers +* The Proxy is the _only_ component exposing a public HTTPS interface. +* The Gateway exposes only a single UDP port for WireGuard connections. +* The Core, database, and identity integrations (OIDC, LDAP, etc.) remain entirely private, accessible only from trusted networks. -![Containers look at Defguard architecture](../puml/architecture-containers.svg) +This ensures the smallest possible attack surface while still supporting remote enrollment, authentication, and VPN connectivity. -## Components +### **Defense in Depth** -![Components look at Defguard architecture](../puml/architecture-components.svg) +Every communication layer is protected by redundant and complementary security mechanisms: -### Basics +* All internal API traffic uses gRPC (recommended over TLS). +* Firewall rules restrict network flows to specific IPs and ports. +* Sensitive services (Core, DB) are deployed in private network segments inaccessible from the internet. -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](../../configuration.md). +This layered approach reduces the blast radius of any potential compromise. + +### **Zero-Trust Posture** + +Defguard adopts a zero-trust philosophy: no implicit trust is given to users, devices, or networks. + +* Access is always authenticated and authorized dynamically. +* Multi-Factor Authentication (MFA) is supported natively for VPN connections via per-location pre-shared keys (PSKs) that serve as one-time authorization tokens. +* Device enrollment and configuration are bound to verified identities and can be revoked or rotated at any time. + +This model ensures that even within an established tunnel, every access decision remains policy-driven and verifiable. + +### **Graceful Degradation** + +The platform is built for resilience and autonomy: + +* Gateways cache configuration and continue to operate even if the Core becomes temporarily unavailable. +* Core services remain functional (e.g., OpenID login, admin operations) if a Gateway is offline. +* Gateways report state deltas to the Core when connectivity is restored, ensuring accurate statistics and consistency. + +This approach prevents downtime during transient network or control-plane failures. + +### **Observability and Auditability** + +Security and reliability rely on visibility. Defguard provides built-in observability and audit mechanisms: + +* Gateways periodically send metrics and peer statistics to the Core for dashboards and alerts. +* Every administrative action (e.g., user addition, configuration change) is logged for traceability. +* Logs and metrics can be exported to external monitoring systems (SIEM, Prometheus, etc.) for centralized analysis. + +Continuous visibility ensures operational awareness and compliance with audit requirements. -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.\ -Our frontend is React app written in Typescript which allows handling all API calls via Web UI.\ -See detailed gRPC docs [here](https://google.com). -### Example setup flow -After creating your network in our wizard and running our gateway program core will message it with network data. Gateway after receiving data will set up 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. diff --git a/admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/architecture.md b/in-depth/architecture/architecture.md similarity index 95% rename from admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/architecture.md rename to in-depth/architecture/architecture.md index 7767245..50a8715 100644 --- a/admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/architecture.md +++ b/in-depth/architecture/architecture.md @@ -18,7 +18,7 @@ In typical REST API terms, the pre-shared key can be thought of as an analogue t To enable MFA functionality, Desktop Client uses the [proxy](https://github.com/DefGuard/proxy) to bridge communication between itself and Defguard Core. Below is a diagram of the authorization process that is performed each time the Client initiates a connection to an MFA-enabled location: -
+
## Disconnecting peers diff --git a/in-depth/defguard-architecture.png b/in-depth/defguard-architecture.png deleted file mode 100644 index 19f31c5..0000000 Binary files a/in-depth/defguard-architecture.png and /dev/null differ diff --git a/in-depth/defguard-simple.drawio b/in-depth/defguard-simple.drawio deleted file mode 100644 index 8faa0b5..0000000 --- a/in-depth/defguard-simple.drawio +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/in-depth/defguard.drawio b/in-depth/defguard.drawio deleted file mode 100644 index 72b40e6..0000000 --- a/in-depth/defguard.drawio +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/in-depth/puml/architecture-components.puml b/in-depth/puml/architecture-components.puml deleted file mode 100644 index 6a264a2..0000000 --- a/in-depth/puml/architecture-components.puml +++ /dev/null @@ -1,41 +0,0 @@ -@startuml -title Defguard architecture - components -!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml - -System_Ext(wireguard, "Wireguard server", "Provides VPN functionality") -Container(web_app, "Defguard web application", "React, Typescript", "Provides UI for user") -System_Boundary(c1, "Community", "Core server") { - Container(mfa, "MFA web app", "React, Typescript", "Provides UI for MFA login solution") - Container(core_server, "API gateway", "Rust", "Performs authentication and caching, load balances to specific services") - Container(gateway, "Gateway client", "Rust", "Allows to manage wireguard server from defguard") - Container(webhooks, "Webhooks","Rust", "Provides outgoing webhooks mechanism") - Container(web3, "Web3", "Provides integration with web 3 functionalities") - Container(mfa_backend, "MFA backend", "Rust", "Provides REST API for MFA web app") - Container(grpc_server, "GRPC server", "Rust", "Provides GRPC connection for Gateway and YubiBridge") - ContainerDb(db, "Database", "PostgreSQL", "Stores all platform data") -} -System_Boundary(c2, "Enterprise",) { - Container(openid, "OpenID provider", "Rust", "Provides Login with Defguard functionality in trusted apps") - Container(yubibridge, "Yubi-Bridge", "Python", "Allows to create PGP keys based on user data from Defguard and transfer them to YubiKey") - Container(ldap, "OpenLDAP synchronization", "Provide OpenLDAP sync functionality") - Container(oauth2, "OAuth2", "Provides OAuth2 functionality") -} -System_Ext(ldap_server, "OpenLDAP server", "") -Rel(core_server, ldap, "Uses", "", "") -Rel(web_app, mfa, "Uses", "REST") -Rel(web_app, web3, "Uses", "REST") -Rel(core_server, web3, "Uses", "", "") -Rel(web_app, core_server, "Uses", "REST") -Rel(mfa, core_server, "Uses", "REST") -Rel(mfa, mfa_backend, "Uses", "REST") -Rel(core_server, mfa_backend, "Uses", "") -Rel(core_server, webhooks, "Uses", "") -Rel(core_server, grpc_server, "Uses", "") -Rel(core_server, oauth2, "Uses", "") -Rel(core_server, openid, "Uses", "") -Rel(ldap, ldap_server, "Uses", "HTTPS") -Rel(gateway, grpc_server, "Uses", "GRPC","") -Rel(gateway, wireguard, "Uses", "", "") -Rel(core_server, db, "Uses", "SQL", "") -Rel(yubibridge, grpc_server, "Uses", "GRPC", "") -@enduml diff --git a/in-depth/puml/architecture-containers.puml b/in-depth/puml/architecture-containers.puml deleted file mode 100644 index 43da9c5..0000000 --- a/in-depth/puml/architecture-containers.puml +++ /dev/null @@ -1,21 +0,0 @@ -@startuml -title Defguard architecture - containers -!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml - -Person(user, "User", "Defguard user") -System_Boundary(c1, "Defguard web platform") { - Container(mfa, "MFA login", "React, Typescript", "Provides UI for MFA login solution") - Container(core_server, "Core server", "Rust", "Provides REST API for MFA, network managment, users, etc.") - Container(gateway, "Gateway client", "Rust", "Allows to manage wireguard server from defguard") - Container(web_app, "Defguard web application", "React, Typescript", "Provides UI for user") - ContainerDb(db, "Database", "PostgreSQL", "Stores all platform data") - Container(yubibridge, "Yubi-Bridge", "Python", "Allows to create PGP keys based on user data from Defguard and transfer them to YubiKey") -} -Rel(user, mfa, "Uses", "HTTPS", $tags="firewall") -Rel(user, web_app, "Uses", "HTTPS", $tags="firewall") -Rel(web_app, core_server, "Uses", "REST") -Rel(mfa, core_server, "Uses", "REST") -Rel(gateway, core_server, "Uses", "GRPC","") -Rel(core_server, db, "Uses", "SQL", "Reads from and writes to") -Rel(yubibridge, core_server, "Uses", "GRPC", "Reads user data to provision YubiKey") -@enduml diff --git a/in-depth/puml/architecture-context.puml b/in-depth/puml/architecture-context.puml deleted file mode 100644 index 70a5fbf..0000000 --- a/in-depth/puml/architecture-context.puml +++ /dev/null @@ -1,22 +0,0 @@ -@startuml -title Defguard architecture - context -!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Container.puml -Person(user, "User", "Defguard user") -Person(admin, "Administrator", "Manages users and network have access to network overview and network usage by user") -System(web, "Defguard", "Allows interacting with core server and handles all functionality") -System(mfa, "MFA login", "Confirm multi-factor authentication using TOTP - Google authenticator, Web3, WebAuthn/FIDO2 ") -System_Ext(wireguard, "Gateway client", "Provides VPN functionality") -System_Ext(ldap, "LDAP server", "Provides LDAP sync functionality") -System(yubibridge, "YubiBridge", "Provides YubiKey provision functionality") -SystemDb(database, "PostgreSQL") - -Rel(admin, web, "Uses", "HTTPS", $tags="firewall") -Rel(admin, mfa, "Uses", "HTTPS", $tags="firewall") -Rel(user, web, "Uses", "HTTPS", $tags="firewall") -Rel(user, mfa, "Uses", "HTTPS", $tags="firewall") -Rel(web, ldap, "Uses", "HTTPS", "Authenticate using current session user and manage data") -Rel(web, wireguard, "Uses", "GRPC", "Authenticate using JWT") -Rel(web, mfa, "Uses", "REST", "") -Rel(web, database, "Uses", "SQL") -Rel(yubibridge, web, "Uses", "GRPC", "Authenticate using JWT and fetch job with user data") -@enduml diff --git a/in-depth/puml/openid-flow.puml b/in-depth/puml/openid-flow.puml deleted file mode 100644 index 763f2c9..0000000 --- a/in-depth/puml/openid-flow.puml +++ /dev/null @@ -1,26 +0,0 @@ -@startuml openid flow -title Openid Flow -actor Actor as actor -actor -> Client: Sign in with defguard -Client -> DG_BACKEND: Redirect on api/v1/oauth/authorize url with client parameters -DG_BACKEND -> DG_BACKEND: Check if user is authorized -alt user unauthorized -DG_BACKEND -> DG_FRONTEND: Redirect to login page -DG_FRONTEND -> DG_BACKEND: Authorize user api/v1/auth/login -DG_BACKEND -> DG_BACKEND: Check if MFA enabled for user -alt user mfa enabled -DG_BACKEND -> DG_FRONTEND: return MFA info with 201 status code -DG_FRONTEND -> DG_BACKEND: MFA request -DG_BACKEND -> DG_BACKEND: Validate MFA -end -end -DG_BACKEND -> DG_BACKEND: Check if user authorized client before -alt Client unauthorized by user -DG_BACKEND -> DG_FRONTEND: 302 Redirect to consent -DG_FRONTEND -> DG_BACKEND: Authorization and consent api/v1/oauth/authorize -end -DG_BACKEND -> DG_BACKEND: Validate client id, scopes and redirect url -DG_BACKEND -> Client: 302 Redirect with authorization code on client specified redirect url -Client -> DG_BACKEND: Send authorization code and state using POST method to api/v1/oauth/token -DG_BACKEND -> Client: ID Token, Access token, Refresh token -@enduml \ No newline at end of file diff --git a/features/roadmap.md b/in-depth/roadmap.md similarity index 100% rename from features/roadmap.md rename to in-depth/roadmap.md diff --git a/in-depth/statistics.md b/in-depth/statistics.md deleted file mode 100644 index 68bfe6a..0000000 --- a/in-depth/statistics.md +++ /dev/null @@ -1,6 +0,0 @@ -# Statistics - -Defguard uses gateway service to store and display VPN usage statistics. See [architecture overview](architecture.md) -for details of core-gateway interaction. - -Once your gateway service is up and diff --git a/integrations/api-tokens.md b/integrations/api-tokens.md deleted file mode 100644 index 1316829..0000000 --- a/integrations/api-tokens.md +++ /dev/null @@ -1,58 +0,0 @@ -# REST API - -{% hint style="warning" %} -This is an enterprise feature. To use it, purchase our [enterprise license](../enterprise/license.md) or ensure that your deployment does not exceed the [usage limits](../enterprise/license.md#enterprise-is-free-up-to-certain-limits). -{% endhint %} - -{% hint style="warning" %} -API functionality: - -1. requires Defguard version 1.2.4+ -2. is also **available without enterprise license**, if your instance does not exceed the limits [described here](../enterprise/license.md#enterprise-is-free-up-to-certain-limits). -{% endhint %} - -## REST API documentation - -You can explore the Defguard REST API using [Swagger UI](https://swagger.io/tools/swagger-ui/) by going to `/api-docs`. - -API specification JSON in OpenAPI format can also be fetched from `/api/v1/api-docs`. - -Admin users can generate API tokens to enable request authentication for custom external tools which use Defguard REST API. - -Tokens retain the same access permissions as their owner, so be careful when sharing them with others. - -## Generating API token - -## Setup - -To generate a new API token, go to your profile page and click the `Add new API Token`button: - -
- -Fill in your chosen token name and submit form: - -
- -Copy generated token. This is the only time the token will be available in plain text form. If you lose it you will have to generate a new one. - -
- -In the API token list you can later rename or delete a token: - -
- -## Usage - -Defguard API uses a standard **Bearer token authentication** scheme. - -This means that an API token can be passed in the `Authorization` header to authenticate a given request instead of a session cookie used by the web UI: - -```bash -Authorization: Bearer -``` - -Example GET request: - -```bash -curl -H "Authorization: Bearer " /api/v1/me -``` diff --git a/releases/0.10/groups.png b/releases/0.10/groups.png deleted file mode 100644 index 155bbe5..0000000 Binary files a/releases/0.10/groups.png and /dev/null differ diff --git a/releases/0.10/ssh-gpg.keys.png b/releases/0.10/ssh-gpg.keys.png deleted file mode 100644 index df4038c..0000000 Binary files a/releases/0.10/ssh-gpg.keys.png and /dev/null differ diff --git a/releases/0.10/yk.png b/releases/0.10/yk.png deleted file mode 100644 index 40c117c..0000000 Binary files a/releases/0.10/yk.png and /dev/null differ diff --git a/releases/0.11/user-disable.png b/releases/0.11/user-disable.png deleted file mode 100644 index b26170b..0000000 Binary files a/releases/0.11/user-disable.png and /dev/null differ diff --git a/releases/0.7/enrollment.png b/releases/0.7/enrollment.png deleted file mode 100644 index 4853fd7..0000000 Binary files a/releases/0.7/enrollment.png and /dev/null differ diff --git a/releases/0.7/enrollment_msg.png b/releases/0.7/enrollment_msg.png deleted file mode 100644 index f450bd2..0000000 Binary files a/releases/0.7/enrollment_msg.png and /dev/null differ diff --git a/releases/0.8/Defguard-Desktop-Client.png b/releases/0.8/Defguard-Desktop-Client.png deleted file mode 100644 index 235be6d..0000000 Binary files a/releases/0.8/Defguard-Desktop-Client.png and /dev/null differ diff --git a/releases/0.8/emails.png b/releases/0.8/emails.png deleted file mode 100644 index 17fd4a3..0000000 Binary files a/releases/0.8/emails.png and /dev/null differ diff --git a/releases/0.8/santa-defguard.jpg b/releases/0.8/santa-defguard.jpg deleted file mode 100644 index 46f7de9..0000000 Binary files a/releases/0.8/santa-defguard.jpg and /dev/null differ diff --git a/releases/0.9/mfa.png b/releases/0.9/mfa.png deleted file mode 100644 index 65e7115..0000000 Binary files a/releases/0.9/mfa.png and /dev/null differ diff --git a/releases/0.9/reset.png b/releases/0.9/reset.png deleted file mode 100644 index bb6f9d7..0000000 Binary files a/releases/0.9/reset.png and /dev/null differ diff --git a/releases/0.9/tunnel.png b/releases/0.9/tunnel.png deleted file mode 100644 index 78e80f5..0000000 Binary files a/releases/0.9/tunnel.png and /dev/null differ diff --git a/screencasts/defguard-screencast.mkv b/screencasts/defguard-screencast.mkv deleted file mode 100644 index 80fcfab..0000000 Binary files a/screencasts/defguard-screencast.mkv and /dev/null differ diff --git a/support-1/how-to-submit-an-issue.md b/support-1/how-to-submit-an-issue.md new file mode 100644 index 0000000..e81eb49 --- /dev/null +++ b/support-1/how-to-submit-an-issue.md @@ -0,0 +1,59 @@ +# How to submit an issue + +## Submitting an issue + +To help us diagnose and resolve problems efficiently, please follow the process below when submitting an issue. + +### 1. Enable debug logging + +Before reproducing the issue, set the log level of **all relevant components** to `DEBUG`.\ +This ensures we capture the necessary details for troubleshooting. + +Here is how you can do it in each component + +* core: use `--log-level debug` option or set `DEFGUARD_LOG_LEVEL` environment variable to `debug` +* gateway: use `--log-level debug` option or set `DEFGUARD_LOG_LEVEL` environment variable to `debug` +* proxy: use `--log-level debug` option or set `DEFGUARD_PROXY_LOG_LEVEL` environment variable to `debug` +* client: use `--log-level debug` option or set `DEFGUARD_LOG_LEVEL` environment variable to `debug` +* `mobile client: select "debug" in "View Application Logs" section` + +### 2. Reproduce the problem + +Reproduce the issue while `DEBUG` logging is enabled.\ +The logs will automatically include: + +* Application version +* Operating system information + +### 3. Collect logs and screenshots + +After reproducing the issue, gather logs from **all relevant components**.\ +Make sure to include **all of them** in your report. + +For UI components, also take screenshots if the issue affects layout, design, or visual behavior. + +{% hint style="warning" %} +Please include only the log entries captured around the time the issue occurred and make sure the logs contain the actual error message.\ +This helps us identify the root cause without having to sift through unnecessary log data. +{% endhint %} + +### 4. Provide steps to reproduce + +In addition to logs, clearly describe how the issue can be reproduced. Include: + +* Description of your deployment strategy +* Exact steps you took +* Expected behavior +* Actual behavior + +### 5. Submit your report + +Go to [Defguard issues page](https://github.com/DefGuard/defguard/issues) and open a new issue. Select appropriate category, whether it's a "Bug report", "Feature request" or a "Security vulnerability". When opening an issue, attach: + +* Logs from all components +* Clear reproduction steps +* Any additional context you think may help (environment details, configuration snippets, etc.) + +## Example submission + +You'll find example issue submission [here](https://github.com/DefGuard/defguard/issues/1542). diff --git a/support-1/server-migration-and-licence-transfer.md b/support-1/server-migration-and-licence-transfer.md new file mode 100644 index 0000000..dbb03e6 --- /dev/null +++ b/support-1/server-migration-and-licence-transfer.md @@ -0,0 +1,39 @@ +# Server migration and licence transfer + +This guide explains how to migrate your Defguard instance to a new server while keeping your licence valid and compliant. + +## Licence information + +Each Defguard licence is bound to a single machine. + +When migrating to a new server, you must ensure that only one active instance is using the same licence key at any given time. + +## Migration scenarios + +### Migration with acceptable downtime (simpler) + +This method is recommended when a short interruption in service is not a problem. + +You will reuse your existing licence key, but you must first stop the old server before activating the new one to ensure licence compliance. + +Steps: + +1. Shut down the old Defguard server. Ensure the old instance is completely stopped before proceeding. +2. Install and configure Defguard on the new server. Use the same licence key from your previous installation. +3. Verify functionality on the new server. Confirm that users can connect and that configuration data is correctly migrated. + +### Migration with zero downtime + +This method allows you to migrate Defguard to a new server without interrupting service. + +It requires a temporary transition licence, which lets both servers run simultaneously for testing and verification before switching over. + +Steps: + +1. Contact the Defguard Sales team at [sales@defguard.net](mailto:sales@defguard.net). Request a 7-day transition licence for migration purposes. +2. Install and configure Defguard on the new server using the transition licence. This allows both servers to temporarily coexist. +3. Test and verify the new setup to ensure all configurations and integrations work correctly. +4. Once verification is complete: + 1. Shut down the old Defguard server. + 2. Replace the transition licence on the new server with your original licence key. + diff --git a/resources/troubleshooting/README.md b/support-1/troubleshooting/README.md similarity index 61% rename from resources/troubleshooting/README.md rename to support-1/troubleshooting/README.md index a1dae45..af7e150 100644 --- a/resources/troubleshooting/README.md +++ b/support-1/troubleshooting/README.md @@ -10,12 +10,13 @@ Before contacting support, please see if the answer cannot be found here: ## Desktop client real-time/auto sync doesn't work -The client communicates with core to initiate the handshake through the secure proxy - which is also the enrollment service - [more details about the architecture here](../../admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/architecture.md) so it's critical it works and is properly configured. +The client communicates with core to initiate the handshake through the secure proxy - which is also the enrollment service - [more details about the architecture here](../../in-depth/architecture/architecture.md) so it's critical it works and is properly configured. Common problems may be: 1. proxy / enrollment isn't working 2. DEFGUARD\_ENROLLMENT\_URL is set incorrectly in core - if set incorrectly the client will try to connect to default URL which is "http://localhost:8080" and MFA will not work. +3. Proxy uses wildcard SSL certificate and the client system does not accept it. Observed on some Linux and Android systems. ## Nothing happens after clicking on "Use authenticator app" in client @@ -52,7 +53,7 @@ If this fails, one may also try installing one of the packages providing the `re ## Client: Failed to parse IP address -
+
This error usually indicates that the client version is outdated and can't communicate with proxy/core services. Try upgrading the desktop client application. @@ -120,7 +121,20 @@ You are probably looking for `DEFGUARD_ENROLLMENT_URL` which is the URL needed t
-Please check [this article](../../configuration.md#enrollment-configuration). +Please check [this article](../../deployment-strategies/configuration.md#enrollment-configuration). + +## Enrollment URL has changed + +If for any reason the Enrollment URL has changed (eg. the domain from: _enroll.company.com_ to _setup.company.com),_ all desktop or mobile aplications needs to be manually updated with the new URL. + +{% hint style="warning" %} +**This manual process including tokens issued by administrator is intentional** – so that neither the user themselves, nor a potential attacker, can manually change the configuration or do so without the user/administrator’s knowledge. +{% endhint %} + +In order to do so: + +* **The administrator** needs to send an update token to each person - [see this documentation page.](https://docs.defguard.net/features/remote-user-enrollment#restarting-enrollment-manually) +* **The user** needs to update manually the Enrollment URL providing also the received token - [see this documentation page](../../using-defguard-for-end-users/desktop-client/). ## How to check if the VPN is working / my VPN is not working @@ -132,7 +146,7 @@ After connecting to VPN you should be able to ping: 10.1.1.1. ### VPN Location settings changed -Check if the VPN location configuration has changed. If it did, and you do not have Enterprise license where real-time config sync is automatic, the user needs to [update their client configuration by updating that instance manually.](../../help/desktop-client/instance-configuration.md#updating-instance) +Check if the VPN location configuration has changed. If it did, and you do not have Enterprise license where real-time config sync is automatic, the user needs to [update their client configuration by updating that instance manually.](../../using-defguard-for-end-users/desktop-client/instance-configuration.md#updating-instance) ### Conflicting networks @@ -185,9 +199,9 @@ From there, what happens to this traffic is the **administrator role.** The most The user tries to sign in to a Defguard instance but gets a 401 response with message "Session is required". -This issue is most likely caused by a misconfigured `DEFGUARD_URL` . Please have a look at the configuration options described in [General configuration](../../configuration.md#general-configuration) documentation. +This issue is most likely caused by a misconfigured `DEFGUARD_URL` . Please have a look at the configuration options described in [General configuration](../../deployment-strategies/configuration.md#general-configuration) documentation. -If you want to access your Defguard instance without TLS (using an `http://` URL), please also make sure you have everything configured according to [Auth cookies configuration](../../configuration.md#auth-cookies-configuration) documentation. +If you want to access your Defguard instance without TLS (using an `http://` URL), please also make sure you have everything configured according to [Auth cookies configuration](../../deployment-strategies/configuration.md#auth-cookies-configuration) documentation. ## User lost access to their 2FA methods @@ -196,3 +210,128 @@ If a user lost their TOTP app or security key and is therefore unable to log in, In order to do this, go to the `Users` page and find the relevant user in the list. Then click on the cog button on the right and select `Disable MFA`. You will be then asked to confirm your choice. It's recommended that after MFA is disabled, the user should configure a new MFA method as soon as possible. + +## Unix socket permission errors when desktop client attempts to connect to VPN on Linux machines + +To secure access to the background service which manages network interfaces (which requires elevated permissions) the Unix socket (`/var/run/defguard.socket`) used for gRPC communication is only accessible for users in the `defguard` group. + +This means that the user who runs the GUI client must belong to this group. An incorrect setup results in `Permission denied` errors when attempting to connect to a VPN location. + +By default the official packages (deb, rpm etc) should handle creating this group and adding the user, but in case of some unexpected errors it can also be done manually by running the following shell commands: + +* check if the `defguard` group exists:
+ + ```bash + $ getent group defguard + defguard:x:988:some_user # this indicated that the group exists and user some_user is a member + + ``` +* if the group does not exist (you get no lines of output for the above command) create it manually:
+ + ```bash + $ sudo groupadd -r defguard + ``` +* add current user to the group:
+ + ```bash + sudo usermod -a -G groupname $USER + ``` +* for the group membership changes to take effect you now need to reboot or log out and back in +* confirm that your user is a member of `defguard` group:
+ + ```bash + id -nG | grep -q defguard && echo "You are a member of defguard group" || echo "You are NOT a member of defguard group" + ``` +* verify that the socket itself has correct permissions:
+ + ```bash + $ ls -l /var/run/defguard.socket + srw-rw---- 1 root defguard 0 Sep 15 15:02 /var/run/defguard.socket + + ``` + +## Unix socket does not exist. Error `No such file or directory (os error 2)` when trying to connect to a location + +The socket file at `/var/run/defguard.socket` is created by the background service used by the client to manage network interfaces. + +This service is usually run as a [systemd service](https://github.com/DefGuard/client/blob/f9c8d36166181aa3363957643baf793ce206043a/resources-linux/defguard-service.service) installed by a relevant package. + +In case an issue occured during installation and the service is not enabled you can do it manually by running the following commands: + +```bash +# Reload systemd to recognize new service file +sudo systemctl daemon-reload + +# Enable service to start on boot +sudo systemctl enable defguard-service + +# Start the service now +sudo systemctl start defguard-service +``` + +## Windows client is unable to connect + +If the Windows client is unable to connect to establish a connection and shows command timeout errors it's useful to look into the application logs in the settings screen or in the [log files](../../using-defguard-for-end-users/desktop-client/#log-files) themselves. + +If the background service logs contain errors similar to `Unable to access interface: No such file or directory` it might indicate that due to some unforeseen combination of factors a tunnel has not been shut down correctly. + +To verify that this is the case open the system service manager and look for any services named `WireGuard Tunnel` + +
+ +If any such services are present, remove them and retry the connection. + +## Desktop client high disk usage + +Some users may experience unusually high disk activity from the Defguard desktop client, even when the app appears idle. This is almost always caused by SQLite performing full-table scans on large statistics tables. + +### **1. Check Your Client Version** + +The fix for the original table-scan problem was introduced in **v1.5.2**. + +**Steps:** + +* Open Defguard Desktop +* Look at the **bottom-left corner** → confirm the version is ≥ **v1.5.2** +* If not, download the latest version: [https://defguard.net/download/](https://defguard.net/download/) + +### **2. Check the Database Size** + +If the stats purge mechanism is not working correctly or heavy usage generates too much data, the database can grow very large. + +**Location of the DB file: `C:\Users\AppData\Roaming\net.defguard\defguard.db`** + +**Typical sizes:** + +* Normal usage: a few MB +* Problematic: tens or hundreds of MB (e.g., 50–200 MB) + +### **3. Temporary Workarounds** + +{% hint style="danger" %} +Before trying any fix, **back up your database file**. +{% endhint %} + +**Option A — Trim Stats Tables (safe & recommended)** + +Install [SQLite](https://sqlite.org/index.html), open the DB, and run: + +```sql +delete from location_stats; +delete from tunnel_stats; +``` + +This immediately reduces the DB size and disk I/O. + +**Option B — Remove the Database Entirely (quickest, but requires re-enrollment)** + +1. Close Defguard completely +2. Delete the database file: `C:\Users\AppData\Roaming\net.defguard\defguard.db` +3. Re-enroll your device in Defguard (you will need your enrollment link or admin setup) + +This is the nuclear option but works reliably. + +### **Long-Term Fix** + +The stats subsystem is being **fully redesigned** in the upcoming **2.0** release.\ +The new implementation will avoid these SQLite table-scan issues entirely. diff --git a/resources/troubleshooting/client-all-traffic-connection-issues.md b/support-1/troubleshooting/client-all-traffic-connection-issues.md similarity index 100% rename from resources/troubleshooting/client-all-traffic-connection-issues.md rename to support-1/troubleshooting/client-all-traffic-connection-issues.md diff --git a/support-1/troubleshooting/desktop-client-connectivity-issues.md b/support-1/troubleshooting/desktop-client-connectivity-issues.md new file mode 100644 index 0000000..19ec1b6 --- /dev/null +++ b/support-1/troubleshooting/desktop-client-connectivity-issues.md @@ -0,0 +1,158 @@ +# Desktop Client connectivity issues + +## Overview + +This guide provides instructions for troubleshooting common network connectivity issues that can be encountered when using WireGuard VPN clients to access VPN-protected resources. + +## Preparing for testing + +Before beginning connectivity tests, ensure: + +* Disable ACLs and MFA for the VPN location being tested +* Temporarily disable firewall rules dropping ICMP traffic on the gateway server + +{% hint style="warning" %} +Remember to restore the original settings after you conclude your testing. +{% endhint %} + +This way we remove additional factors and can check if the basic VPN connection is configured correctly. + +## VPN Gateway Public IP + +First, verify basic network connectivity to the gateway's public IP: + +```bash +ping +``` + +**Troubleshooting if IP is unreachable:** + +* Verify the IP address is correctly configured in [location settings](../../features/wireguard/create-your-vpn-network.md#gateway-address) +* Verify your gateway-side firewall rules don't block traffic from the internet +* Check client-side firewall rules if you use them + +## VPN Connection Test + +If the public IP is reachable, attempt to connect using the VPN client: + +* Initiate connection to the VPN location +* If errors occur, check [client logs](../../using-defguard-for-end-users/desktop-client/#log-files) for detailed information + +## VPN Network Connectivity + +Once connected to a VPN location, test internal VPN connectivity by trying to ping the Gateway internal IP configured in [location settings](../../features/wireguard/create-your-vpn-network.md#gateway-vpn-ip-addresses-and-masks): + +```bash +ping +``` + +**Example:** If your VPN subnet is `10.0.10.0/24`, the gateway is typically `10.0.10.1` + +If you have the official [WireGuard CLI](https://www.wireguard.com/install/) installed you can also verify the VPN connection by checking for the latest handshake. If there's no handshake, a connection has not been established.
+ +
+ +**If gateway is unreachable within VPN subnet:** + +* This indicates WireGuard connection failed to establish +* Client will automatically disconnect after 5 minutes (300 seconds) if no WireGuard traffic is detected (this threshold is configurable in client settings) +* This might indicate that the VPN server is not allowing UDP traffic on the [specified port](../../features/wireguard/create-your-vpn-network.md#gateway-port) +* Check if the firewall is [configured correctly](../../deployment-strategies/hardware-os-network-and-firewall-recommendations.md#gateway) to allow UDP traffic on the selected port + +### Verify UDP Port Connectivity + +If you want to explicitly test if UDP traffic is allowed between the client and VPN server you can do the following: + +* start a test UDP server on the gateway server: + + ```bash + socat UDP-RECV: - + ``` +* send a message from a client machine: + + ```bash + echo "Hello UDP test" | socat - UDP:: + ``` +* if UDP traffic is allowed, a message should appear in your server terminal + +### Loss of connection after network change + +The connection to the VPN network may stop working if your internet network has changed while the connection was active (for example if you switched Wi-Fis). This can be resolved by simply re-connecting to a given VPN location. + +## DNS Configuration Issues + +If the VPN connection establishes, but you still cannot access VPN-protected resources it can sometimes mean there's an issue with the [DNS server](../../features/wireguard/create-your-vpn-network.md#dns) configured for a given VPN location. + +**To verify DNS functionality:** + +* Check if DNS configuration in location settings is correct +* Test DNS resolution for the resources you're trying to access + +**DNS Testing Commands:** + +**Linux:** + +```bash +# Test DNS resolution +nslookup +dig + +# Check which DNS servers are being used +systemd-resolve --status +cat /etc/resolv.conf +``` + +**macOS:** + +```bash +# Test DNS resolution +nslookup +dig + +# Check DNS configuration +scutil --dns +``` + +**Windows:** + +```powershell +# Test DNS resolution +nslookup + +# Check DNS configuration +ipconfig /all + +# Flush DNS cache (if needed) +ipconfig /flushdns +``` + +**Troubleshooting DNS Issues:** + +* Verify DNS server IP addresses in location settings +* Test with different DNS servers (e.g., 8.8.8.8, 1.1.1.1) +* Verify there are no firewall rules on your gateway server which would block DNS access + +## MTU Issues + +If VPN connects but you cannot access certain resources, another possible cause is an invalid MTU configuration of the network interface. + +By default WireGuard uses an MTU of 1420 bytes, but some ISPs may limit packet size. + +**To test MTU limits:**\ +**Linux:** + +```bash +ping -M do -s 1420 +``` + +**Windows:** + +```powershell +ping -f -l 1420 +``` + +You can try to lower the packet size until the ping command succeeds to find the limit. + +**Workaround:** + +* Set a lower MTU value manually for the WireGuard interface created by the client diff --git a/resources/troubleshooting/sending-support-info.md b/support-1/troubleshooting/sending-support-info.md similarity index 54% rename from resources/troubleshooting/sending-support-info.md rename to support-1/troubleshooting/sending-support-info.md index b9a1de1..3a277e3 100644 --- a/resources/troubleshooting/sending-support-info.md +++ b/support-1/troubleshooting/sending-support-info.md @@ -18,7 +18,25 @@ Before submitting the logs, after you have changed the logging to debug, please You can easly send us client logs by going _Settings ->_ in the _Log_ window you will have the possibility to see the logs, but also two buttons, to Copy the logs or Download them - so you can easly share them with us: -
+
+ +## Mobile client + +To view the mobile client logs open the side menu by tapping the menu icon. + +
+ +Tap the _View Application Logs_ link from the side menu. + +
+ +You will see the application logs. Tap the menu icon again to see possible actions. + +
+ +Tap the _Share logs file_ item to sent the log file using a desired app. + +
## Core @@ -26,4 +44,4 @@ When contacting support you can send us **anonymous** support data by: 1. In **Settings > Support** tab you'll be able to generate and send support data that can be used when debugging your issues. 2. To download configuration and logs use appropriate buttons. You can attach them to bug report in our GitHub repository or send them in Matrix. -3. The "Send email" button is active only if you [configured the SMTP server](../../notifications/setting-up-smtp-for-email-notifications.md). +3. The "Send email" button is active only if you [configured the SMTP server](../../features/notifications/setting-up-smtp-for-email-notifications.md). diff --git a/resources/troubleshooting/webauthn-security-keys.md b/support-1/troubleshooting/webauthn-security-keys.md similarity index 100% rename from resources/troubleshooting/webauthn-security-keys.md rename to support-1/troubleshooting/webauthn-security-keys.md diff --git a/resources/troubleshooting/windows-installer-exit-codes.md b/support-1/troubleshooting/windows-installer-exit-codes.md similarity index 99% rename from resources/troubleshooting/windows-installer-exit-codes.md rename to support-1/troubleshooting/windows-installer-exit-codes.md index 6749a4a..a30bf32 100644 --- a/resources/troubleshooting/windows-installer-exit-codes.md +++ b/support-1/troubleshooting/windows-installer-exit-codes.md @@ -2,7 +2,7 @@ description: Desktop Client windows installer exist codes list. --- -# Windows installer exit codes +# Client Windows installer exit codes | Error code | Value | Description | | ------------------------------------------ | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/support.md b/support.md index 80ef8cc..5e1758e 100644 --- a/support.md +++ b/support.md @@ -1,32 +1,34 @@ # Getting help -## Check out our troubleshooting guide +## Troubleshooting guide -We developed a comprehensive [troubleshooting guide](resources/troubleshooting/) to help resolve your issue. We've put significant effort into ensuring it's current and thorough. +We developed a comprehensive [troubleshooting guide](support-1/troubleshooting/) to help resolve your issue. We've put significant effort into ensuring it's current and thorough. -## Contacting Support +## Community support (for all plans) -If you have bought an [Enterprise plan with premium support](https://defguard.net/pricing/), you can reach us at: +Having trouble with Defguard deployment or configuration? Reach out to our community for help. -* Email: support@defguard.net +Support is provided both by the community and by us (the Defguard authors) using GitHub Discussions. Create a new discussion using this [form](https://github.com/DefGuard/defguard/discussions/new/choose). -## Community Support +## Email Support (for paid plans only) -Community support is done by the community as well as us (Defguard authors) on our [Matrix](https://matrix.to/#/#defguard:teonite.com) - **Support** channel. +If you have bought a [Business or Enterprise license](https://defguard.net/pricing/), you can reach us at our support email [support@defguard.net](mailto:support@defguard.net). -{% hint style="info" %} -Since this a community support, please remember that it may take some time to get a response, as there is no-one _assigned_ for the support 24/h - especially during the weekends, when people are just off. +{% hint style="warning" %} +Please remember to send your support request from the same domain used when purchasing the license. If you contact us from a different domain, your request will be redirected to our community support. {% endhint %} -### Do you have Slack/Discord? - -Matrix is vastly more secure than those (convenient) platforms - and open source (which we are as well). We may bring a bridge to Discord in the future, but no guarantees. - ## Found a bug? Need a feature? * Here you can submit [a bug](https://github.com/DefGuard/defguard/issues/new?assignees=\&labels=bug\&projects=\&template=bug_report.md\&title=) * And here you can submit [a feature request](https://github.com/DefGuard/defguard/issues/new?assignees=\&labels=feature\&projects=\&template=feature_request.md\&title=) -## Reporting a Vulnerability +## Reporting a security vulnerability + +{% hint style="danger" %} +Please do not report security vulnerabilities via GitHub issues. Dedicated reporting channels are listed below. +{% endhint %} + +To report a security vulnerability open a [security advisory](https://github.com/defguard/defguard/security/advisories/new). -Please do **not open GitHub Issues for security issues you encounter**. To reporting a vulnerability open a [security advisory here](https://github.com/defguard/defguard/security/advisories/new). +You can also send us an encrypted email message according to instructions in our [Vulnerability Disclosure Policy](https://defguard.net/security/#VDP-title). diff --git a/tutorials/step-by-step-setting-up-a-vpn-server/README.md b/tutorials/step-by-step-setting-up-a-vpn-server/README.md index 3c4a163..11b1283 100644 --- a/tutorials/step-by-step-setting-up-a-vpn-server/README.md +++ b/tutorials/step-by-step-setting-up-a-vpn-server/README.md @@ -64,7 +64,7 @@ You can log into the UI using the default admin user: When you log in to your instance with user admin and the password that was generated for you, you should see that the VPN gateway is connected: -

Defguard live status of WireGuard VPN gateway

+
### Connecting to your VPN using Defguard desktop client @@ -72,11 +72,11 @@ Download the latest client from: [https://github.com/DefGuard/client/releases](h Now, go to **Defguard** Web UI (in this example: _https://my-server.defguard.net_) and go to _My Profile_ and click on _Add Device:_ -

Adding a new device/desktop client in Defguard user profile

+
Then choose _Defguard Client Remote Desktop Activation_ - which will easily configure your Desktop client: -

Defguard supports both desktop client and configuring any WireGuard Client

+
Defguard will show what **URL** (which is - as you see - your enrollment service URL) and **token** to paste to your desktop client: @@ -86,23 +86,23 @@ You can easily copy those with buttons provided in Defguard, and paste to your d In desktop client, click on \_**+ Add instance** \_ and provide the URL and token: -

Configuring the client with a new instance

+
After that, the client will ask you to name your device (however you like), after that click finish: -

Naming your device

+
The client will instantly show your Defguard instance and the VPN (we named _Example):_ -

Client after successfully adding a new instance

+
Also, you should see in your profile, that the client is configured and visible (for now - no details of IPs, etc - will automatically show details when you connect with your client): -

Defguard showing the newly configured client in user profile

+
Now let's click _**Connect**_ and see if the VPN works, the best way to do so, is to open a terminal app and **ping** the VPN server address. Also to see nice statistics, choose in the client menu from _Grid view_ (which is nice if you have multiple VPNs) the option _Detailed view:_ -

Nice statistics in Defguard client

+
Now let's test if the VPN network is accessible. To do so, let's ping the VPN gateway internal IP: _10.22.33.1_ @@ -110,7 +110,7 @@ Now let's test if the VPN network is accessible. To do so, let's ping the VPN ga As an administrator, you will probably be happy to see this - Defguard VPN dashboard: -

Defguard VPN dashboard

+
{% hint style="info" %} This completes your VPN setup - both server and client. @@ -163,7 +163,7 @@ root@server:~# sysctl -p Now we need to configure firewall [NAT](https://en.wikipedia.org/wiki/Network_address_translation), so that the server will "_translate/masq_" VPN traffic behind its public IP. In order to do that, we need to add rules to MASQUERADE VPN network behind the public interface of the server. {% hint style="info" %} -From version 1.3.0, gateway can automatically apply masquerade to traffic on all interfaces without the need for manual configuration. Refer to [#masquerade](../../admin-and-features/access-control-list/#masquerade "mention") for details. If you use this feature, you can skip the following manual masquerade setup step. +From version 1.3.0, gateway can automatically apply masquerade to traffic on all interfaces without the need for manual configuration. Refer to [#masquerade](../../features/access-control-list/#masquerade "mention") for details. If you use this feature, you can skip the following manual masquerade setup step. {% endhint %} We know that VPN network is 10.22.33.0/24 now we need to be sure what interface has the public IP (in our case: 185.33.37.51) - let's figure it out with this command: @@ -239,7 +239,7 @@ To Action From Defguard is the only (known to us) WireGuard client that during connection provides a choice to **route all your traffic through the VPN.** Just (before connecting) choose the option: **Allow all traffic** and click connect! -

Choosing to forward all traffic through VPN

+
This is very useful, since some times you just want to be connected to your VPN to have the server/VPN networks accessible, and sometimes (like in the scenarios mentioned before) you want to hide and encrypt your traffic. diff --git a/tutorials/step-by-step-setting-up-a-vpn-server/adding-additional-vpn-locations.md b/tutorials/step-by-step-setting-up-a-vpn-server/adding-additional-vpn-locations.md index d4b3d28..f05c97f 100644 --- a/tutorials/step-by-step-setting-up-a-vpn-server/adding-additional-vpn-locations.md +++ b/tutorials/step-by-step-setting-up-a-vpn-server/adding-additional-vpn-locations.md @@ -35,7 +35,13 @@ After configuring the location, please: ### Adding new gateway in docker -Now go to the server and open the docker-compose.yml file, and scroll to the gateway section, it should look like this: +{% hint style="warning" %} +This section assumes a new gateway will be launched on the same machine. + +If you want to launch a gateway on a separate host please see the[ next section](adding-additional-vpn-locations.md#adding-new-gateway-on-a-remote-host). +{% endhint %} + +Now go to the server and open the `docker-compose.yml` file, and scroll to the gateway section, it should look like this:
@@ -70,3 +76,16 @@ Now if you go back to the location settings you will see **instantly that the ne
And that's it, you have a new VPN location ready. + +### Adding new gateway on a remote host + +If you intend to add a new gateway on a different host than the one you've run the [one-line install script](../../getting-started/one-line-install.md) on, there are some additional steps that need to be performed: + +* make sure that both hosts can securely communicate within an isolated network segment without exposing the core gRPC port to the public internet as described in our [general network requirements](../../deployment-strategies/hardware-os-network-and-firewall-recommendations.md#server-and-environment-requirements) +* edit you `docker-compose.yaml` and add a `DEFGUARD_GRPC_URL` environment variable to the core service; this should be a URL that a remote gateway is able to connect to as described [here](../../deployment-strategies/configuration.md#grpc-server-configuration) +* after adding the variable restart the core service +* securely transfer the `/ssl/defguard-ca.pem` file to the new host +* depending on your preference create a copy of the `docker-compose.yaml` on the new host (with just the gateway service) or use the command from web UI to start a new gateway +* if using the command remember to add the `DEFGUARD_GRPC_CA` environment variable + + diff --git a/tutorials/step-by-step-setting-up-a-vpn-server/custom-https-configuration.md b/tutorials/step-by-step-setting-up-a-vpn-server/custom-https-configuration.md new file mode 100644 index 0000000..f7b5fb5 --- /dev/null +++ b/tutorials/step-by-step-setting-up-a-vpn-server/custom-https-configuration.md @@ -0,0 +1,29 @@ +# Custom HTTPS Configuration + +By default the install script generates a minimal Caddyfile in `./.volumes/caddy/Caddyfile`: + +``` +https://defguard.example.com { + reverse_proxy core:8000 +} + +https://proxy.example.com { + reverse_proxy proxy:8080 +} + +:80 { + respond 404 +} +:443 { + respond 404 +} +``` + +This configuration leverages Caddy's default [automatic HTTPS support](https://caddyserver.com/docs/automatic-https). + +If you wish to customize your HTTPS certificate setup, please follow the official [Caddy docs](https://caddyserver.com/docs/caddyfile/options#tls-options). + +Some common scenarios: + +* [using wildcard certificates](https://caddyserver.com/docs/caddyfile/patterns#wildcard-certificates) +* [using local cert files](https://caddyserver.com/docs/caddyfile/directives/tls#tls) diff --git a/help/adding-wireguard-devices/README.md b/using-defguard-for-end-users/adding-wireguard-devices/README.md similarity index 100% rename from help/adding-wireguard-devices/README.md rename to using-defguard-for-end-users/adding-wireguard-devices/README.md diff --git a/help/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md b/using-defguard-for-end-users/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md similarity index 87% rename from help/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md rename to using-defguard-for-end-users/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md index 71000ad..ec7a0e5 100644 --- a/help/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md +++ b/using-defguard-for-end-users/adding-wireguard-devices/configuring-a-device-for-a-new-vpn-location.md @@ -5,13 +5,13 @@ If you (or your Defguard administrator) have added a new VPN Location and you wo 1. Go to **your profile** (_My Profile -_ which you'll find on the navigation on the left side of the screen) 2. Click on the **gear icon on the device you want to download Location configuration** - a menu for that device will apear: -
+
3. Choose **Show configuration** The same configuration screen will popup as you were adding this device, but now you can choose a new location: -
+
4. **Download and configure your Wireguard VPN** exactly the same way you did it during the [adding device process](./). diff --git a/help/changing-your-password.md b/using-defguard-for-end-users/changing-your-password.md similarity index 100% rename from help/changing-your-password.md rename to using-defguard-for-end-users/changing-your-password.md diff --git a/help/cli-client.md b/using-defguard-for-end-users/cli-client.md similarity index 88% rename from help/cli-client.md rename to using-defguard-for-end-users/cli-client.md index f533ccb..46fa70e 100644 --- a/help/cli-client.md +++ b/using-defguard-for-end-users/cli-client.md @@ -28,18 +28,18 @@ Binary: [https://github.com/DefGuard/client/releases/download/v1.2.0/dg-linux-aa ### Installation -Installation is straightforward. As a root, install it as any other package of a given type (deb/rpm). +Installation is straightforward. As a root, install it as any other package of a given type (deb/rpm). #### Deb archive ```bash -apt install ./dg-linux-x86_64-v1.2.0-dg.deb +apt install ./dg-linux-x86_64-v1.5.0-dg.deb ``` -#### RPM +#### DNF ```bash -rpm -i ./dg-linux-x86_64-v1.2.0-dg.rpm +dnf install ./dg-linux-x86_64-v1.5.0-dg.rpm ``` #### Post install @@ -54,7 +54,7 @@ dg --help #### Defguard Core setup -Defguard CLI works only with [network devices](../admin-and-features/network-devices.md), so to use it, you will need to first add a new network device. Refer to the network device documentation to learn more. +Defguard CLI works only with [network devices](../features/network-devices.md), so to use it, you will need to first add a new network device. Refer to the network device documentation to learn more. After you've configured your network device on Defguard core, you will be presented with the following command: @@ -94,6 +94,20 @@ systemctl start dg You can configure the service and set the log verbosity by editing `/etc/defguard/dg.conf`. +#### Specifying a custom configuration path + +You can use a custom config path to save your network configuration by providing it as a command argument: + +``` +dg --config ./config.json enroll -u -t +``` + +And then to connect: + +``` +dg --config ./config.json +``` + ### Debugging and troubleshooting It may be easier to identify a problem by passing one of the following flags, which control the logging verbosity level: diff --git a/help/desktop-client/README.md b/using-defguard-for-end-users/desktop-client/README.md similarity index 51% rename from help/desktop-client/README.md rename to using-defguard-for-end-users/desktop-client/README.md index 7cf5b6f..43d733f 100644 --- a/help/desktop-client/README.md +++ b/using-defguard-for-end-users/desktop-client/README.md @@ -13,8 +13,6 @@ Guides: * [Instance configuration](instance-configuration.md) * [Using Multi-Factor Authentication](using-multi-factor-authentication-mfa.md) - - ### Windows Our desktop client has **bundled** official WireGuard client - as we use **wg.exe** to manage the WireGuard tunnels. @@ -25,58 +23,31 @@ If you have the official WireGuard client installed - Defguard client installati ### MacOS -Has no external requirements and we have wireguard-go bundled. - -### Linux - {% hint style="warning" %} -On Linux the desktop client uses `resolvconf` to manage DNS servers. On newer distributions it should be a symbolic link to `resolvectl`, more details can be found on the [troubleshooting](../broken-reference/) page. -{% endhint %} - -### Ubuntu - -#### Ubuntu 24 +On macOS the desktop client requires the user to belong to the `staff` group in order to access the `defguard.socket` Unix socket used for IPC. -The libwebkit2gtk-4.0 library which our client depends on is not available in the default apt package repositories on Ubuntu 24.04 (there is only libwebkit2gtk-4.1 which doesn't work with current client). Client installation is still possible, but requires using some workarounds: +This is usually the case by default and requires no additional actions. +{% endhint %} -To safely install a package from Ubuntu Jammy repositories without breaking your system: +Has no external requirements and we have wireguard-go bundled. -1. **Add Jammy Repo:** - * Open `/etc/apt/sources.list`: +You can also download Desktop Client via [Homebrew](https://brew.sh/) using: - ```bash - sudo nano /etc/apt/sources.list - ``` - * Add the Jammy repository with `[arch=amd64]` for your architecture: +`brew install --cask defguard-client` - ``` - deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main universe - ``` - * Save and exit. -2. **Pin the Jammy Repo with low priority:** - * Create `/etc/apt/preferences.d/jammy.pref`: +### Linux - ```bash - sudo nano /etc/apt/preferences.d/jammy.pref - ``` - * Add the following: +{% hint style="warning" %} +On Linux the desktop client uses `resolvconf` to manage DNS servers. On newer distributions it should be a symbolic link to `resolvectl`, more details can be found on the [troubleshooting](https://github.com/DefGuard/docs/blob/docs/help/broken-reference/README.md) page. +{% endhint %} - ``` - Package: * - Pin: release n=jammy - Pin-Priority: -10 - ``` - * Save and exit. -3. **Install the Specific Package:** +{% hint style="warning" %} +On Linux the desktop client requires the user to belong to the `defguard` group in order to access the `defguard.socket` Unix socket used for IPC. - ```bash - sudo apt update - sudo apt install -t jammy libwebkit2gtk-4.0 - ``` -4. **Optionally: Remove Jammy Repo After Use:**\ - Delete or comment out the Jammy entry in `/etc/apt/sources.list`. +The official packages handle group setup, but logging out and back in or rebooting might be required on initial client install to refresh group membership. This is no longer required on subsequent updates. +{% endhint %} -#### ArchLinux +### ArchLinux There is an [AUR package](https://aur.archlinux.org/packages/defguard-client)[: defguard-client](https://aur.archlinux.org/packages/defguard-client). @@ -85,14 +56,32 @@ If you don't know how to install AUR packages, please follow these guidelines: * Manual install: [https://wiki.archlinux.org/title/Arch\_User\_Repository](https://wiki.archlinux.org/title/Arch_User_Repository) * Installation through PARU (AUR Helper): [https://owlhowto.com/how-to-install-paru-on-arch-linux/](https://owlhowto.com/how-to-install-paru-on-arch-linux/) +### Ubuntu 22.04 / Debian 12 + +Download `defguard-client_{x.x.x}_{arch}_ubuntu-22-04-lts.deb` from [releases](https://github.com/DefGuard/client/releases). + ### Client update Defguard Client regularly checks for updates and in order to do so operating system name and installed application version are sent to the Defguard update service. This functionality can be turned off in the Client settings under Updates section so that no data is sent. -

"Check for updates" setting

+
If a new version is available, a notification with a download button will be shown near the bottom of the menu.

New Desktop Client version available for download

+ +### Log files + +All relevant application logs should be available in the clients Settings where they can be filtered by source and log level:
+ +
+ +In case of unexpected issues the log files themselves can also be found in the following locations by default: + +| Platform | Client logs | Background service logs | +| -------- | ------------------------------------------------- | ------------------------- | +| Windows | C:\Users\\AppData\Roaming\net.defguard\logs | C:\Logs\defguard-service | +| macOS | {homeDir}/Library/Logs/net.defguard | /var/log/defguard-service | +| Linux | $HOME/.local/share/net.defguard/logs | /var/log/defguard-service | diff --git a/help/desktop-client/instance-configuration.md b/using-defguard-for-end-users/desktop-client/instance-configuration.md similarity index 89% rename from help/desktop-client/instance-configuration.md rename to using-defguard-for-end-users/desktop-client/instance-configuration.md index d51a9ab..32a21c7 100644 --- a/help/desktop-client/instance-configuration.md +++ b/using-defguard-for-end-users/desktop-client/instance-configuration.md @@ -15,7 +15,7 @@ Defguard Desktop Client is required if you want to use Multi-Factor Authenticati {% hint style="info" %} If you are looking for how to generate tokens for your users as an Administrator, look here: -[remote-desktop-activation.md](../../admin-and-features/wireguard/remote-desktop-activation.md "mention") +[remote-desktop-activation.md](../../features/wireguard/remote-desktop-activation.md "mention") {% endhint %} 1. Log in to your Defguard account. @@ -43,6 +43,12 @@ If you are looking for how to generate tokens for your users as an Administrator
+### One-click Desktop Configuration + +You can skip the whole process of entering token/url by clicking "One-click Desktop Configuration" during remote device activation. Here is a video describing whole process: + +{% embed url="https://www.youtube.com/embed/q5-AXOPLgHc" %} + ### Connecting to Instance 1. Select your Instance from menu @@ -87,7 +93,7 @@ Your Instance will update immediately. Defguard Desktop stores all information locally and doesn't communicate with Defguard outside the registration process. This means that information about instances are snapshots of the moment you registered them in the desktop client, and you might want to update that, for example when some new locations are added or removed. {% hint style="success" %} -If you have an Enterprise License, all desktop clients and all instances are [synchronized automatically and in real-time.](../../admin-and-features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md) +If you have an Enterprise License, all desktop clients and all instances are [synchronized automatically and in real-time.](../../features/remote-user-enrollment/automatic-real-time-desktop-client-configuration.md) {% endhint %} ### Removing Instance diff --git a/help/desktop-client/using-multi-factor-authentication-mfa.md b/using-defguard-for-end-users/desktop-client/using-multi-factor-authentication-mfa.md similarity index 50% rename from help/desktop-client/using-multi-factor-authentication-mfa.md rename to using-defguard-for-end-users/desktop-client/using-multi-factor-authentication-mfa.md index 0ac666e..a970832 100644 --- a/help/desktop-client/using-multi-factor-authentication-mfa.md +++ b/using-defguard-for-end-users/desktop-client/using-multi-factor-authentication-mfa.md @@ -1,9 +1,5 @@ # Using Multi-Factor Authentication (MFA) -{% hint style="danger" %} -Connecting to location with required **external** MFA is possible in the desktop client since **version 1.5.0.** Please check out [**https://github.com/DefGuard/client/releases**](https://github.com/DefGuard/client/releases) for new releases. -{% endhint %} - * Up to version 1.4, only internal MFA was supported, user could only use MFA methods configured in his profile. * Since version 1.5 (currently in alpha), MFA can be configured per location, and administrators can choose whether a location will use internal MFA or external OIDC/SSO provider. @@ -39,13 +35,44 @@ Your connection will be established immediately after successful authentication. * If you're using "Authenticator App", please enter code generated within your authenticator app. {% hint style="info" %} -If you don't know how to setup or use your **Authenticator App** please check [this article](../setting-up-2fa-mfa.md#setting-up-2famfa) for detailed information. +If you don't know how to set up or use your **Authenticator App,** please check [this article](../setting-up-2fa-mfa.md#setting-up-2famfa) for detailed information. {% endhint %} -
+
+ +{% hint style="info" %} +If you need a guide explaining how to use Mobile Client as your MFA method, please [scroll down.](using-multi-factor-authentication-mfa.md#authenticating-via-biometry) +{% endhint %} 3. After entering code, click **Verify** -
+
Your connection will be established immediately after this step. + +## Multi-Factor Authentication via Mobile Biometry + +After configuring VPN on your mobile device and [enabling Biometry](../mobile-client/using-biometry-as-mfa-method.md#setting-up-biometry), we not only enable Biometry based connecting on a mobile device, but add an extra security layer to have the most secure/sophisticated MFA method available. + +After enabling Biometry we create an additional private/public key par, with the private key stored on the hardware/secure storage, and inform in the UI, that this device now can be used for MFA using Biometry on a desktop client: + +
+ +Now, when you connect on the desktop client to a location that has Internal MFA configured, you can choose **“Mobile App”** for MFA, then a QR code will be shown. + +
+ + + +This QR code to be scanned on the mobile device for additional MFA steps: + +1. Biometry authentication, that enables access to device secure storage +2. Additional validation with private/public key pair between mobile/desktop/core server. After that, our “normal” MFA flow (with session keys, WireGuard private/public keys) takes place. + +Here is a video showcasing this process: + +{% embed url="https://www.youtube.com/watch?v=b-XC76k4KVU" %} + +And here you can see the whole flow done with multiple steps including the user, desktop (and mobile) the Proxy and Defguard Core and gateway in the final step: + +
diff --git a/help/enrollment/README.md b/using-defguard-for-end-users/enrollment/README.md similarity index 100% rename from help/enrollment/README.md rename to using-defguard-for-end-users/enrollment/README.md diff --git a/help/enrollment/with-external-sso-google-microsoft-custom.md b/using-defguard-for-end-users/enrollment/with-external-sso-google-microsoft-custom.md similarity index 92% rename from help/enrollment/with-external-sso-google-microsoft-custom.md rename to using-defguard-for-end-users/enrollment/with-external-sso-google-microsoft-custom.md index a615af9..563a287 100644 --- a/help/enrollment/with-external-sso-google-microsoft-custom.md +++ b/using-defguard-for-end-users/enrollment/with-external-sso-google-microsoft-custom.md @@ -18,4 +18,4 @@ Now log in with your SSO and after successful login process, you will receive in
-Download the [Defguard desktop client](https://defguard.net/download/), and [enter _Instance URL_ and _token_ shown on this screen - more details here](broken-reference). +Download the [Defguard desktop client](https://defguard.net/download/), and [enter _Instance URL_ and _token_ shown on this screen - more details here](/broken/pages/Pvsv731zze0GmV33wtUl#automatic-with-defguard-client). diff --git a/help/enrollment/with-internal-defguard-sso.md b/using-defguard-for-end-users/enrollment/with-internal-defguard-sso.md similarity index 96% rename from help/enrollment/with-internal-defguard-sso.md rename to using-defguard-for-end-users/enrollment/with-internal-defguard-sso.md index 71c28cd..78a877e 100644 --- a/help/enrollment/with-internal-defguard-sso.md +++ b/using-defguard-for-end-users/enrollment/with-internal-defguard-sso.md @@ -35,7 +35,7 @@ What is great about this is that after the enrollment process is done - the desk When accessing the enrollment service in the browser, the process is extended with the possibility to configure the **initial VPN device/access manually.** {% hint style="info" %} -Even if the user will do enrollment in the browser - the desktop client can be configured later by using: [Remote desktop client activation.](../../admin-and-features/wireguard/remote-desktop-activation.md) +Even if the user will do enrollment in the browser - the desktop client can be configured later by using: [Remote desktop client activation.](../../features/wireguard/remote-desktop-activation.md) {% endhint %} ## User onboarding after enrollment diff --git a/using-defguard-for-end-users/mobile-client/README.md b/using-defguard-for-end-users/mobile-client/README.md new file mode 100644 index 0000000..a078629 --- /dev/null +++ b/using-defguard-for-end-users/mobile-client/README.md @@ -0,0 +1,28 @@ +# Mobile Client + +### Installation + +Mobile applications are available in the official app stores for [Android](https://play.google.com/store/apps/details?id=net.defguard.mobile) and [iOS](https://apps.apple.com/us/app/defguard-vpn-client/id6748068630). + +### Guides + +These guides explain how to use the Defguard Mobile to connect securely to VPN locations within your Defguard instance. It covers the entire process, from installation, adding new instances, connecting to locations, to managing your VPN connection settings. + +* [Instance adding guide](instance-adding.md#adding-instance-during-enrollment) +* [Connecting to Instance guide](instance-connect.md#connecting-to-instance) +* [Managing Instance guide](instance-manage.md#managing-your-instance) + +### Automatic configuration update + +When the configuration of an Instance is being updated (for e.g. switching from no-MFA → internal-MFA), mobile client **does** **not** refresh the Instance configuration automatically if the **app is opened**.\ +This is an intended behaviour. + +If you want to manually update your Instance perform: + +* **Manual pull-to-refresh** on the instance screen. +* **Restart of the application** (reopening the app) + + + + + diff --git a/help/mobile-client/instance-adding.md b/using-defguard-for-end-users/mobile-client/instance-adding.md similarity index 71% rename from help/mobile-client/instance-adding.md rename to using-defguard-for-end-users/mobile-client/instance-adding.md index 625d52e..9ec388c 100644 --- a/help/mobile-client/instance-adding.md +++ b/using-defguard-for-end-users/mobile-client/instance-adding.md @@ -1,24 +1,27 @@ +# Adding new Instance -## Adding instance during the enrollment +In this guide, you will learn how to add Instance in mobile app. -In this guide, you will learn how to add Instance in mobile app. +If you are after the enrollment process, please follow [this guide](instance-adding.md#adding-instance-in-defguard) -If you are after the enrollment process, please follow [this guide](#adding-instance-in-defguard) - -### Enrollment via external SSO +## Enrollment via external SSO 1. Go to your enrollment page. Click **Select** under "Enrollment process". -
+ +
2. In this example we use Google as OIDC provider so our button is "Sign in with Google". Your organization can use different OIDC provider. -
+ +
3. You will be redirected to your OIDC provider login page, please log in. After doing this, you will be redirected and shown a screen with **URL, Token and QR Code**. -
+ +
4. Open Defguard Mobile on your smartphone 5. Click **Scan QR Code** -
+ +
6. Scan QR generated in step 3. 7. Enter the name of your device. For example "iPhone 11" @@ -28,43 +31,49 @@ If you are after the enrollment process, please follow [this guide](#adding-inst If you can't scan QR Code, select **Add Instance Manually** in **step 5** and enter URL and Token from **step 3**. {% endhint %} +## Enrollment via Email - -### Enrollment via Email Find enrollment **Instance URL** and **Token** in your "Defguard user enrollment" email. It should look like this: -
+ +
If you want to enroll via Web Browser, click **Start enrollment** or: + 1. Go to your enrollment page. Click **Select** under "Enrollment process". -
+ +
2. Enter your **Token** and click **Send**. -
-Now, follow [Enrollment via Web Browser](#enrollment-via-web-browser) guide. +
+Now, follow [Enrollment via Web Browser](instance-adding.md#enrollment-via-web-browser) guide. -### Enrollment via Web Browser +## Enrollment via Web Browser -1. Upon starting enrollment process you will see something like this: -**Before proceeding, read the text carefully, as it may contain important information given by your administrator,** then click **Next**. -
+1. Upon starting enrollment process you will see something like this: **Before proceeding, read the text carefully, as it may contain important information given by your administrator,** then click **Next**. +
2. In this step you can optionally enter your phone number after entering it. Proceed by clicking the **Next** button. -
+ +
3. Now, you need to set up your password. After entering the password, proceed by clicking **Next**. -
-4. This is the step where we can add our mobile device. Enter the name of your device, then click **Create Configuration**. -
+
+ +4. This is the step where we can add our mobile device. Enter the name of your device, then click **Create Configuration**. -5. You will see a screen like this. -
+
+ +5. You will see a screen like this. + +
6. Open Defguard on your mobile device. Click **Scan QR Code**, and scan the code from **step 5**. -
+ +
7. After scanning the QR code, enter the name of your device and confirm. @@ -72,25 +81,26 @@ Now, follow [Enrollment via Web Browser](#enrollment-via-web-browser) guide. If you can't scan QR Code, select **Add Instance Manually** in **step 6** and enter URL and Token from **step 5**. {% endhint %} - - -### Adding Instance in Defguard - +## Adding Instance in Defguard 1. Log in to your Defguard account. 2. Go to **My Profile** tab. 3. Click **Add new device** button inside **User Devices** list. +
-4. Select **Remote Device Activation** and click **Next**. +4. Select **Remote Device Activation** and click **Next**. +
5. After that you will see URL, Token and QR Code. **Take a screenshot of QR code**, we will need it in next step. +
6. Open Defguard Mobile on your smartphone 7. Click **Scan QR Code** -
+ +
8. Scan QR generated in step 5. 9. Enter the name of your device. For example "iPhone 11" diff --git a/help/mobile-client/instance-connect.md b/using-defguard-for-end-users/mobile-client/instance-connect.md similarity index 76% rename from help/mobile-client/instance-connect.md rename to using-defguard-for-end-users/mobile-client/instance-connect.md index b2bacef..476f9b2 100644 --- a/help/mobile-client/instance-connect.md +++ b/using-defguard-for-end-users/mobile-client/instance-connect.md @@ -1,20 +1,22 @@ -## Connecting to Instance +# Connecting to Instance In this guide, you will learn how to connect to location. If you haven't added an instance yet, follow [this guide](instance-adding.md#adding-instance-during-the-enrollment). -### Connecting to location without MFA +## Connecting to location without MFA 1. Open Defguard 2. Click on Instance you want to connect to. +
3. Click **"Connect"** next to location you want to use. +
{% hint style="info" %} The first time you connect, app will ask whether you want to route **predefined traffic** or **all traffic**. You will see screen like this: -
+ * **Predefined traffic** will only route traffic specified by your administrator. * **All traffic** will route everything through VPN tunnel. @@ -22,49 +24,45 @@ The first time you connect, app will ask whether you want to route **predefined You can select **Remember my choice** if you don't want to be asked again. If you want to change your traffic routing method after your first connection go to [this article](instance-manage.md#changing-traffic-routing-method-after-first-connection) - - {% endhint %} 4. Choose your routing method 5. Confirm + {% hint style="warning" %} Your phone will need to add new VPN configuration, you will see popup like this: -
+ + Please click **Allow**, without this permission, Defguard cannot establish VPN connection. {% endhint %} - {% hint style="info" %} If your location does not use MFA, your VPN connection should be established immediately after confirming your routing method. {% endhint %} - {% hint style="info" %} Some VPN locations require extra security when connecting. This is called MFA (Multi-Factor Authentication). There are two types: * Internal MFA: You confirm your identity directly in the app, for example by entering a code from your Authenticator App or email. * External MFA: You are redirected to a secure login page (like Google or Microsoft) outside the app to confirm your identity. - {% endhint %} - {% hint style="warning" %} -If your location is using MFA please go to [section 3.2 "Connecting to location with MFA](#connecting-to-location-with-mfa) +If your location is using MFA please go to [section 3.2 "Connecting to location with MFA](instance-connect.md#connecting-to-location-with-mfa) {% endhint %} - -### Connecting to location with MFA +## Connecting to location with MFA 1. Open Defguard 2. Go to **Instances** and click **Connect** next to location you want to use. -
+ +
{% hint style="info" %} The first time you connect, app will ask whether you want to route **predefined traffic** or **all traffic**. You will see screen like this: -
+ * **Predefined traffic** will only route traffic specified by your administrator. * **All traffic** will route everything through VPN tunnel. @@ -72,59 +70,54 @@ The first time you connect, app will ask whether you want to route **predefined You can select **Remember my choice** if you don't want to be asked again. If you want to change your traffic routing method after your first connection go to [this article](instance-manage.md#changing-traffic-routing-method-after-first-connection) - - {% endhint %} -3. Choose your routing method, and confirm. -Depending on your location settings you will need to authenticate with [external](#external-mfa) or [internal](#internal-mfa) MFA. +3. Choose your routing method, and confirm. +Depending on your location settings you will need to authenticate with [external](instance-connect.md#external-mfa) or [internal](instance-connect.md#internal-mfa) MFA. -#### External MFA +### External MFA If the VPN location requires OpenID for authentication (external MFA) you will see screen like this: -
-Click **Authenticate with OpenID** and you will be redirected to a secure login page (for example Google/Microsoft). Follow the instructions on the screen to log in. After successful authentication please return to Defguard. -In the app you will see screen like this: +
+ +Click **Authenticate with OpenID** and you will be redirected to a secure login page (for example Google/Microsoft). Follow the instructions on the screen to log in. After successful authentication please return to Defguard. In the app you will see screen like this:
After successful authentication, return to Defguard Mobile, your connection will be established automatically. - -#### Internal MFA +### Internal MFA {% hint style="warning" %} When connecting with MFA for the first time, you will have the option to select **Remember my choice**. Select this option if you want to always use this method for this location. {% endhint %} -1. If you are connecting for first time, or if you have not clicked **Remember my choice** during previous connection, you will need to choose your MFA method. -
+1. If you are connecting for first time, or if you have not clicked **Remember my choice** during previous connection, you will need to choose your MFA method. + +
2. Choose method configured for your account, and click **Connect**. - - If you're using "Email" method, please enter code sent to your email. - - If you're using "Authenticator App", please enter code generated within your authenticator app. + * If you're using "Email" method, please enter code sent to your email. + * If you're using "Authenticator App", please enter code generated within your authenticator app. + {% hint style="info" %} -If you don't know how to setup or use your **Authenticator App** please check [this article](/help/setting-up-2fa-mfa.md#setting-up-2famfa) for detailed information. +If you don't know how to setup or use your **Authenticator App** please check [this article](../setting-up-2fa-mfa.md#setting-up-2famfa) for detailed information. {% endhint %} -3. After this step, your connection will be established immediately. +3. After this step, your connection will be established immediately. -### Disconnecting from VPN +## Disconnecting from VPN To disconnect from a VPN location in Defguard: -1. Open Defguard. +1. Open Defguard. 2. Go to the active instance 3. Click **Disconnect** button next to the location you are currently connected to. -
+ +
+ {% hint style="info" %} After disconnecting, your device will stop sending traffic through the VPN and return to your regular internet connection. {% endhint %} - - - - - - diff --git a/help/mobile-client/instance-manage.md b/using-defguard-for-end-users/mobile-client/instance-manage.md similarity index 64% rename from help/mobile-client/instance-manage.md rename to using-defguard-for-end-users/mobile-client/instance-manage.md index 7428523..0f3023a 100644 --- a/help/mobile-client/instance-manage.md +++ b/using-defguard-for-end-users/mobile-client/instance-manage.md @@ -1,32 +1,32 @@ - -## Managing your instance +# Managing your Instance In this guide you will learn how to manage your instances. If you haven't added your instance yet, follow [this guide](instance-adding.md#adding-instance-in-defguard) -### Changing traffic routing method after first connection +## Changing traffic routing method after first connection 1. Open Defguard. 2. Go to **Instances** in the app menu. 3. Press & Hold the **Connect** button next to the location you want to update. 4. When the popup appears, look for the option **Select Traffic Routing**. -
+ +
5. You will see this: -
-6. Choose method and click **Connect** +
+6. Choose method and click **Connect** -### Changing MFA method after first connection +## Changing MFA method after first connection 1. Go to **Instances** in the app menu. 2. Press & Hold **Connect** button next to location name and wait until popup shows. -
+
3. Click **Select MFA Method**. 4. You will see this: -
-5. Choose method and click **Connect** +
+5. Choose method and click **Connect** diff --git a/using-defguard-for-end-users/mobile-client/using-biometry-as-mfa-method.md b/using-defguard-for-end-users/mobile-client/using-biometry-as-mfa-method.md new file mode 100644 index 0000000..61fcc54 --- /dev/null +++ b/using-defguard-for-end-users/mobile-client/using-biometry-as-mfa-method.md @@ -0,0 +1,26 @@ +# Using Biometry as MFA method + +In this guide, you will learn how to use biometry as MFA method when connecting to VPN location. + +### Setting up Biometry + +{% hint style="warning" %} +Biometry can be configured during adding Instance. If you skip this step, you will not be able to add biometry later, only removing and adding Instance again will trigger this modal. +{% endhint %} + +1. First, start the process of adding a new Instance ([check this article](instance-adding.md#adding-instance-in-defguard)). You will see this screen. + +
+ +2. Click **Yes**, after confirming your biometry method, you will see the following screen. + +
+ +Biometry is now configured, and will be used as a primary MFA method. If you want to change your MFA method, please check [this guide](instance-manage.md#changing-mfa-method-after-first-connection), you will be able to use Biometry as your third MFA method. + +
+ +### Connecting to MFA location with biometry enabled + +The whole process is the same as before, but instead of using TOTP/Email codes, you authenticate with biometry. For a detailed guide about connecting to Location, [check this article](instance-connect.md#connecting-to-location-with-mfa). + diff --git a/help/overwiew.md b/using-defguard-for-end-users/overwiew.md similarity index 100% rename from help/overwiew.md rename to using-defguard-for-end-users/overwiew.md diff --git a/help/setting-up-2fa-mfa.md b/using-defguard-for-end-users/setting-up-2fa-mfa.md similarity index 100% rename from help/setting-up-2fa-mfa.md rename to using-defguard-for-end-users/setting-up-2fa-mfa.md