MikroTik Manager

Security Whitepaper
Document Version
2.2
Product Version
1.17.0
Date
April 2026
Author
Ihor Hreskiv
🔒

Fully self-hosted. No data leaves the customer's network. No cloud. No telemetry. No phone-home.

1. Architecture Overview

MikroTik Manager is a fully self-hosted network management application distributed as a Docker container. It runs entirely within the customer's own infrastructure.

CUSTOMER NETWORK Web Browser HTTPS / WSS MikroTik Manager Docker Container SQLite • Node.js • JWT MikroTik 1 SSH / REST / SNMP MikroTik 2 SSH / REST / SNMP MikroTik N SSH / REST / SNMP No Cloud No Telemetry

2. Data Residency & Privacy

AspectDetail
Data storageLocal SQLite database inside Docker volume
Data locationCustomer's server only — no cloud, no external storage
TelemetryNONE — no usage data, analytics, or crash reports
Phone-homeNONE — works fully offline after installation
License activationOffline — validated locally, no external server contact
External connectionsOnly to MikroTik devices within the customer's network
Config backupsStored in the local database

3. Authentication & Authorization

3.1 User Authentication

3.2 Role-Based Access Control

RoleCapabilities
AdminFull access: user management, device CRUD, commands, upgrades, service toggles
OperatorDevice management, command execution, upgrades, backups
ViewerRead-only: dashboard, device status, interface views

3.3 Device Credential Security

Recommended: create a dedicated MikroTik user group with minimal policies:

/user/group/add name=manager-group policy=ssh,reboot,read,write,sensitive,rest-api,policy,!local,!telnet,!ftp,!test,!winbox,!password,!web,!sniff,api,!romon

4. Network Security

4.1 Transport Encryption

4.2 Device Communication

MethodProtocolEncryptionUse Case
SSHTCP/22EncryptedDefault, best compatibility
REST APIHTTPS/443TLSRouterOS 7.1+
SNMPUDP/161SNMPv2cMonitoring only, no write ops

4.3 Network Exposure

5. Data Protection

Encryption at Rest

DataProtection
Device passwordsAES-256-GCM with unique IV per value
User passwordsbcrypt hash (irreversible)
Device configsLocal SQLite — OS-level file permissions
JWT & encryption secretsAuto-generated on fresh install, persisted to data/.secrets.json (mode 0600); env vars take priority when set

Encryption in Transit

ChannelProtection
Browser ↔ ManagerHTTPS/TLS (recommended for production)
Manager ↔ MikroTik (SSH)SSH protocol encryption
Manager ↔ MikroTik (REST)HTTPS/TLS
WebSocketWSS when TLS enabled

6. Container Security

7. Dependency Management

8. Supply Chain Security

MikroTik Manager minimizes supply chain risk through controlled dependencies, reproducible builds, and a fully self-contained distribution model.

8.1 Docker Image Integrity

8.2 Dependency Controls

8.3 Build Process

8.4 Runtime Isolation

9. OWASP Top 10 Coverage

A01
Broken Access Control
RBAC with three roles, JWT middleware on all API routes
A02
Cryptographic Failures
AES-256-GCM for secrets, bcrypt for passwords, TLS support
A03
Injection
Parameterized SQLite queries, input validation
A04
Insecure Design
Principle of least privilege for MikroTik user groups
A05
Security Misconfiguration
Secure defaults, configurable via environment variables
A06
Vulnerable Components
Alpine-based image, pinned dependencies
A07
Auth Failures
JWT with short expiry, bcrypt, role enforcement, refresh-token invalidation on password change
A08
Data Integrity Failures
No external code execution, no untrusted deserialization
A09
Logging Failures
Structured logging, no sensitive data in logs
A10
SSRF
No user-controlled outbound requests, device IPs validated

10. Deployment Recommendations

1
Use HTTPS — enable TLS or deploy behind a TLS-terminating reverse proxy
2
Change the default admin/admin password immediately after first login. Delete the admin account once a named admin exists — it will not be re-created.
3
Back up data/.secrets.json alongside the database — secrets are auto-generated on fresh installs and losing this file invalidates all sessions and makes encrypted device passwords unrecoverable. To override or rotate, set JWT_SECRET / ENCRYPTION_KEY via environment (openssl rand -hex 48 / -hex 32).
4
Network segmentation — deploy in the management VLAN with MikroTik devices
5
Restrict access — firewall rules to limit access to management interface
6
Regular backups — back up data/mikr.db per your backup policy
7
Keep updated — apply updates for security fixes
8
Minimal MikroTik permissions — use the recommended limited user group

11. Compliance Notes

RequirementStatus
Data sovereigntyFull — all data stored locally, no cloud
GDPRNo personal data processed beyond user account names
Network isolationSupported — works in air-gapped environments
Audit trailCommand history with user attribution and timestamps
Access controlRole-based with three permission levels

12. Vulnerability Reporting

To report a security vulnerability, contact: ihor@hreskiv.pl

We take security reports seriously and will respond within 48 hours.