ipmi
play

IPMI Matthew Garrett <matthew.garrett@nebula.com> - PowerPoint PPT Presentation

IPMI Matthew Garrett <matthew.garrett@nebula.com> Intelligent Platform Management Interface Solves the biggest problem in server admin (How do you turn it off and turn it on again without having to leave your desk?) IPMI Remote


  1. IPMI Matthew Garrett <matthew.garrett@nebula.com>

  2. Intelligent Platform Management Interface

  3. Solves the biggest problem in server admin

  4. (How do you turn it off and turn it on again without having to leave your desk?)

  5. IPMI ● Remote power control ● Watchdog ● Boot order ● Serial over LAN ● Sensor monitoring ● Alarms

  6. Vendor differentiation ● Remote console ● Firmware configuration ● Virtual CD device

  7. IPMI ● Linux is near ubiquitous ● Your network contains embedded Linux

  8. Your network contains embedded Linux

  9. Your network contains embedded Linux

  10. Your network contains embedded Linux

  11. Your network contains embedded Linux

  12. Your network contains embedded Linux

  13. IPMI wants to be free ● Having a separate BMC network is difficult and expensive ● So why not just steal packets from the host NIC?

  14. Security isn't great ● Old software ● Insecure software ● Bad software

  15. Security isn't great

  16. Security isn't great ● Authentication, encryption, attestation ● Pick any number

  17. Security isn't great ● Authentication, encryption, attestation ● Pick any number ● (including 0)

  18. Security isn't great ● Spec requires that the BMC hand over the hashed password

  19. Security isn't great ● Usernames may be hardcoded

  20. Best practices ● Physically distinct network ● Make sure they're all plugged in ● Change default credentials ● Change default usernames ● Disable unused users ● Disable cipher 0

  21. Ponies

  22. Server deployment is tedious ● Takes a long time to access firmware ● Opportunity to make mistakes ● Inconsistent configs = inconsistent performance

  23. More vendor differentiation ● Vendor tools for config ● Vendor APIs for config ● Lock-in with vendor tooling ● Annoying for heterogeneous networks

  24. Wouldn't abstraction be nice? ● Spoiler:

  25. Wouldn't abstraction be nice? ● Spoiler: – (yes)

  26. python-firmware-config import firmware-config fw = firmware-config.create(“cisco”, “192.168.0.20”, “admin”, “admin”) options = fw.get_options if options['TPMSupport']['current'] != “enabled”: options['TPMSupport']['new'] = “enabled fw.set_fw_options(options)

  27. Mostly vendor-neutral ● API identical between vendors ● Option names differ ● Semantics may vary

  28. Currently supported vendors ● Cisco ● Dell

  29. Currently supported vendors ● Cisco ● Dell ● (Your name here)

  30. Free software ● Apache 2.0 license ● http://github.com/nebula/firmware_config

Recommend


More recommend