Skip to content

Decide whether the iLO (shiva) stays on the lab segment #235

Description

@Gerrrt

What and why

Found while writing ADR-0014 for #86; the finding is recorded there, the decision is not.

shiva — the iLO 4 BMC of the defended estate — sits on the segment that will hold the attackers. ADR-0014 puts ifrit's attack VM on ImaginationLAN (30), sharing a broadcast domain with Saruman's Windows domain because the techniques worth detecting are L2 and do not cross a router. That is the design. It also means the BMC of the box being defended, at 10.0.30.10 on firmware 2.82, is L2-adjacent to a Kali VM, and a BMC is not something that gets patched the way a guest does.

ADR-0014 closes the hypervisor management planes at the host — Proxmox firewall on Saruman and ifrit, 8006/8007/22 from Hicks only. The iLO has no equivalent: it is a separate device on its own port, reachable from anything on VLAN 30 that can ARP for it.

What it is coupled to

The only explicit pass on the ImaginationLAN interface exists because the iLO is there. ADR-0013's table:

On interface Rule Purpose
99 10.0.99.20 → 10.0.30.10:161-162/udp SNMP-Exporter scrapes the iLO
30 10.0.30.10 → 10.0.99.20/udp the iLO's return path

Moving shiva to Winterfell (99) deletes both rules and the exception, which leaves VLAN 30 with no cross-segment passes at all. Hicks already reaches 99, so console access from a workstation is unchanged.

The pieces, if yes

  • The iLO's dedicated port moves from a Green (30) switch port to a Red (99) one. neo is the MokerLink; the VLAN walk has the trap #87 carries.
  • The Kea reservation for shiva moves scopes. The BMC takes its address by DHCP, so without a reservation on the new scope the SNMP target breaks silently — the NOTE in network.md's VLAN 30 section already says so.
  • stacks/observability/prometheus/targets/snmp.yaml hard-codes 10.0.30.10 with vlan: "30". New address, new label.
  • The two firewall rules above come out; ADR-0013's table and restore-the-firewall.md follow.
  • docs/network.md and docs/hardware.md move the row. The [^Shiva] footnote that explains shiva and Saruman are one box stays true.

The case for no

Winterfell is "compromise here is total". A BMC on firmware that will not get newer is not obviously something to put next to the firewall's admin UI, and ADR-0008 already argued the management segment should not accumulate things. The alternative is leaving it on 30, treating the iLO as part of the estate under attack, and accepting that a BMC compromise in the lab costs the lab. That is defensible too, and ADR-0014 deliberately does not pick.

Which VLAN does this touch

🟢 30 — ImaginationLAN (lab), 🔴 99 — Winterfell (management)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requestedsecurity

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions