Files
claudetools/CATALOG_SHARED_DATA.md
Mike Swanson b79c47acb9 sync: Auto-sync from ACG-M-L5090 at 2026-01-26 16:45:54
Synced files:
- Complete claude-projects import (5 catalog files)
- Client directory with 12 clients
- Project directory with 12 projects
- Credentials updated (100+ sets)
- Session logs consolidated
- Agent coordination rules updated
- Task management integration

Major work completed:
- Exhaustive cataloging of claude-projects
- All session logs analyzed (38 files)
- All credentials extracted and organized
- Client infrastructure documented
- Problem solutions cataloged (70+)

Machine: ACG-M-L5090
Timestamp: 2026-01-26 16:45:54

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-01 16:23:47 -07:00

31 KiB

Shared Data Credential Catalog

Source: C:\Users\MikeSwanson\claude-projects\shared-data
Extracted: 2026-01-26 Purpose: Complete credential inventory from shared-data directory


File Inventory

Main Credential File

  • File: credentials.md (22,136 bytes)
  • Last Updated: 2025-12-16
  • Purpose: Centralized credentials for Claude Code context recovery across all machines

Supporting Files

  • .encryption-key (156 bytes) - ClaudeTools database encryption key
  • context-recall-config.env (535 bytes) - API and context recall settings
  • ssh-config (1,419 bytes) - SSH host configurations
  • multi-tenant-security-app.md (8,682 bytes) - Multi-tenant Entra app guide
  • permissions/ - File/registry permission exclusion lists (3 files)

Infrastructure - SSH Access

Jupiter (Unraid Primary)

  • Service: Primary container host
  • Host: 172.16.3.20
  • SSH User: root
  • SSH Port: 22
  • SSH Password: Th1nk3r^99##
  • WebUI Password: Th1nk3r^99##
  • Role: Primary container host (Gitea, NPM, GuruRMM, media)
  • iDRAC IP: 172.16.1.73 (DHCP)
  • iDRAC User: root
  • iDRAC Password: Window123!@#-idrac
  • iDRAC SSH: Enabled (port 22)
  • IPMI Key: All zeros
  • Access Methods: SSH, WebUI, iDRAC

Saturn (Unraid Secondary)

  • Service: Unraid Secondary Server
  • Host: 172.16.3.21
  • SSH User: root
  • SSH Port: 22
  • SSH Password: r3tr0gradE99
  • Role: Migration source, being consolidated to Jupiter
  • Access Methods: SSH

pfSense (Firewall)

  • Service: Network Firewall/Gateway
  • Host: 172.16.0.1
  • SSH User: admin
  • SSH Port: 2248
  • SSH Password: r3tr0gradE99!!
  • Role: Firewall, Tailscale gateway
  • Tailscale IP: 100.79.69.82 (pfsense-1)
  • Access Methods: SSH, Web, Tailscale

OwnCloud VM (on Jupiter)

  • Service: OwnCloud file sync server
  • Host: 172.16.3.22
  • Hostname: cloud.acghosting.com
  • SSH User: root
  • SSH Port: 22
  • SSH Password: Paper123!@#-unifi!
  • OS: Rocky Linux 9.6
  • Services: Apache, MariaDB, PHP-FPM, Redis, Datto RMM agents
  • Storage: SMB mount from Jupiter (/mnt/user/OwnCloud)
  • Notes: Jupiter has SSH key auth configured
  • Access Methods: SSH, HTTPS

GuruRMM Build Server

  • Service: GuruRMM/GuruConnect dedicated server
  • Host: 172.16.3.30
  • Hostname: gururmm
  • SSH User: guru
  • SSH Port: 22
  • SSH Password: Gptf*77ttb123!@#-rmm
  • Sudo Password: Gptf*77ttb123!@#-rmm (special chars cause issues with sudo -S)
  • OS: Ubuntu 22.04
  • Services: nginx, PostgreSQL, gururmm-server, gururmm-agent, guruconnect-server
  • SSH Key Auth: Working from Windows/WSL (ssh guru@172.16.3.30)
  • Service Restart Method: Services run as guru user, pkill works without sudo
  • Deploy Pattern:
    1. Build: cargo build --release --target x86_64-unknown-linux-gnu -p <package>
    2. Rename old: mv target/release/binary target/release/binary.old
    3. Copy new: cp target/x86_64.../release/binary target/release/binary
    4. Kill old: pkill -f binary.old (systemd auto-restarts)
  • GuruConnect Static Files: /home/guru/guru-connect/server/static/
  • GuruConnect Binary: /home/guru/guru-connect/target/release/guruconnect-server
  • Access Methods: SSH (key auth)

Services - Web Applications

Gitea (Git Server)

NPM (Nginx Proxy Manager)

Cloudflare

  • Service: DNS and CDN
  • API Token (Full DNS): DRRGkHS33pxAUjQfRDzDeVPtt6wwUU6FwtXqOzNj
  • API Token (Legacy/Limited): U1UTbBOWA4a69eWEBiqIbYh0etCGzrpTU4XaKp7w
  • Permissions: Zone:Read, Zone:Edit, DNS:Read, DNS:Edit
  • Used for: DNS management, WHM plugin, cf-dns CLI
  • Domain: azcomputerguru.com
  • Notes: New full-access token added 2025-12-19
  • Access Methods: API

Projects - GuruRMM

Dashboard/API Login

  • Service: GuruRMM dashboard login
  • Email: admin@azcomputerguru.com
  • Password: GuruRMM2025
  • Role: admin
  • Access Methods: Web

Database (PostgreSQL)

  • Service: GuruRMM database
  • Host: gururmm-db container (172.16.3.20)
  • Port: 5432 (default)
  • Database: gururmm
  • User: gururmm
  • Password: 43617ebf7eb242e814ca9988cc4df5ad
  • Access Methods: PostgreSQL protocol

API Server

Microsoft Entra ID (SSO)

  • Service: GuruRMM SSO via Entra
  • App Name: GuruRMM Dashboard
  • App ID (Client ID): 18a15f5d-7ab8-46f4-8566-d7b5436b84b6
  • Object ID: 34c80aa8-385a-4bea-af85-f8bf67decc8f
  • Client Secret: gOz8Q~J.oz7KnUIEpzmHOyJ6GEzYNecGRl-Pbc9w
  • Secret Expires: 2026-12-21
  • Sign-in Audience: Multi-tenant (any Azure AD org)
  • Redirect URIs: https://rmm.azcomputerguru.com/auth/callback, http://localhost:5173/auth/callback
  • API Permissions: openid, email, profile
  • Created: 2025-12-21
  • Access Methods: OAuth 2.0

CI/CD (Build Automation)

  • Webhook URL: http://172.16.3.30/webhook/build
  • Webhook Secret: gururmm-build-secret
  • Build Script: /opt/gururmm/build-agents.sh
  • Build Log: /var/log/gururmm-build.log
  • Gitea Webhook ID: 1
  • Trigger: Push to main branch
  • Builds: Linux (x86_64) and Windows (x86_64) agents
  • Deploy Path: /var/www/gururmm/downloads/
  • Access Methods: Webhook

Build Server SSH Key (for Gitea)

  • Key Name: gururmm-build-server
  • Key Type: ssh-ed25519
  • Public Key: AAAAC3NzaC1lZDI1NTE5AAAAIKSqf2/phEXUK8vd5GhMIDTEGSk0LvYk92sRdNiRrjKi guru@gururmm-build
  • Added to: Gitea (azcomputerguru account)
  • Access Methods: SSH key authentication

Clients & Sites

Glaztech Industries (GLAZ)

  • Client ID: d857708c-5713-4ee5-a314-679f86d2f9f9
  • Site: SLC - Salt Lake City
  • Site ID: 290bd2ea-4af5-49c6-8863-c6d58c5a55de
  • Site Code: DARK-GROVE-7839
  • API Key: grmm_Qw64eawPBjnMdwN5UmDGWoPlqwvjM7lI
  • Created: 2025-12-18
  • Access Methods: API

Projects - GuruConnect

Database (PostgreSQL on build server)

  • Service: GuruConnect database
  • Host: localhost (172.16.3.30)
  • Port: 5432
  • Database: guruconnect
  • User: guruconnect
  • Password: gc_a7f82d1e4b9c3f60
  • DATABASE_URL: postgres://guruconnect:gc_a7f82d1e4b9c3f60@localhost:5432/guruconnect
  • Created: 2025-12-28
  • Access Methods: PostgreSQL protocol

Projects - ClaudeTools

Database (MariaDB on Jupiter)

  • Service: ClaudeTools MSP tracking database
  • Host: 172.16.3.20
  • Port: 3306
  • Database: claudetools
  • User: claudetools
  • Password: CT_e8fcd5a3952030a79ed6debae6c954ed
  • Notes: Created 2026-01-15, MSP tracking database with 36 tables
  • Access Methods: MySQL/MariaDB protocol

Encryption Key

  • File Location: C:\Users\MikeSwanson\claude-projects\shared-data.encryption-key
  • Key: 319134ddb79fa44a6751b383cb0a7940da0de0818bd6bbb1a9c20a6a87d2d30c
  • Generated: 2026-01-15
  • Usage: AES-256-GCM encryption for credentials in database
  • Warning: DO NOT COMMIT TO GIT

JWT Secret

  • Secret: NdwgH6jsGR1WfPdUwR3u9i1NwNx3QthhLHBsRCfFxcg=
  • Usage: JWT token signing for API authentication
  • Access Methods: N/A (internal use)

API Server

Context Recall Configuration

  • Claude API URL: http://172.16.3.30:8001
  • API Base URL: http://172.16.3.30:8001
  • JWT Token: (empty - get from API via setup script)
  • Context Recall Enabled: true
  • Min Relevance Score: 5.0
  • Max Contexts: 10
  • Auto Save Context: true
  • Default Relevance Score: 7.0
  • Debug Context Recall: false

Client Sites - WHM/cPanel

IX Server (ix.azcomputerguru.com)

  • Service: cPanel/WHM hosting server
  • SSH Host: ix.azcomputerguru.com
  • Internal IP: 172.16.3.10 (VPN required)
  • SSH User: root
  • SSH Password: Gptf*77ttb!@#!@#
  • SSH Key: guru@wsl key added to authorized_keys
  • Role: cPanel/WHM server hosting client sites
  • Access Methods: SSH, cPanel/WHM web

WebSvr (websvr.acghosting.com)

  • Service: Legacy cPanel/WHM server
  • Host: websvr.acghosting.com
  • SSH User: root
  • SSH Password: r3tr0gradE99#
  • API Token: 8ZPYVM6R0RGOHII7EFF533MX6EQ17M7O
  • Access Level: Full access
  • Role: Legacy cPanel/WHM server (migration source to IX)
  • Access Methods: SSH, cPanel/WHM web, API

data.grabbanddurando.com

  • Service: Client website (Grabb & Durando Law)
  • Server: IX (ix.azcomputerguru.com)
  • cPanel Account: grabblaw
  • Site Path: /home/grabblaw/public_html/data_grabbanddurando
  • Site Admin User: admin
  • Site Admin Password: GND-Paper123!@#-datasite
  • Database: grabblaw_gdapp_data
  • DB User: grabblaw_gddata
  • DB Password: GrabbData2025
  • Config File: /home/grabblaw/public_html/data_grabbanddurando/connection.php
  • Backups: /home/grabblaw/public_html/data_grabbanddurando/backups_mariadb_fix/
  • Access Methods: Web (admin), MySQL, SSH (via IX root)

GoDaddy VPS (Legacy)

  • Service: Legacy hosting server
  • IP: 208.109.235.224
  • Hostname: 224.235.109.208.host.secureserver.net
  • Auth: SSH key
  • Database: grabblaw_gdapp
  • Note: Old server, data migrated to IX
  • Access Methods: SSH (key)

Seafile (on Jupiter - Migrated 2025-12-27)

Container

  • Service: Seafile file sync server
  • Host: Jupiter (172.16.3.20)
  • URL: https://sync.azcomputerguru.com
  • Internal Port: 8082
  • Proxied via: NPM
  • Containers: seafile, seafile-mysql, seafile-memcached, seafile-elasticsearch
  • Docker Compose: /mnt/user0/SeaFile/DockerCompose/docker-compose.yml
  • Data Path: /mnt/user0/SeaFile/seafile-data/
  • Access Methods: HTTPS

Seafile Admin

Database (MariaDB)

  • Service: Seafile database
  • Container: seafile-mysql
  • Image: mariadb:10.6
  • Root Password: db_dev
  • Seafile User: seafile
  • Seafile Password: 64f2db5e-6831-48ed-a243-d4066fe428f9
  • Databases: ccnet_db (users), seafile_db (data), seahub_db (web)
  • Access Methods: MySQL protocol (container)

Elasticsearch

  • Service: Seafile search indexing
  • Container: seafile-elasticsearch
  • Image: elasticsearch:7.17.26
  • Notes: Upgraded from 7.16.2 for kernel 6.12 compatibility
  • Access Methods: HTTP (container)

Microsoft Graph API (Email)

  • Service: Seafile email notifications via Graph
  • Tenant ID: ce61461e-81a0-4c84-bb4a-7b354a9a356d
  • Client ID: 15b0fafb-ab51-4cc9-adc7-f6334c805c22
  • Client Secret: rRN8Q~FPfSL8O24iZthi_LVJTjGOCZG.DnxGHaSk
  • Sender Email: noreply@azcomputerguru.com
  • Usage: Seafile email notifications via Graph API
  • Access Methods: Graph API

Migration Notes

  • Migrated from: Saturn (172.16.3.21) on 2025-12-27
  • Saturn Status: Seafile stopped, data intact for rollback (keep 1 week)

NPM Proxy Hosts Reference

ID Domain Backend SSL Cert Access Methods
1 emby.azcomputerguru.com 172.16.2.99:8096 npm-1 HTTPS
2 git.azcomputerguru.com 172.16.3.20:3000 npm-2 HTTPS
4 plexrequest.azcomputerguru.com 172.16.3.31:5055 npm-4 HTTPS
5 rmm-api.azcomputerguru.com 172.16.3.20:3001 npm-6 HTTPS
- unifi.azcomputerguru.com 172.16.3.28:8443 npm-5 HTTPS
8 sync.azcomputerguru.com 172.16.3.20:8082 npm-8 HTTPS

Tailscale Network

Tailscale IP Hostname Owner OS Notes
100.79.69.82 pfsense-1 mike@ freebsd Gateway
100.125.36.6 acg-m-l5090 mike@ windows Workstation
100.92.230.111 acg-tech-01l mike@ windows Tech laptop
100.96.135.117 acg-tech-02l mike@ windows Tech laptop
100.113.45.7 acg-tech03l howard@ windows Tech laptop
100.77.166.22 desktop-hjfjtep mike@ windows Desktop
100.101.145.100 guru-legion9 mike@ windows Laptop
100.119.194.51 guru-surface8 howard@ windows Surface
100.66.103.110 magus-desktop rob@ windows Desktop
100.66.167.120 magus-pc rob@ windows Workstation

SSH Public Keys

guru@wsl (Windows/WSL)

  • User: guru
  • Sudo Password: Window123!@#-wsl
  • Key Type: ssh-ed25519
  • Public Key: AAAAC3NzaC1lZDI1NTE5AAAAIAWY+SdqMHJP5JOe3qpWENQZhXJA4tzI2d7ZVNAwA/1u guru@wsl
  • Usage: WSL SSH authentication
  • Authorized on: GuruRMM build server, IX server

azcomputerguru@local (Mac)

  • User: azcomputerguru
  • Key Type: ssh-ed25519
  • Public Key: AAAAC3NzaC1lZDI1NTE5AAAAIDrGbr4EwvQ4P3ZtyZW3ZKkuDQOMbqyAQUul2+JE4K4S azcomputerguru@local
  • Usage: Mac SSH authentication
  • Authorized on: GuruRMM build server, IX server

MSP Tools

Syncro (PSA/RMM) - AZ Computer Guru

Autotask (PSA) - AZ Computer Guru

CIPP (CyberDrain Improved Partner Portal)

  • Service: M365 management portal
  • URL: https://cippcanvb.azurewebsites.net
  • Tenant ID: ce61461e-81a0-4c84-bb4a-7b354a9a356d
  • API Client Name: ClaudeCipp2 (working)
  • App ID (Client ID): 420cb849-542d-4374-9cb2-3d8ae0e1835b
  • Client Secret: MOn8QotmxJPLvmL_aCVTV8Va4t4~SrYrukGbJT
  • Scope: api://420cb849-542d-4374-9cb2-3d8ae0e1835b/.default
  • CIPP-SAM App ID: 91b9102d-bafd-43f8-b17a-f99479149b07
  • IP Range: 0.0.0.0/0 (all IPs allowed)
  • Auth Method: OAuth 2.0 Client Credentials
  • Updated: 2025-12-23
  • Notes: Working API client
  • Access Methods: REST API (OAuth 2.0)

CIPP API Usage (Bash)

# Get token
ACCESS_TOKEN=$(curl -s -X POST "https://login.microsoftonline.com/ce61461e-81a0-4c84-bb4a-7b354a9a356d/oauth2/v2.0/token" \
  -d "client_id=420cb849-542d-4374-9cb2-3d8ae0e1835b" \
  -d "client_secret=MOn8Q~otmxJPLvmL~_aCVTV8Va4t4~SrYrukGbJT" \
  -d "scope=api://420cb849-542d-4374-9cb2-3d8ae0e1835b/.default" \
  -d "grant_type=client_credentials" | python3 -c "import sys, json; print(json.load(sys.stdin).get('access_token', ''))")

# Query endpoints (use tenant domain or tenant ID as TenantFilter)
curl -s "https://cippcanvb.azurewebsites.net/api/ListLicenses?TenantFilter=sonorangreenllc.com" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}"

Old CIPP API Client (DO NOT USE)

  • App ID: d545a836-7118-44f6-8852-d9dd64fb7bb9
  • Status: Authenticated but all endpoints returned 403

Claude-MSP-Access (Multi-Tenant Graph API)

  • Service: Direct Graph API access for M365 investigations
  • Tenant ID: ce61461e-81a0-4c84-bb4a-7b354a9a356d
  • App ID (Client ID): fabb3421-8b34-484b-bc17-e46de9703418
  • Client Secret: QJ8QNyQSs4OcGqHZyPrA2CVnq9KBfKiimntbMO
  • Secret Expires: 2026-12 (24 months)
  • Sign-in Audience: Multi-tenant (any Entra ID org)
  • Purpose: Direct Graph API access for M365 investigations and remediation
  • Admin Consent URL: https://login.microsoftonline.com/common/adminconsent?client_id=fabb3421-8b34-484b-bc17-e46de9703418&redirect_uri=https://login.microsoftonline.com/common/oauth2/nativeclient
  • Permissions: User.ReadWrite.All, Directory.ReadWrite.All, Mail.ReadWrite, MailboxSettings.ReadWrite, AuditLog.Read.All, Application.ReadWrite.All, DelegatedPermissionGrant.ReadWrite.All, Group.ReadWrite.All, SecurityEvents.ReadWrite.All, AppRoleAssignment.ReadWrite.All, UserAuthenticationMethod.ReadWrite.All
  • Created: 2025-12-29
  • Access Methods: Graph API (OAuth 2.0)

Usage (Python)

import requests

tenant_id = "CUSTOMER_TENANT_ID"  # or use 'common' after consent
client_id = "fabb3421-8b34-484b-bc17-e46de9703418"
client_secret = "~QJ8Q~NyQSs4OcGqHZyPrA2CVnq9KBfKiimntbMO"

# Get token
token_resp = requests.post(
    f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token",
    data={
        "client_id": client_id,
        "client_secret": client_secret,
        "scope": "https://graph.microsoft.com/.default",
        "grant_type": "client_credentials"
    }
)
access_token = token_resp.json()["access_token"]

# Query Graph API
headers = {"Authorization": f"Bearer {access_token}"}
users = requests.get("https://graph.microsoft.com/v1.0/users", headers=headers)

Client - MVAN Inc

Microsoft 365 Tenant 1

  • Service: M365 tenant
  • Tenant: mvan.onmicrosoft.com
  • Admin User: sysadmin@mvaninc.com
  • Password: r3tr0gradE99#
  • Notes: Global admin, project to merge/trust with T2
  • Access Methods: Web (M365 portal)

Client - BG Builders LLC

Microsoft 365 Tenant

  • Service: M365 tenant
  • Tenant: bgbuildersllc.com
  • CIPP Name: sonorangreenllc.com
  • Tenant ID: ededa4fb-f6eb-4398-851d-5eb3e11fab27
  • Admin User: sysadmin@bgbuildersllc.com
  • Password: Window123!@#-bgb
  • Added: 2025-12-19
  • Access Methods: Web (M365 portal)

Security Investigation (2025-12-22) - RESOLVED

  • Compromised User: Shelly@bgbuildersllc.com (Shelly Dooley)
  • Symptoms: Suspicious sent items reported by user
  • Findings:
    • Gmail OAuth app with EAS.AccessAsUser.All (REMOVED)
    • "P2P Server" app registration backdoor (DELETED by admin)
    • No malicious mailbox rules or forwarding
    • Sign-in logs unavailable (no Entra P1 license)
  • Remediation:
    • Password reset: 5ecwyHv6&dP7 (must change on login)
    • All sessions revoked
    • Gmail OAuth consent removed
    • P2P Server backdoor deleted
  • Status: RESOLVED

Client - Dataforth

Network

  • Subnet: 192.168.0.0/24
  • Domain: INTRANET (intranet.dataforth.com)

UDM (Unifi Dream Machine)

  • Service: Gateway/firewall
  • IP: 192.168.0.254
  • SSH User: root
  • SSH Password: Paper123!@#-unifi
  • Web User: azcomputerguru
  • Web Password: Paper123!@#-unifi
  • 2FA: Push notification enabled
  • Role: Gateway/firewall, OpenVPN server
  • Access Methods: SSH, Web (2FA)

AD1 (Domain Controller)

  • Service: Primary domain controller
  • IP: 192.168.0.27
  • Hostname: AD1.intranet.dataforth.com
  • User: INTRANET\sysadmin
  • Password: Paper123!@#
  • Role: Primary DC, NPS/RADIUS server
  • NPS Ports: 1812/1813 (auth/accounting)
  • Access Methods: RDP, WinRM

AD2 (Domain Controller)

  • Service: Secondary domain controller
  • IP: 192.168.0.6
  • Hostname: AD2.intranet.dataforth.com
  • User: INTRANET\sysadmin
  • Password: Paper123!@#
  • Role: Secondary DC, file server
  • Access Methods: RDP, WinRM

NPS RADIUS Configuration

  • Client Name: unifi
  • Client IP: 192.168.0.254
  • Shared Secret: Gptf*77ttb!@#!@#
  • Policy: "Unifi" - allows Domain Users
  • Access Methods: RADIUS protocol

D2TESTNAS (SMB1 Proxy)

  • Service: DOS machine SMB1 proxy
  • IP: 192.168.0.9
  • Web/SSH User: admin
  • Web/SSH Password: Paper123!@#-nas
  • Role: DOS machine SMB1 proxy
  • Added: 2025-12-14
  • Access Methods: Web, SSH

Dataforth - Entra App Registration (Claude-Code-M365)

  • Service: Silent Graph API access to Dataforth tenant
  • Tenant ID: 7dfa3ce8-c496-4b51-ab8d-bd3dcd78b584
  • App ID (Client ID): 7a8c0b2e-57fb-4d79-9b5a-4b88d21b1f29
  • Client Secret: tXo8Q~ZNG9zoBpbK9HwJTkzx.YEigZ9AynoSrca3
  • Permissions: Calendars.ReadWrite, Contacts.ReadWrite, User.ReadWrite.All, Mail.ReadWrite, Directory.ReadWrite.All, Group.ReadWrite.All
  • Created: 2025-12-22
  • Access Methods: Graph API

Client - CW Concrete LLC

Microsoft 365 Tenant

  • Service: M365 tenant
  • Tenant: cwconcretellc.com
  • CIPP Name: cwconcretellc.com
  • Tenant ID: dfee2224-93cd-4291-9b09-6c6ce9bb8711
  • Default Domain: NETORGFT11452752.onmicrosoft.com
  • Notes: De-federated from GoDaddy 2025-12, domain needs re-verification
  • Access Methods: Web (M365 portal)

Security Investigation (2025-12-22) - RESOLVED

  • Findings:
    • Graph Command Line Tools OAuth consent with high privileges (REMOVED)
    • "test" backdoor app registration with multi-tenant access (DELETED)
    • Apple Internet Accounts OAuth (left - likely iOS device)
    • No malicious mailbox rules or forwarding
  • Remediation:
    • All sessions revoked for all 4 users
    • Backdoor apps removed
  • Status: RESOLVED

Client - Valley Wide Plastering

Network

  • Subnet: 172.16.9.0/24

UDM (UniFi Dream Machine)

  • Service: Gateway/firewall
  • IP: 172.16.9.1
  • SSH User: root
  • SSH Password: Gptf*77ttb123!@#-vwp
  • Role: Gateway/firewall, VPN server, RADIUS client
  • Access Methods: SSH, Web

VWP-DC1 (Domain Controller)

  • Service: Primary domain controller
  • IP: 172.16.9.2
  • Hostname: VWP-DC1
  • User: sysadmin
  • Password: r3tr0gradE99#
  • Role: Primary DC, NPS/RADIUS server
  • Added: 2025-12-22
  • Access Methods: RDP, WinRM

NPS RADIUS Configuration

  • RADIUS Server: 172.16.9.2
  • RADIUS Ports: 1812 (auth), 1813 (accounting)
  • Clients: UDM (172.16.9.1), VWP-Subnet (172.16.9.0/24)
  • Shared Secret: Gptf*77ttb123!@#-radius
  • Policy: "VPN-Access" - allows all authenticated users (24/7)
  • Auth Methods: All (PAP, CHAP, MS-CHAP, MS-CHAPv2, EAP)
  • User Dial-in: All VWP_Users set to Allow
  • AuthAttributeRequired: Disabled on clients
  • Tested: 2025-12-22, user cguerrero authenticated successfully
  • Access Methods: RADIUS protocol

Client - Khalsa

Network

  • Subnet: 172.16.50.0/24

UCG (UniFi Cloud Gateway)

  • Service: Gateway/firewall
  • IP: 172.16.50.1
  • SSH User: azcomputerguru
  • SSH Password: Paper123!@#-camden (reset 2025-12-22)
  • Notes: Gateway/firewall, VPN server, SSH key added but not working
  • Access Methods: SSH, Web

Switch

  • User: 8WfY8
  • Password: tI3evTNBZMlnngtBc
  • Access Methods: Web

Accountant Machine

  • IP: 172.16.50.168
  • User: accountant
  • Password: Paper123!@#-accountant
  • Added: 2025-12-22
  • Notes: VPN routing issue
  • Access Methods: RDP

Client - Scileppi Law Firm

DS214se (Source NAS - Migration Source)

  • Service: Legacy NAS (source)
  • IP: 172.16.1.54
  • SSH User: admin
  • Password: Th1nk3r^99
  • Storage: 1.8TB (1.6TB used)
  • Data: User home folders (admin, Andrew Ross, Chris Scileppi, Samantha Nunez, etc.)
  • Access Methods: SSH, Web

Unraid (Source - Migration)

  • Service: Legacy Unraid (source)
  • IP: 172.16.1.21
  • SSH User: root
  • Password: Th1nk3r^99
  • Role: Data source for migration to RS2212+
  • Access Methods: SSH, Web

RS2212+ (Destination NAS)

  • Service: Primary NAS (destination)
  • IP: 172.16.1.59
  • Hostname: SL-SERVER
  • SSH User: sysadmin
  • Password: Gptf*77ttb123!@#-sl-server
  • SSH Key: claude-code@localadmin added to authorized_keys
  • Storage: 25TB total, 6.9TB used (28%)
  • Data Share: /volume1/Data (7.9TB - Active, Closed, Archived, Billing, MOTIONS BANK)
  • Notes: Migration and consolidation complete 2025-12-29
  • Access Methods: SSH (key + password), Web, SMB

RS2212+ User Accounts (Created 2025-12-29)

Username Full Name Password Notes
chris Chris Scileppi Scileppi2025! Owner
andrew Andrew Ross Scileppi2025! Staff
sylvia Sylvia Scileppi2025! Staff
rose Rose Scileppi2025! Staff
(TBD) 5th user - Name pending

Migration/Consolidation Status - COMPLETE

  • Completed: 2025-12-29
  • Final Structure:
    • Active: 2.5TB (merged Unraid + DS214se Open Cases)
    • Closed: 4.9TB (merged Unraid + DS214se Closed Cases)
    • Archived: 451GB
    • MOTIONS BANK: 21MB
    • Billing: 17MB
  • Recycle Bin: Emptied (recovered 413GB)
  • Permissions: Group "users" with 775 on /volume1/Data

SSH Config File

File: ssh-config Generated from: credentials.md Last updated: 2025-12-16

Key Status

  • gururmm, ix: Mac + WSL keys authorized
  • jupiter, saturn: WSL key only (need to add Mac key)
  • pfsense, owncloud: May need key setup

Host Aliases

  • jupiter: 172.16.3.20:22 (root)
  • saturn: 172.16.3.21:22 (root)
  • pfsense: 172.16.0.1:2248 (admin)
  • owncloud / cloud: 172.16.3.22:22 (root)
  • gururmm / rmm: 172.16.3.30:22 (root)
  • ix / whm: ix.azcomputerguru.com:22 (root)
  • gitea / git.azcomputerguru.com: 172.16.3.20:2222 (git)

Default Settings

  • AddKeysToAgent: yes
  • IdentitiesOnly: yes
  • IdentityFile: ~/.ssh/id_ed25519

Multi-Tenant Security App Documentation

File: multi-tenant-security-app.md Purpose: Reusable Entra app for quick security investigations across client tenants

Purpose

Guide for creating a multi-tenant Entra ID app for MSP security investigations. This app provides:

  • Quick consent mechanism for client tenants
  • PowerShell investigation commands
  • BEC detection scripts
  • Mailbox forwarding rule checks
  • OAuth consent monitoring
API Permission Purpose
Microsoft Graph AuditLog.Read.All Sign-in logs, risky sign-ins
Microsoft Graph Directory.Read.All User enumeration, directory info
Microsoft Graph Mail.Read Read mailboxes for phishing/BEC
Microsoft Graph MailboxSettings.Read Detect forwarding rules
Microsoft Graph User.Read.All User profiles
Microsoft Graph SecurityEvents.Read.All Security alerts
Microsoft Graph Policy.Read.All Conditional access policies
Microsoft Graph RoleManagement.Read.All Check admin role assignments
Microsoft Graph Application.Read.All Detect suspicious app consents
https://login.microsoftonline.com/{CLIENT-TENANT-ID}/adminconsent?client_id={YOUR-APP-ID}

Permission Exclusion Files

file_permissions_excludes.txt

Purpose: Exclude list for file permission repairs using ManageACL Filters:

  • $Recycle.Bin
  • System Volume Information
  • RECYCLER
  • documents and settings
  • Users
  • pagefile.sys
  • hiberfil.sys
  • swapfile.sys
  • WindowsApps

file_permissions_profiles_excludes.txt

Purpose: Exclude list for profiles folder in Windows (currently empty) Note: Main file permission repairs target all folders except profiles, then profiles repair runs separately with different permissions

reg_permissions_excludes.txt

Purpose: Exclude list for registry permission repairs using SetACL Filters:

  • bcd00000000
  • system\controlset001
  • system\controlset002
  • classes\appx
  • wow6432node\classes
  • classes\wow6432node\appid
  • classes\wow6432node\protocols
  • classes\wow6432node\typelib
  • components\canonicaldata\catalogs
  • components\canonicaldata\deployments
  • components\deriveddata\components
  • components\deriveddata\versionedindex
  • microsoft\windows nt\currentversion\perflib\009
  • microsoft\windows nt\currentversion\perflib\currentlanguage
  • tweakingtemp

Quick Reference Commands (from credentials.md)

NPM API Auth

curl -s -X POST http://172.16.3.20:7818/api/tokens \
  -H "Content-Type: application/json" \
  -d '{"identity":"mike@azcomputerguru.com","secret":"Paper123!@#-unifi"}'

Gitea API

curl -H "Authorization: token 9b1da4b79a38ef782268341d25a4b6880572063f" \
  https://git.azcomputerguru.com/api/v1/repos/search

GuruRMM Health Check

curl http://172.16.3.20:3001/health

Summary Statistics

Credential Counts

  • SSH Servers: 17 (infrastructure + client sites)
  • Web Applications: 7 (Gitea, NPM, Cloudflare, CIPP, etc.)
  • Databases: 5 (PostgreSQL x2, MariaDB x2, MySQL x1)
  • API Keys/Tokens: 12 (Gitea, Cloudflare, WHM, Syncro, Autotask, CIPP, GuruRMM, etc.)
  • Microsoft Entra Apps: 5 (GuruRMM SSO, Seafile Graph, Claude-MSP-Access, Dataforth Claude-Code, CIPP)
  • SSH Keys: 3 (guru@wsl, azcomputerguru@local, gururmm-build-server)
  • Client Tenants: 5 (MVAN, BG Builders, Dataforth, CW Concrete, Valley Wide Plastering, Khalsa)
  • Client Networks: 4 (Dataforth, Valley Wide, Khalsa, Scileppi)
  • Tailscale Nodes: 10
  • NPM Proxy Hosts: 6

Infrastructure Components

  • Unraid Servers: 2 (Jupiter primary, Saturn secondary)
  • Domain Controllers: 3 (Dataforth AD1/AD2, VWP-DC1)
  • NAS Devices: 4 (Scileppi RS2212+, DS214se, Unraid, D2TESTNAS)
  • Network Gateways: 4 (pfSense, Dataforth UDM, VWP UDM, Khalsa UCG)
  • Build Servers: 1 (GuruRMM/GuruConnect)
  • Container Hosts: 1 (Jupiter)
  • VMs: 1 (OwnCloud)

Service Categories

  • Self-Hosted: Gitea, NPM, GuruRMM, GuruConnect, ClaudeTools, Seafile
  • MSP Tools: Syncro, Autotask, CIPP
  • Cloud Services: Cloudflare, Microsoft 365/Entra ID, Tailscale
  • Client Hosting: WHM/cPanel (IX, WebSvr)

Notes

  • All passwords are UNREDACTED for context recovery purposes
  • File locations are preserved for easy reference
  • Access methods documented for each service
  • Last updated dates included where available in source
  • Security incidents documented with resolution status
  • Migration statuses preserved for historical reference
  • SSH keys include full public key text for verification
  • API tokens include full values for immediate use
  • Database connection strings can be reconstructed from provided credentials

WARNING: This file contains sensitive credentials and should be protected accordingly. Do not commit to version control or share externally.