Securing your server's out-of-band management (IPMI/BMC)
Quick answer
Treat your Baseboard Management Controller (BMC) as its own security boundary, separate from the operating system it manages. Never expose the management interface directly to the public internet, use strong unique credentials on the BMC account, check whether IPMI Cipher Type 0 is enabled and disable it if so, and keep the controller's firmware up to date.
Every out-of-band management interface, Dell iDRAC, HP iLO, or generic IPMI, is built around a small independent computer inside the server: the BMC. It has its own processor, its own network stack, and its own access to the server's hardware, and it keeps running even when the main operating system is powered off, crashed, or fully compromised. That's what makes it useful for remote reinstalls and console access. It's also exactly what makes it a high-value target: whoever controls the BMC controls the server underneath it, regardless of what's running, or not running, in the OS.
Why BMC access bypasses the OS entirely
Compromising a BMC doesn't require compromising the operating system first, and the two aren't protected by the same controls. An attacker with BMC access can typically power-cycle the server, mount arbitrary virtual media and boot from it, read the console during boot (including disk encryption passphrases typed at that stage), and in some architectures reach system memory directly. OS-level hardening, patched software, a locked-down firewall, disk encryption, does nothing to stop an attacker who reaches the BMC by a different path. The BMC needs its own security posture, not an inherited one.
Never expose the management interface to the public internet
The single most important control is also the simplest: the BMC's web interface and IPMI port should never be reachable directly from the public internet. Put it behind a VPN or a tightly restricted management network instead, so only authenticated administrators on a trusted path can reach it at all. This is exactly why Worldstream's out-of-band management is only reachable after you connect the Remote Access VPN from Portal. See Start console redirection of an out-of-band management for how that connection works. If you're evaluating other hardware or a colocated deployment, confirm the same principle holds: no BMC interface should sit on a public IP without a VPN or equivalent barrier in front of it.
IPMI Cipher Type 0: check your firmware
IPMI's authentication protocol supports several cipher suites, and one of them, Cipher Type 0, effectively provides no authentication at all: a client can select it and the BMC accepts commands without verifying a password. This isn't a theoretical weakness, it was a real, well-documented issue in a range of older BMC firmware from multiple vendors, and it's worth actively checking for rather than assuming your hardware is unaffected.
- Check your BMC's supported cipher suites through its web interface or with
ipmitool(see the command reference below). - If Cipher Type 0 is listed as enabled, disable it, current firmware from major vendors allows this, and update the firmware if the option to disable it isn't available at all.
- Treat any BMC firmware more than a couple of major versions behind current as worth a closer look, cipher-related and authentication-related fixes are a recurring category of BMC security patches.
Password-hash brute force risk
Older IPMI implementations (IPMI 2.0's RMCP+ handshake in particular) can leak a salted password hash to any client that starts the authentication process, before the client proves it knows the password. That hash can then be brute-forced offline, away from any lockout or rate-limiting the BMC itself enforces. The practical mitigations are the same ones that matter everywhere else: a long, unique, high-entropy password on the BMC account (not reused from the OS, and not a vendor default), and keeping the interface off the public internet so the handshake isn't reachable by an arbitrary client in the first place.
Firmware vulnerability awareness
BMC firmware is software like any other, and it accumulates vulnerabilities like any other. Because the BMC runs independently of the OS, it's easy to lose track of its patch level entirely, an admin who diligently patches the operating system may never think to check the controller's own firmware. Build a habit around it:
- Note the current firmware version for each server's BMC as part of your inventory, not just the OS version.
- Watch the vendor's security advisories for the specific controller family in use (iDRAC, iLO, or the BMC vendor behind a given IPMI implementation).
- Apply BMC firmware updates on a schedule, not only reactively after an incident.
Strong, separate credentials
The BMC account is a separate identity from any OS-level account, and it deserves separate treatment:
- Never reuse an OS password (root, Administrator, or otherwise) on the BMC account.
- Change any vendor default credentials immediately, default BMC passwords are widely known and actively scanned for wherever a BMC is reachable at all.
- Use a unique, generated password stored in a password manager, the BMC account is rarely used often enough to justify memorising it.
- Where the controller supports it, create named accounts per administrator instead of sharing one login, so BMC actions can be traced to a person.
ipmitool command reference
ipmitool is the standard command-line utility for querying and configuring a BMC from a trusted host on the management network. A few commands worth knowing:
ipmitool mc info: reports firmware version and basic controller information, the starting point for checking whether an update is due.ipmitool user list 1: lists configured BMC user accounts, useful for spotting default or unexpected accounts.ipmitool lan print 1: shows the BMC's network configuration, including whether it's reachable on a shared or dedicated network interface.ipmitool sel list: reads the System Event Log, which records hardware and BMC-level events, including failed authentication attempts on some firmware.ipmitool channel getciphers ipmi: lists the cipher suites the BMC currently accepts, use this to confirm whether Cipher Type 0 is enabled.
Exact syntax and available sub-commands vary by BMC vendor and firmware version, treat the above as a starting point for what to check rather than a copy-paste script.
GRUB2 serial-console configuration
Out-of-band text consoles are most useful when the operating system actually sends its boot output somewhere the BMC can display, which on Linux means configuring GRUB2 to mirror output to a serial console in addition to (or instead of) the local video output. This is what makes it possible to watch a server boot, or interact with a rescue shell, purely through the BMC's console redirection without needing local video at all. The general shape of the change, on GRUB2-based distributions, is adding a serial console definition and console parameters to the GRUB configuration (commonly in /etc/default/grub, with kernel parameters such as console=ttyS0,115200 alongside the existing video console), then regenerating the GRUB configuration file. Exact device names and baud rates depend on the hardware and BMC in use, so treat this as something to verify against your specific controller's documentation rather than a fixed recipe.