Cos'e' Plesk Watchdog
L'estensione Watchdog di Plesk e' un piccolo guardiano che monitora costantemente i servizi del server e li riavvia automaticamente in caso di crash o malfunzionamento. Watchdog protegge anche dai rootkit, monitora le modifiche ai file di sistema critici e invia alert all'amministratore.
E' uno strumento essenziale per server in produzione, specialmente quando l'amministratore non puo' monitorare manualmente 24/7.
Funzionalita' principali
- Service monitoring: controlla periodicamente se i servizi sono up
- Auto-restart: se un servizio crasha, lo riavvia automaticamente
- Rootkit detection: scansiona il filesystem alla ricerca di malware noti
- File integrity monitoring: controlla checksum di file di sistema critici
- System resource alerts: alert su utilizzo eccessivo CPU/RAM/disco
- Reports: report periodici via email
Installare Watchdog
Da Extensions Catalog cercare "Watchdog" e cliccare Install. L'estensione e' gratuita.
Da SSH:
plesk installer --select-product-id panel --select-release-current --install-component monitoring
Servizi monitorati
Watchdog monitora di default tutti i servizi gestiti da Plesk:
- Web server (Apache, Nginx)
- Mail server (Postfix, Dovecot, Qmail)
- Database (MySQL/MariaDB, PostgreSQL)
- DNS (BIND, PowerDNS)
- FTP (ProFTPD, Pure-FTPd)
- SSH (sshd)
- Plesk panel
Per ogni servizio si configurano:
- Check interval: ogni quanto verificare (default 60s)
- Action on fail: cosa fare se il servizio e' down (restart, alert, entrambi)
- Resource thresholds: CPU e memoria massima accettata
Configurazione: monitoring tab
Aprire Tools & Settings → Server Health Monitoring (Watchdog). Nel tab Monitoring:
- Selezionare il servizio
- Spuntare Monitor service
- Spuntare Auto-restart
- Impostare Maximum restart attempts (es. 3 in 10 minuti)
- Configurare alert email
Se i tentativi di restart superano il massimo, Watchdog smette di riprovare e invia alert critico.
Security tab: rootkit scanner
Watchdog integra chkrootkit e rkhunter per scansionare il sistema alla ricerca di rootkit noti.
Configurazione:
- Frequency: giornaliera/settimanale
- Schedule time: orario di esecuzione (preferire orari di basso traffico)
- Update virus database: aggiorna firme prima di ogni scan
- Email report: invia esito scan
File integrity monitoring
Tramite Tripwire-like integrato, Watchdog calcola hash SHA-256 di file di sistema critici e verifica periodicamente che non siano stati modificati. Una modifica non autorizzata genera alert.
File tipicamente monitorati:
- /etc/passwd, /etc/shadow
- /etc/sudoers
- Binari /usr/bin, /usr/sbin
- File di configurazione Plesk
System resources alerts
Watchdog puo' inviare alert su soglie:
- CPU > 90% per più' di 5 minuti
- RAM disponibile < 10%
- Swap utilizzato > 50%
- Disco > 85% pieno
- Load average > numero di CPU x 2
Report periodici
Email periodiche (giornaliere/settimanali) con:
- Servizi monitorati e loro stato
- Restart effettuati
- Risultati scansioni rootkit
- File modificati
- Statistiche di utilizzo risorse
Esempi pratici di restart automatico
Scenario 1: MySQL crasha per OOM (out of memory) di notte. Watchdog lo riavvia entro 60 secondi: i siti restano offline solo 1 minuto.
Scenario 2: Apache si blocca per memory leak di un plugin PHP. Watchdog rileva l'anomalia e fa restart graceful.
Scenario 3: bot attacca SSH e provoca crash di sshd. Watchdog riavvia sshd e fail2ban banna l'IP.
Limiti
Watchdog risolve i crash temporanei ma non sostituisce una corretta diagnosi: se un servizio crasha ripetutamente serve analizzare i log e risolvere la causa root. Watchdog acquista tempo, non fa magia.
Configurazione email per alert
Configurare destinatari multipli per alert critici:
- Admin principale
- Mailing list del team operations
- Sistema di ticketing (es. email-to-ticket di Zendesk, Freshdesk)
Schedule scan rootkit
Le scansioni rootkit sono pesanti (CPU intensive, durano 5-30 minuti). Schedularle in orario di basso traffico (es. domenica 3am).
False positive di chkrootkit
chkrootkit puo' segnalare falsi positivi su sistemi recenti con kernel module particolari. Documentazione del progetto consiglia di:
- Tenere chkrootkit aggiornato
- Usarlo come uno degli strumenti, non l'unico
- Affiancarlo a rkhunter
- Per casi sospetti, usare tool dedicati come Lynis
Integration con Wazuh / OSSEC
Per security monitoring enterprise considerare di affiancare a Watchdog un'agent Wazuh/OSSEC che fa HIDS (Host Intrusion Detection System) avanzato con SIEM centralizzato.
Watchdog vs systemd
Systemd di per se' offre Restart=always per restart automatico dei servizi. Watchdog aggiunge a questo:
- Restart con backoff esponenziale
- Notifiche email integrate Plesk
- Resource monitoring
- Rootkit scanner
- File integrity
I due si complementano: systemd a basso livello, Watchdog a livello applicativo Plesk.
Disabilitare temporaneamente
Durante manutenzione pianificata (es. update major MySQL), disabilitare temporaneamente Watchdog per evitare restart spuri:
plesk bin watchdog --disable # manutenzione plesk bin watchdog --enable
Log Watchdog
Log dettagliati in /var/log/plesk/watchdog.log. Conservare per audit di security incidents.
Watchdog non sostituisce monitoring esterno
Watchdog gira sul server stesso: se il server cade completamente, Watchdog cade con esso. Affiancare sempre un monitoring esterno (UptimeRobot, Pingdom, Better Uptime) che verifica raggiungibilita' dall'esterno.
Best practice per il deploy
Setup tipico raccomandato per server di produzione:
- Watchdog installato e configurato per tutti i servizi critici
- Health Monitor con alert thresholds
- Fail2Ban con tutte le jail attive
- Backup automatico giornaliero in destinazione remota
- Monitoring esterno (UptimeRobot)
- SSH access limitato a IP fidati
- Plesk Advisor periodicamente per security check
Cost vs benefit
Watchdog e' gratuito ed ha impatto trascurabile sulle risorse. Il rapporto cost/benefit e' eccellente: anche un solo restart automatico evitato di un downtime notturno ripaga ampiamente lo sforzo di configurazione iniziale.
Hai bisogno di aiuto?
Se vuoi gestione Plesk dal team di G Tech Group, scrivici tramite il modulo di contatto.