From 396b18fce07be226d7088687f84386bfddd15f0b Mon Sep 17 00:00:00 2001 From: cspark Date: Tue, 27 Feb 2024 17:44:35 +0000 Subject: [PATCH 1/2] Upload files to "/" --- networkdiagram.png | Bin 0 -> 60767 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 networkdiagram.png diff --git a/networkdiagram.png b/networkdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..4653645e603897278de24babf829c7965e9aac95 GIT binary patch literal 60767 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 literal 0 HcmV?d00001 From a67c3fef40f6f80d197c5901cd9841104ef25714 Mon Sep 17 00:00:00 2001 From: cspark Date: Tue, 27 Feb 2024 17:47:13 +0000 Subject: [PATCH 2/2] Init README --- README.org | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 README.org diff --git a/README.org b/README.org new file mode 100644 index 0000000..793b3e3 --- /dev/null +++ b/README.org @@ -0,0 +1,32 @@ +* Client Ansible Setup + +This is the Client Server Configuration for my domain. Meant to be used in tandem with [[https://git.cspark.dev/cspark/Host-Ansible-Setup][the host setup]]. + +** Configuration + +Host runs KVM hypervisor and uses [[https://git.cspark.dev/cspark/Host-Ansible-Setup][the host setup]] for complete configuration, you have the freedom to choose to run containers or virtual machines depending on what is necessary. +The KVM clients use this Client Ansible Setup. + +In my setup I run virtual machines and docker containers within the virtual machine for maximal separation. The main advantages of this setup : +- Virtual Machines are isolated on their own virtual network (on the default libvirt 192.168.122.x range) +- As Virtual Machines are isolated on their own virtual network, only the backend server can access them (Via Spice, VNC or SSH) +- Utilise the features of Spice and Libvirt, useful features such as remote control via Virt Manager over SSH and USB Redirection (Very useful for providing the clients USB keys for authentication remotely) + +Services utilise wireguard/gluetun to communicate with the frontend reverse proxy server (on the default 10.0.0.x range), the advantages of using wireguard instead of just communicating over the internet : +- All traffic to the frontend is encrypted on its own pair of keys/wireguard tunnel no matter what. +- The backend server/network only needs to port forward the wireguard port, does not need to expose the ports that the services use on the network. +- The backend server public IP does not need to be static as reverse proxy proxies to the wireguard IP addresses which are static. A dynamic DNS is therefore not needed. + +Due to these advantages, the setup is well suited for home-hosting any service with a rented remote reverse proxy frontend. This is what this setup is primarily designed for. + +The whole setup is built to be very secure and on principles of minimal trust for every party: +- Traffic to the frontend server is encrypted via wireguard and VPN private keys are stored on the backend KVM clients so if the reverse proxy is compromised traffic will still not be able to be decrypted. +- Traffic from the internet to proxy or vice versa should always be encrypted with TLS. +- If any of the backend clients are compromised, it is all containerised and the incident should be isolated. +- If any of the backend KVM clients are compromised, it is virtualised and incident should be isolated. (This is unlikely, client firewall is configured to only allow remote connections from backend hypervisor) +- Backend hypervisor only permits SSH on local network with key authentication and no other forms of access aside from Cockpit. Tight firewall rules with IPTables. +- Remote access to backend server is also possible via Cockpit, 2 Factor Authentication is setup/enforced for the admin user over Cockpit however Cockpit service/tunnel can be disabled/removed for maximum security. (The server would only be accessible locally at this point) + +Configuration Diagram : + +#+html:

\ No newline at end of file