From 306512c9db38151ad81410d89c5908078d070f28 Mon Sep 17 00:00:00 2001 From: silversword411 Date: Tue, 22 Aug 2023 00:18:26 -0400 Subject: [PATCH 1/3] Updating NPM proxy docs --- docs/unsupported_proxies.md | 80 +++++-------------------------------- 1 file changed, 11 insertions(+), 69 deletions(-) diff --git a/docs/unsupported_proxies.md b/docs/unsupported_proxies.md index d6e1e350..ce713171 100644 --- a/docs/unsupported_proxies.md +++ b/docs/unsupported_proxies.md @@ -787,15 +787,17 @@ See **Note:** Wildcard SSL certs are not supported with MeshCentral. You will need an independent certificate for mesh.{domain} - -Then connect in SSH to your TRMM server to modify the Nginx config of Mesh: - -```bash -nano /meshcentral/meshcentral-data/config.json -``` - -Then modify in this file the `TlsOffload` field to put the local IP address of your NPM, then also modify the `CertUrl` field to put the IP address of your NPM and the port that goes with it. - -**Note:** The optional `_trustedproxy` setting to CloudFlare is enabled to support their proxy service. - -``` -{ -"settings": { -"Cert": "${meshdomain}", -"MongoDb": "mongodb://127.0.0.1:27017", -"MongoDbName": "meshcentral", -"WANonly": true, -"Minify": 1, -"Port": 4430, -"AliasPort": 443, -"RedirPort": 800, -"AllowLoginToken": true, -"AllowFraming": true, -"_AgentPing": 60, -"AgentPong": 300, -"AllowHighQualityDesktop": true, -"TlsOffload": "{NPM LAN IP},127.0.0.1,::1", -"_trustedproxy": "CloudFlare", -"agentCoreDump": false, -"Compression": true, -"WsCompression": true, -"AgentWsCompression": true, -"MaxInvalidLogin": { "time": 5, "count": 5, "coolofftime": 30 } -}, -"domains": { -"": { -"Title": "Tactical RMM", -"Title2": "Tactical RMM", -"NewAccounts": false, -"CertUrl": "https://{NPM LAN IP}:443", -"GeoLocation": true, -"CookieIpCheck": false, -"mstsc": true -} -} -} ``` -Then restart your Mesh: +Last thing you have to do, is setup the same certs on NPM and TRMM. -```bash -systemctl restart meshcentral.service -``` +TRMM cert location: `/etc/letsencrypt/live/{yourdomain}/` -Open TCP port 4430 if using UFW: +NPM cert location: SSL Certificates tab -```bash -ufw allow 4430/tcp -ufw reload -``` +Either: Setup SSL certs on NPM (optionally using Cloudflare API). Download and copy certs to TRMM. Then run `./update.sh --force` -At which point agents should be working. Use the "Recover Connection" button if necessary. +OR: Run standard TRMM cert renew process using certbot. Then copy the files and upload: Certificate Key (`privkey.pem`), Certificate (`cert.pem`), and Intermediate Certificate (`chain.pem`) ## Synology NAS Reverse Proxy Portal From 1f38537f456dbda7941d34ed6dce9a9f23996662 Mon Sep 17 00:00:00 2001 From: silversword411 Date: Tue, 22 Aug 2023 00:25:44 -0400 Subject: [PATCH 2/3] Adding pic --- docs/images/2023-08-22-00-25-13.png | Bin 0 -> 53537 bytes docs/unsupported_proxies.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 docs/images/2023-08-22-00-25-13.png diff --git a/docs/images/2023-08-22-00-25-13.png b/docs/images/2023-08-22-00-25-13.png new file mode 100644 index 0000000000000000000000000000000000000000..a1b04f13e2948a3e45817f2a3fcf292df1c7f4bc GIT binary patch literal 53537 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

;uDnUR+e4d`&k(z2)pj|#HPD7~ozXs}R>1|> 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 literal 0 HcmV?d00001 diff --git a/docs/unsupported_proxies.md b/docs/unsupported_proxies.md index ce713171..185c485f 100644 --- a/docs/unsupported_proxies.md +++ b/docs/unsupported_proxies.md @@ -811,6 +811,8 @@ https | TRMM server DNS name | 443 ON: Cache Assets | Block Common Exploits | Websockets Support ``` +![](images/2023-08-22-00-25-13.png) + Last thing you have to do, is setup the same certs on NPM and TRMM. TRMM cert location: `/etc/letsencrypt/live/{yourdomain}/` From ceb4ab5b9022d1040677c213b63464db5a64ba7f Mon Sep 17 00:00:00 2001 From: silversword411 Date: Tue, 22 Aug 2023 00:43:38 -0400 Subject: [PATCH 3/3] Fixing agent uninstall on mac --- docs/howitallworks.md | 2 +- docs/install_agent.md | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/howitallworks.md b/docs/howitallworks.md index 4fb1a2cd..3be492d7 100644 --- a/docs/howitallworks.md +++ b/docs/howitallworks.md @@ -599,7 +599,7 @@ Choose your method: systemctl restart tacticalagent.service ``` -=== ":material-mdiApple: Mac" +=== ":material-apple: Mac" In terminal window: diff --git a/docs/install_agent.md b/docs/install_agent.md index c68faa00..f7c4c834 100644 --- a/docs/install_agent.md +++ b/docs/install_agent.md @@ -152,9 +152,17 @@ If you want to deploy the TRMM agent using AD, Intune, Mesh, TeamViewer, Group P You can always use this to silently uninstall the agent on workstations: -```cmd -"C:\Program Files\TacticalAgent\unins000.exe" /VERYSILENT -``` +Choose your method: + +=== ":material-console-line: Windows Automatically" + + ```cmd + "C:\Program Files\TacticalAgent\unins000.exe" /VERYSILENT + ``` + +=== ":material-apple: Mac" + + Run: ## Reinstalling Mesh and Reconnecting to TRMM