Skip to content

Commit 6bc2fa5

Browse files
authored
Merge pull request #178 from sgevorgyancl/feature/panel_notifications
DEF-35997 Documentation: Panel notifications (iContact messages) via cPanel/Plesk
2 parents f6e6381 + 2f454d8 commit 6bc2fa5

5 files changed

Lines changed: 200 additions & 4 deletions

File tree

docs/.vuepress/config-client/sidebar.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ export default {
5151
{
5252
collapsable: false,
5353
children: [
54-
"/features/"
54+
"/features/",
55+
"/features/panel_notifications/"
5556
]
5657
},
5758
],

docs/config_file_description/README.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Config File Description
1+
# Config File Description
22

33

44
Imunify360 config file is available on the following location after installation:
@@ -200,6 +200,8 @@ Scanner's behaviour is based on other scan optimizations, therefore it is better
200200
</tr>
201201
<tr><td><span class="notranslate">compromised_user_password_reset: True</span></td>
202202
<td># enables resetting passwords for compromised cPanel accounts. Upon activating this functionality, our platform will detect instances where a cPanel account password has been breached and will subsequently prevent access using the previous password. End-users will then be prompted to create a new password via the <a href="https://docs.cpanel.net/knowledge-base/security/how-to-reset-a-cpanel-account-password/" target="_blank">cPanel password reset process</a>.</td></tr>
203+
<tr><td><span class="notranslate">generic_user_notifications: True</span></td>
204+
<td># allow sending user-targeted generic notifications (iContact messages) to panel end users when applicable. Default value is True.</td></tr>
203205
<tr>
204206
<th colspan="2" align="left"><span class="notranslate">ERROR_REPORTING:</span></th>
205207
</tr>
@@ -368,6 +370,8 @@ If a non-eligible interval is configured, the agent will ignore it and keep the
368370
<tr><th colspan="2" align="left"><span class="notranslate">ADMIN_CONTACTS:</span></th></tr>
369371
<tr><td><span class="notranslate">emails: youremail@email.com</span></td>
370372
<td># your email to receive reports about critical issues, security alerts or system misconfigurations detected on your servers.</td></tr>
373+
<tr><td><span class="notranslate">enable_icontact_notifications: True</span></td>
374+
<td># enable/disable delivery of generic (iContact) messages via hosting panel notifications (cPanel iContact / Plesk Notifications). Messages are provided by the Imunify backend (subject + HTML body) and throttled by a per-message period limit. Default value is True. See <a href="/features/panel_notifications/">Panel notifications (iContact)</a>.</td></tr>
371375
<tr><th colspan="2" align="left"><span class="notranslate">SMTP_BLOCKING:</span></th></tr>
372376
<tr><td><span class="notranslate">enable: False</span></td>
373377
<td># enable (<span class="notranslate">True</span>) or disable (<span class="notranslate">False</span>) (default value) SMTP Traffic Management. When enabled, the outgoing SMTP traffic would be blocked according to the settings.</td></tr>
@@ -473,3 +477,25 @@ imunify360-agent config update '{"ADMIN_CONTACTS": {"emails": ["email@domain.com
473477
```
474478
</div>
475479

480+
To enable or disable panel notifications (iContact messages), use:
481+
482+
<div class="notranslate">
483+
484+
```
485+
imunify360-agent config update '{"ADMIN_CONTACTS": {"enable_icontact_notifications": true}}'
486+
```
487+
488+
```
489+
imunify360-agent config update '{"ADMIN_CONTACTS": {"enable_icontact_notifications": false}}'
490+
```
491+
</div>
492+
493+
To disable user-targeted delivery of generic notifications (iContact messages), use:
494+
495+
<div class="notranslate">
496+
497+
```
498+
imunify360-agent config update '{"CONTROL_PANEL": {"generic_user_notifications": false}}'
499+
```
500+
</div>
501+

docs/features/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,10 @@ Disable (default):
304304

305305
## Notifications
306306

307+
::::tip Note
308+
This section describes Imunify event notifications (emails/scripts) configured in Imunify UI and via `notifications-config`. For panel notifications (iContact messages) delivered via cPanel iContact or Plesk Notifications, see [Panel notifications (iContact)](/features/panel_notifications/).
309+
::::
310+
307311
Starting from version 4.10, an administrator is able to configure email addresses to submit reports and execute custom scripts. Go to <span class="notranslate">_Settings_</span> and choose <span class="notranslate">_Notifications_</span> tab.
308312

309313
![](/images/notifications.png)
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
# Panel notifications (iContact messages)
2+
3+
[[TOC]]
4+
5+
## Overview
6+
7+
Imunify can deliver **generic panel notifications** (also referred to as **iContact messages**) through the hosting panel’s native notification mechanism. These notifications are generated by Imunify and delivered by the panel:
8+
9+
- **cPanel/WHM**: delivered via **cPanel iContact** (WHM → *Contact Manager*)
10+
- **Plesk**: delivered by the **Imunify** Plesk extension via **Plesk Notifications** (*Tools & Settings → Notifications* / Notification Center)
11+
12+
This mechanism is **separate** from Imunify’s event notifications configured in Imunify UI (**Settings → Notifications**) or via `imunify360-agent notifications-config`. See also: [Notifications](/features/#notifications).
13+
14+
## What gets reported
15+
16+
Generic (iContact) notifications are **HTML-capable messages** with a subject and body provided by the Imunify backend. They typically include security alerts and recommendations, for example:
17+
18+
- malware detected / suspicious activity
19+
- scan not scheduled / scan not running
20+
- CMS security signals (for example, insecure WordPress core or vulnerable themes/plugins)
21+
22+
Each notification has its own backend-defined cooldown (period limit), and the agent enforces it.
23+
24+
## Who receives these messages
25+
26+
A notification can be addressed either:
27+
28+
- to the **server administrator** (panel admin) — when no specific user is provided, or
29+
- to a **specific panel user** (customer/reseller) — when a target user login is provided by the backend.
30+
31+
User-targeted delivery is controlled by `CONTROL_PANEL.generic_user_notifications` (default: `True`).
32+
33+
## Licensing
34+
35+
Panel notifications do **not** require an additional add-on license. They are controlled by a configuration option and are available on supported panels where the delivery channel exists (cPanel/WHM, Plesk).
36+
37+
## Requirements
38+
39+
- **Imunify360 or ImunifyAV/AV+** installed and running.
40+
- **For Plesk delivery**: Plesk installed, and the Imunify extension installed/enabled in Plesk.
41+
- **For cPanel delivery**: cPanel/WHM installed, and WHM Contact Manager configured with at least one destination.
42+
43+
## Configuration (Imunify)
44+
45+
The feature is controlled by Imunify configuration keys:
46+
47+
- **Config path**: `/etc/sysconfig/imunify360/imunify360.config` (or a file in `/etc/sysconfig/imunify360/imunify360.config.d/`)
48+
- **Keys**:
49+
- `ADMIN_CONTACTS.enable_icontact_notifications` (**default:** `True`)
50+
- `CONTROL_PANEL.generic_user_notifications` (**default:** `True`, controls user-targeted delivery)
51+
52+
### Enable/disable in YAML
53+
54+
<div class="notranslate">
55+
56+
```
57+
ADMIN_CONTACTS:
58+
enable_icontact_notifications: True
59+
```
60+
</div>
61+
62+
### Enable/disable via CLI
63+
64+
**Imunify360:**
65+
66+
<div class="notranslate">
67+
68+
```
69+
imunify360-agent config update '{"ADMIN_CONTACTS": {"enable_icontact_notifications": true}}'
70+
```
71+
</div>
72+
73+
Disable:
74+
75+
<div class="notranslate">
76+
77+
```
78+
imunify360-agent config update '{"ADMIN_CONTACTS": {"enable_icontact_notifications": false}}'
79+
```
80+
</div>
81+
82+
**ImunifyAV/AV+:**
83+
84+
<div class="notranslate">
85+
86+
```
87+
imunify-antivirus config update '{"ADMIN_CONTACTS": {"enable_icontact_notifications": true}}'
88+
```
89+
</div>
90+
91+
### (Optional) Disable user-targeted delivery
92+
93+
If you want these notifications to go **only to the server administrator** and never to end users, disable `CONTROL_PANEL.generic_user_notifications`.
94+
95+
**Imunify360 (global):**
96+
97+
<div class="notranslate">
98+
99+
```
100+
imunify360-agent config update '{"CONTROL_PANEL": {"generic_user_notifications": false}}'
101+
```
102+
</div>
103+
104+
**Imunify360 (for a specific user):**
105+
106+
<div class="notranslate">
107+
108+
```
109+
imunify360-agent config update '{"CONTROL_PANEL": {"generic_user_notifications": false}}' --user <username>
110+
```
111+
</div>
112+
113+
**ImunifyAV/AV+:**
114+
115+
<div class="notranslate">
116+
117+
```
118+
imunify-antivirus config update '{"CONTROL_PANEL": {"generic_user_notifications": false}}'
119+
```
120+
</div>
121+
122+
## Plesk: managing delivery with Plesk Notifications
123+
124+
When Imunify runs under Plesk, it relies on the **Imunify Plesk extension** to dispatch these messages via Plesk notifications.
125+
126+
- **Where you see it**: in Plesk’s Notification Center, and/or as emails depending on your Plesk notification settings.
127+
- **Where you configure delivery**: Plesk → **Tools & Settings → Notifications** (choose recipients and optionally add a custom email address).
128+
129+
### Manual test (advanced)
130+
131+
On a server with the Imunify extension installed, run:
132+
133+
<div class="notranslate">
134+
135+
```
136+
echo '{"message_type":"Generic","params":{"subject":"Test Generic","body_html":"<p>Hello from Imunify</p>"},"user":"client_login"}' | sudo /opt/imunify360/venv/share/imunify360/scripts/send-notifications
137+
```
138+
</div>
139+
140+
**Payload fields:**
141+
- `message_type`: must be `Generic`
142+
- `params.subject`: notification subject
143+
- `params.body_html`: HTML body (preferred)
144+
- `params.body` / `params.text`: plain-text fallback (optional)
145+
- `user`: Plesk login to receive the message (optional). If omitted, the Admin user is used.
146+
147+
### Plesk CLI (optional)
148+
149+
Plesk email notification settings can also be managed via `plesk bin notification`. See: [How to manage Plesk email notifications via CLI](https://plesk.com/kb/support/how-to-manage-plesk-email-notifications-via-cli/).
150+
151+
::::warning
152+
We recommend sending security-related Imunify notifications to the **server administrator** (or a dedicated security mailbox) and not to end customers unless you have a clear operational process in place.
153+
::::
154+
155+
## cPanel/WHM: delivery via iContact
156+
157+
On cPanel/WHM, Imunify uses cPanel’s iContact system. To manage recipients and channels, use:
158+
159+
- WHM → **Home → Server Contacts → Contact Manager**
160+
161+
Make sure at least one destination (email/SMS/etc.) is configured there. Imunify only controls whether these messages are generated (via `enable_icontact_notifications`); delivery is handled by cPanel.
162+

docs/imunifyav/config_file_description/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Config File Description
1+
# Config File Description
22

33

44
ImunifyAV(+) config file is available on the following location after installation:
@@ -59,7 +59,10 @@ In the config file it is possible to set up ImunifyAV(+) configuration. The foll
5959
<tr><td><span class="notranslate">emails: youremail@email.com</span></td>
6060
<td># your email to receive reports about critical issues, security alerts or system misconfigurations detected on your servers.</td></tr>
6161
<tr><td><span class="notranslate">enable_icontact_notifications: True</span></td>
62-
<td># receive notifications about malicious activity detected (no more than once in 24h) and when malware scan was not performed for not more than once per week (once a week). Available for cPanel and cPanel-supported OSes. Default value is True.</td></tr>
62+
<td># enable/disable delivery of generic (iContact) messages via hosting panel notifications (cPanel iContact / Plesk Notifications). Messages are provided by the Imunify backend (subject + HTML body) and throttled by a per-message period limit. Default value is True. See <a href="/features/panel_notifications/">Panel notifications (iContact)</a>.</td></tr>
63+
<tr><th colspan="2" align="left"><span class="notranslate">CONTROL_PANEL:</span></th></tr>
64+
<tr><td><span class="notranslate">generic_user_notifications: True</span></td>
65+
<td># allow sending user-targeted generic notifications (iContact messages) to panel end users when applicable. Default value is True.</td></tr>
6366
<tr><th colspan="2" align="left"><span class="notranslate">PERMISSIONS:</span></th></tr>
6467
<tr><td><span class="notranslate">support_form: True</span></td>
6568
<td># show (<span class="notranslate">True</span>) (the default value) or hide (<span class="notranslate">False</span>) the Support icon in the ImunifyAV(+) UI.</td></tr>

0 commit comments

Comments
 (0)