Skip to content

MikroTik RouterOS

LCM supports MikroTik RouterOS as its own device type. Unlike Linux servers, there is no package management and no POSIX shell here - RouterOS ships its own CLI that accepts individual commands over SSH exec. Firewall management, CVE scanning, package sources and user sync are therefore not possible. LCM focuses on what matters: the currency of the RouterOS version.

  • Version currency: via /system package update check-for-updates the router itself reports whether a newer version of its channel is available. LCM compares installed-version with latest-version; if they differ, an update is available and the status light turns yellow - with the finding “A newer RouterOS version is available (x.y.z) - update recommended”. A current, reachable device reaches the top grade.

  • Basic inventory from /system resource print and /system routerboard print:

    FieldSource (RouterOS CLI)
    Version + channelversion (e.g. 7.15.3 (stable)) or check-for-updates
    Model / boardrouterboard model, else board-name/platform
    Architecturearchitecture-name (e.g. arm64, x86_64)
    CPU / corescpu, cpu-count
    RAM (total/used)total-memory, free-memory
    Storage (total/used)total-hdd-space, free-hdd-space

The channel (stable / long-term / testing) is taken from the parenthesized version or the channel field.

Firewall activity, SSH hardening and package CVEs do not factor into the grade for RouterOS - LCM cannot manage those areas there and therefore does not count them as shortcomings.

Add server → mode MikroTik RouterOS. Name, host/port (default SSH port 22) and a (preferably read-only) RouterOS user are enough. After confirming the host-key fingerprint (MitM protection, trust-on-first-use), LCM connects read-only. Two authentication methods:

  • Password: LCM connects immediately, reads version and inventory, and adds the device online. The password is stored AES-GCM encrypted. If LCM detects no RouterOS (no /system resource print result), onboarding aborts with a clear hint.

  • Public key: LCM generates a key pair and shows the public key. The device stays offline at first until you import the key on the router:

    /user ssh-keys import public-key-file=lcm.pub user=<user>

    The next refresh then connects and the device goes online.

FunctionOn RouterOSWhy
Version monitoringRouterOS self-check check-for-updates
Basic inventory/system resource/routerboard print
Refresh (re-scan) / removemonitoring only
Firewall managementno ufw/firewalld/nftables - RouterOS has its own firewall
CVE scanningno package inventory / SBOM basis
Package sources (repos)no Linux package manager
Package updatesRouterOS updates the system as a whole
User syncno POSIX users / /etc/passwd
SSH hardeningno sshd_config / no root shell
Security tools (fail2ban/CrowdSec)no package manager
Set DNSno /etc/resolv.conf / systemd-resolved

These functions are hidden in the UI or rejected server-side - they require a Linux package manager or a root shell, which RouterOS does not provide. The RouterOS commands run deliberately raw (no sudo/sh -c) over the RouterOS CLI.