Version 1.1.0
Latest October 13, 2026Fixes found while testing the Linux server against the MonDesk Android app, plus security hardening and much friendlier packages. Fully compatible with MonDesk 1.0.12 and older. Tested on AlmaLinux 10.2 and Ubuntu 24.04.
Fixed
- Unblocking from MonDesk works. The rules list showed single addresses as
1.2.3.4/32, which unblocking then rejected as invalid — so a blocked connection could never be unblocked from the app - IPv6 firewall rules are applied with
ip6tables(they failed before); port-only blocks cover IPv4 and IPv6. Blocking the same thing twice no longer adds a duplicate rule, unblocking removes every copy, and loopback /0.0.0.0can’t be blocked - Failed logins were miscounted — lines from the 1st–9th of each month were skipped, the newer log format of Ubuntu 23.10+ wasn’t recognised, times were read as UTC instead of local time, IPv6 sources weren’t matched, and an SSH attempt for an unknown user was counted twice. Failed
suattempts are now detected too, results are newest first, and rotated logs are included when the period reaches back that far - IPv6 addresses in ports and connections are shown readably (they were raw hex), and IPv4-mapped addresses show as IPv4
- UDP listeners are listed (they never were)
- Collection could stop for good after lowering “retain snapshots” by a lot — fixed
- Logout now ends the session; the session lifetime setting is honoured and expired sessions are cleaned up
- Changing
admin_passwordinconfig.jsonnow takes effect when the service starts - The first snapshot is taken after 2 seconds instead of a full interval, and “database is locked” errors under concurrent requests are gone
Security
- A fresh install gets a random admin password, printed at the end of the install, instead of the shared default
changeme - Failed sign-ins are limited to 10 per IP per 15 minutes; only failures count, so clients that sign in again after a restart are never locked out, and the limit can’t be dodged with a forged header
- Sign-in takes as long for an unknown user as for a wrong password
config.json(which holds the admin password) is written atomically and readable by root only; an existing world-readable file is tightened on start- Web server time-outs on every connection, and the listening address is validated when settings are saved
Packaging
- .deb upgrades no longer reset your configuration — upgrading from 1.0.0 used to put the password back to
changemeand reset ports and TLS. Your existing file is now carried across - The installer tells you how to connect: the server’s real addresses and port, the admin user and password, the config / database / certificate paths, service and log commands, and the firewalld / ufw command when one is active. Show it again any time with
sudo /opt/backendsidemon/backendsidemon-info - The service starts right after a fresh install, and upgrades restart a running service
- Both packages depend on
iptables; install withdnf install ./…rpmorapt install ./…debso it is pulled in automatically - The EL8 package installs cleanly on EL8’s package manager