Tue 20 Oct 2026 · 07:00 SGT
Good morning. app-sg-1 is protected.
One report each morning from the tools on your own server: malware scan, updates due, firewall, certificates and backups. Fictional business, illustrative sample data.
Malware scans, last 7 days
ClamAV + Linux Malware Detect · 03:00 daily| Date | Files | Result |
|---|
To do
Outdated software
What's out of date, and what happens next
Operating-system security patches install themselves. App dependencies and plugins are listed here and applied in the monthly patch window, with your OK for anything that could break.
| Package | Installed → available | Type | Next step |
|---|
Dependency audit
npm audit · composer audit · DependabotPatch window
first Sunday, 02:00–04:00 SGTFirewall & access
Only the doors you need, and who holds the keys
Open ports, login protection and blocked attempts from the last 24 hours, as reported by UFW, CrowdSec and Cloudflare on your own accounts.
Firewall rules
UFW + DigitalOcean cloud firewall| Port | Service | Allowed from |
|---|---|---|
| 22 | SSH | Office IP + VPN only |
| 80 | HTTP | Cloudflare IPs only |
| 443 | HTTPS | Cloudflare IPs only |
| 5432 | Postgres | Private network only |
| 3000 | App (Node.js) | localhost |
| * | Everything else | — |
Last rule change: 2 Oct 2026, port 8080 closed (old admin tool removed).
Login hardening
checked this morningBlocked attempts, last 24 hours
Top reasons
CrowdSec + Cloudflare WAFYou don't need to act on these: they were blocked automatically.
Backups & certificates
Backed up, restorable and renewing on time
Encrypted off-site backups every night, a restore test every month, and countdowns for everything that expires.
Recent backups
restic → off-site object storage · kept 30 days + 12 monthly| Started | Contents | Size | Status |
|---|
Restore tests
proof the backups actually workExpiry countdowns
alerts at 30, 14 and 3 days| Item | Expires | Left |
|---|