Skip to content

Commit

Permalink
Merge pull request #268 from silversword411/main
Browse files Browse the repository at this point in the history
v0.19 additions
  • Loading branch information
wh1te909 authored Jul 12, 2024
2 parents 5840f5d + 1bd94f6 commit 65fb908
Show file tree
Hide file tree
Showing 30 changed files with 691 additions and 114 deletions.
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Run MkDocs",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/env/Scripts/mkdocs",
"args": [
"serve"
],
"preLaunchTask": "Run MkDocs"
}
]
}
20 changes: 20 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@
"Splashtop"
],
"cSpell.words": [
"aarch",
"aclcrt",
"agentstats",
"agentupdate",
"allowfullscreen",
"Amidaware",
"anydesk",
"arecords",
"asgi",
"ashx",
"Authy",
"autoagentupdate",
"Axxxxxxx",
"backendpool",
Expand All @@ -37,31 +40,39 @@
"createsuperuser",
"CXXXXXXXXXXXXXXXXX",
"defaultrule",
"Deno",
"devs",
"dinger",
"distro",
"dnschallenge",
"dnstxt",
"dnsutils",
"DOMAINNAME",
"dontlognull",
"DWORD",
"entrypoints",
"exitcode",
"fontawesome",
"forwardfor",
"Forwardto",
"freepbx",
"frontends",
"fullchain",
"gantt",
"gettingstarted",
"grafana",
"gravityzone",
"healthcheck",
"helpdesk",
"Hetzner",
"HKEY",
"howitallworks",
"httpclose",
"icanhazip",
"inlinehilite",
"INNO",
"inspectiondelay",
"irulez",
"isnull",
"journalctl",
"ldez",
Expand All @@ -79,6 +90,7 @@
"meshrelay",
"middlewares",
"MITM",
"Moba",
"mongod",
"mongopass",
"mongouser",
Expand All @@ -95,6 +107,8 @@
"nofile",
"nokeepalive",
"nopush",
"Nushell",
"onprem",
"opnsensetcp",
"pidfile",
"postgrespass",
Expand All @@ -106,6 +120,7 @@
"proxying",
"proxypass",
"psycopg",
"PWSH",
"pycparser",
"pycryptodome",
"pymdownx",
Expand All @@ -120,8 +135,10 @@
"resetaccount",
"rlimit",
"RMM's",
"rmmlogin",
"sadnub",
"screenconnect",
"Sekret",
"sendfile",
"serverlist",
"silversword",
Expand All @@ -147,19 +164,22 @@
"twemoji",
"txnhost",
"txnpath",
"txtrecord",
"unins",
"Upstreams",
"urllib",
"USERDIR",
"usesrc",
"uwsgi",
"VERYSILENT",
"Vultr",
"walkthru",
"Webroot",
"websockets",
"WSGI",
"yourdomain",
"YOURWANIP",
"Zammad",
"Zerotier",
"zipp"
]
Expand Down
39 changes: 39 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Activate Python Environment",
"type": "shell",
"command": "python -m venv env; .\\env\\Scripts\\activate",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Install Requirements",
"type": "shell",
"command": "python -m pip install --upgrade pip; pip install --upgrade setuptools wheel; pip install -r requirements.txt",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Run MkDocs",
"type": "shell",
"command": "Start-Process http://localhost:8005; mkdocs serve",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"Activate Python Environment",
"Install Requirements"
]
}
]
}
64 changes: 64 additions & 0 deletions docs/3rdparty_zammad.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
### Zammad Setup

1. **Install Zammad:**
Follow the installation instructions provided in the [Zammad documentation](https://docs.zammad.org/en/latest/).

2. **Generate API Token:**
- Click on your User Initials in Zammad.
- Navigate to Profile > Token Access.
- Click "Create".
- Name the Token "Tactical RMM" and select "Ticket Agent".
- Click "Create" to generate the token.

3. **Add Customers and Emails:**
Ensure each customer in Zammad has a corresponding email associated.

---

### Tactical RMM Setup

1. **Add Custom Field in Sites:**
- Add a custom field under Sites called `Zammad-Email`
- Populate this field with the corresponding email addresses from Zammad to match up with customers.

2. **Add Webhook:**

- **URL Pattern:** `https://your_zammad_domain.com/api/v1/tickets`
- **Method:** POST

3. **Request Headers:**
```json
{
"Content-Type": "application/json",
"Authorization": "Bearer your_generated_token_here"
}
```

Replace your_generated_token_here with the actual API token generated from Zammad.

4. **Request Body:**
```json
{
"title": "{{ alert.severity }} on {{ agent.hostname }}",
"group": "Users",
"customer": "{{ client.Zammad-Email }}",
"article": {
"subject": "{{ alert.severity }} on {{ agent.hostname }}",
"body": "Client: {{agent.site.client.name}}, Site: {{agent.site.name}}: {{ alert.message }} at {{ alert.alert_time }}",
"type": "note",
"internal": false
}
}
```
- `{{ alert.severity }}`, `{{ agent.hostname }}`, `{{ alert.message }}`, and `{{ alert.alert_time }}` are placeholders that will be replaced with actual data from Tactical RMM alerts.
- `{{ client.Zammad-Email }}` refers to the custom field you added under Sites where you store the corresponding Zammad email for each customer.

5. **Add Webhook to Alert Policy**:

- Assign the webhook to the appropriate Alert Policy that is assigned to customers in Tactical RMM.

### Notes:

- Ensure that the API token in the Authorization header (Bearer your_generated_token_here) has the necessary permissions (e.g., ticket.agent) to create tickets in Zammad.
- Adjust the title, group, customer, article fields in the request body as per your specific requirements and Zammad's API capabilities.
- Test the integration thoroughly to ensure that alerts from Tactical RMM are correctly creating tickets in Zammad with the expected data.
19 changes: 19 additions & 0 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,25 @@ You can help yourself by running [this](troubleshooting.md#server-troubleshootin

If you would like us to do it for you please [contact support](support.md#commercial-support).

## Should I use a Check or a Task?

Checks

- Run every 2-1440 mins (1 day max)
- Results are naturally graphed, and not logged to the agents "History" tab

Tasks

- Is run using the Windows Task Scheduler on the agent.
- Although multiple times/day can be scheduled it's complicated and will clutter up your "History" tab.
- Best for periodic script runs that run daily/weekly/monthly/onboarding/once

## Is Tactical RMM vulnerable to Log4j

No.

## Terminology

Code Signing: A windows .exe cryptographic signing process that can't be forged. The only want to reliably whitelist your TRMM agent is to have a Code signed agent that you can give the signers public key to your security software to whitelist.

Mac/Linux Pre-Compiled binaries: Are provided by Amidaware so you can install agents on Mac and Linux. This requires [sponsorship](sponsor.md). If you want to test Mac/Linux agents please contact [support](ttps://support.amidaware.com) and open a ticket to request a 7 day hosted trial.
Loading

0 comments on commit 65fb908

Please sign in to comment.