エンタープライズサーバの帯外管理(IPMI・iDRAC・iLO)セキュリティ隔離とRedfish API自動巡回スクリプト実務
概要:24時間365日の連続稼働が求められるデータセンターにおいて、サーバの帯外管理ポート(BMC / IPMI / iDRAC / iLO)は現場の生命線であると同時に、重大なセキュリティ攻撃対象となり得る。本稿では、物理およびVLANによるOut-of-Band専用管理ネットワークの隔離基準、デフォルトパスワード全廃とTLS証明書適用、そしてDMTF標準「Redfish API」を活用してマルチベンダー環境の電源・温度・ファン・障害ログを一元自動巡回するPythonスクリプトの実務をまとめる。
1. 帯外管理ネットワークの完全隔離設計(OOB物理網の分離)
BMCポートは絶対にパブリックインターネットや一般業務LANと共有してはならない。ラック内の専用OOB管理スイッチ(1GbE)に全BMCポートを収容し、専用ファイアウォール配下の管理VLANに隔離する。アクセスは踏み台サーバ(Bastion)からのSSHトンネルまたはクライアント証明書付きVPN経由に限定し、平文のIPMI 1.5/2.0(UDP 623)を外部遮断してHTTPS/TLSによる暗号化通信を強制する。
2. BMCセキュリティハードニング基準とアカウント統制
納品直後の初期セットアップにおいて、ベンダー初期パスワード(root/calvin、ADMIN等)を直ちに破棄し、16文字以上の複雑な固有クレデンシャルを割り当てる。不要なレガシーサービス(Telnet、SNMP v1/v2c、HTTP平文リダイレクト)を無効化し、Syslogサーバへの監査ログ転送を設定する。Dell iDRACやHPE iLOでは自己署名証明書を社内プライベートCA発行の証明書に置換し、ブラウザ警告のない安全な管理環境を確立する。
3. Redfish RESTful APIを用いた自動ヘルスチェックの実装
IPMIコマンド(ipmitool)の代替として、近代的なJSONベースのRedfish API(/redfish/v1/Systems/1/)を活用する。Pythonのrequestsセッションを用い、ラック内全ノードのPowerState、Chassis温度センサー、DIMMメモリエラーカウント、PowerSupply冗長ステータスを一括取得する巡回スクリプトを定期実行する。しきい値超過を検知した際はSlack/メールで現場エンジニアへ即座に通知し、物理駆けつけ時間を大幅に短縮する。