인텔리전트 플랫폼 매니지먼트 인터페이스

**인텔리전트 플랫폼 매니지먼트 인터페이스**(Intelligent Platform Management Interface, **IPMI**)는 호스트 시스템의 CPU, 펌웨어 (바이오스 또는 통일 확장 펌웨어 인터페이스) 및 운영체제와 독립적으로 관리 및 모니터링 기능을 제공하는 자율 컴퓨터 서브시스템을 위한 컴퓨터 인터페이스 사양 집합이다. IPMI는 시스템 관리자가 컴퓨터 시스템의 대역 외 관리 및 작동 모니터링에 사용하는 인터페이스 집합을 정의한다. 예를 들어, IPMI는 운영체제나 로그인 셸 대신 하드웨어에 대한 네트워크 연결을 사용하여 전원이 꺼져 있거나 응답하지 않는 컴퓨터를 관리하는 방법을 제공한다. 또 다른 사용 사례는 사용자 지정 운영체제를 원격으로 설치하는 것이다. IPMI가 없으면 사용자 지정 운영체제를 설치하기 위해 관리자가 컴퓨터 근처에 물리적으로 상주하여 OS 설치 프로그램이 포함된 DVD 또는 USB 플래시 드라이브를 삽입하고 모니터와 키보드를 사용하여 설치 프로세스를 완료해야 할 수 있다. IPMI를 사용하면 관리자가 ISO 이미지를 마운트하고 설치 DVD를 시뮬레이션하며 원격으로 설치를 수행할 수 있다.

이 사양은 인텔이 주도하며 1998년 9월 16일에 처음 발표되었다. 시스코 시스템즈, 델, 휴렛 팩커드 엔터프라이즈 및 인텔과 같은 200개 이상의 컴퓨터 시스템 공급업체가 지원한다.

## 기능
표준화된 인터페이스 및 프로토콜을 사용하면 IPMI를 기반으로 하는 시스템 관리 소프트웨어가 여러 개의 서로 다른 서버를 관리할 수 있다. 메시지 기반의 하드웨어 수준 인터페이스 사양인 IPMI는 운영체제(OS)와 독립적으로 작동하여 관리자가 운영체제가 없거나 시스템 관리 소프트웨어가 없을 때 시스템을 원격으로 관리할 수 있도록 한다. 따라서 IPMI 기능은 다음 세 가지 시나리오 중 하나에서 작동할 수 있다.

* OS가 부팅되기 전 (예: BIOS 설정의 원격 모니터링 또는 변경 허용)
* 시스템 전원이 꺼진 경우
* OS 또는 시스템 오류 발생 후—대역 내 시스템 관리와 비교하여 IPMI의 주요 특징은 SSH를 사용하여 운영체제에 원격 로그인이 가능하다는 것이다.

시스템 관리자는 IPMI 메시징을 사용하여 플랫폼 상태(예: 시스템 온도, 전압, 컴퓨터 팬, 전원 공급 장치 및 섀시 침입)를 모니터링하고, 재고 정보를 쿼리하고, 범위를 벗어난 조건의 하드웨어 로그를 검토하고, 또는 동일한 연결을 통해 원격 콘솔에서 요청을 발행하는 것과 같은 복구 절차를 수행할 수 있다(예: 시스템 전원 끄기 및 재부팅, 워치독 타이머 구성). 이 표준은 또한 시스템이 간이 망 관리 프로토콜(SNMP) 플랫폼 이벤트 트랩(PET)을 보내는 경고 메커니즘을 정의한다.

모니터링되는 시스템은 전원이 꺼져 있을 수 있지만, 전원과 모니터링 매체(일반적으로 LAN 연결)에 연결되어 있어야 한다. IPMI는 운영체제가 시작된 후에도 작동할 수 있으며, 시스템 관리 소프트웨어에 관리 데이터와 구조를 노출한다. IPMI는 인터페이스의 구조와 형식만을 표준으로 규정하며, 세부 구현은 다를 수 있다. IPMI 버전 1.5 구현은 직접 대역 외 LAN 또는 직렬 연결을 통해, 또는 보조 LAN 연결을 통해 원격 클라이언트와 통신할 수 있다. 보조 LAN 연결은 보드 NIC를 활용한다. 이 솔루션은 전용 LAN 연결보다 저렴하지만 대역폭과 보안 문제가 제한적이다.

IPMI 버전 2.0을 준수하는 시스템은 시리얼 오버 LAN을 통해서도 통신할 수 있으며, 이로써 직렬 콘솔 출력을 LAN을 통해 원격으로 볼 수 있다. IPMI 2.0을 구현하는 시스템은 일반적으로 KVM over IP, 원격 가상 미디어 및 대역 외 임베디드 웹 서버 인터페이스 기능도 포함하지만, 엄밀히 말하면 이는 IPMI 인터페이스 표준의 범위를 벗어난다.

DCMI (Data Center Manageability Interface)는 IPMI를 기반으로 하지만 데이터 센터 관리에 더 적합하도록 설계된 유사한 표준이다. IPMI에 정의된 인터페이스를 사용하지만 선택적 인터페이스의 수를 최소화하고 전력 제한 제어를 포함하는 등 다른 차이점이 있다.

## IPMI 구성 요소
섬네일|450px|right|alt=IPMI architecture diagram shows BMC sideband via SMBUS.|베이스보드 관리 컨트롤러(BMC) 인터페이스

IPMI 서브시스템은 베이스보드 관리 컨트롤러(BMC)라고 불리는 주 컨트롤러와 위성 컨트롤러라고 불리는 다른 시스템 모듈에 분산된 다른 관리 컨트롤러로 구성된다. 동일한 섀시 내의 위성 컨트롤러는 I²C (Inter-Integrated Circuit)의 향상된 구현인 지능형 플랫폼 관리 버스/브리지(IPMB)라고 불리는 시스템 인터페이스를 통해 BMC에 연결된다. BMC는 지능형 플랫폼 관리 컨트롤러(IPMC) 버스 또는 브리지를 통해 위성 컨트롤러 또는 다른 섀시의 다른 BMC에 연결된다. 이 사양에 의해 정의된 특수 유선 프로토콜인 원격 관리 제어 프로토콜(RMCP)로 관리될 수 있다. RMCP+ (RMCP보다 강력한 인증 기능을 갖춘 UDP 기반 프로토콜)는 LAN을 통한 IPMI에 사용된다.

여러 공급업체가 BMC 칩을 개발하고 판매한다. 임베디드 애플리케이션에 사용되는 BMC는 메모리가 제한적일 수 있으며, 전체 IPMI 기능을 구현하려면 최적화된 펌웨어 코드가 필요하다. 고도로 통합된 BMC는 복잡한 명령을 제공하고 서비스 프로세서의 완전한 대역 외 기능을 제공할 수 있다. IPMI 인터페이스를 구현하는 펌웨어는 다양한 공급업체에서 제공한다.
교체 가능한 장치 (FRU) 저장소는 공급업체 ID 및 제조업체와 같은 잠재적으로 교체 가능한 장치의 재고를 보유한다. 센서 데이터 기록(SDR) 저장소는 보드에 있는 개별 센서의 속성을 제공한다. 예를 들어, 보드는 온도, 팬 속력, 전압 센서를 포함할 수 있다.

### 베이스보드 관리 컨트롤러
[섬네일|[서버 마더보드의 단일 칩으로 완전히 통합된 BMC]]

베이스보드 관리 컨트롤러(BMC)는 IPMI 아키텍처의 인텔리전스를 제공한다. 이는 일반적으로 서버의 메인보드에 내장된 특수 마이크로컨트롤러이다. BMC는 시스템 관리 소프트웨어와 플랫폼 하드웨어 간의 인터페이스를 관리한다. BMC는 전용 펌웨어와 RAM을 가지고 있다.

컴퓨터 시스템에 내장된 다양한 유형의 센서가 파라미터(예: 온도, 냉각 팬 속력, 전원 상태, 운영체제(OS) 상태 등)를 BMC에 보고한다.
BMC는 센서를 모니터링하고, 어떤 매개변수라도 미리 설정된 제한 내에 머무르지 않아 시스템의 잠재적 오류를 나타낼 경우 네트워크를 통해 시스템 관리자에게 경고를 보낼 수 있다. 관리자는 또한 BMC와 원격으로 통신하여 일부 수정 조치(예: 시스템 재설정 또는 전원 재인가를 통해 멈춘 OS를 다시 실행)를 취할 수 있다. 이러한 기능은 시스템의 총소유비용을 절감시킨다.

IPMI 버전 2.0을 준수하는 시스템은 시리얼 오버 LAN을 통해서도 통신할 수 있으며, 이로써 직렬 콘솔 출력을 LAN을 통해 원격으로 볼 수 있다. IPMI 2.0을 구현하는 시스템은 일반적으로 KVM over IP, 원격 가상 미디어 및 대역 외 임베디드 웹 서버 인터페이스 기능도 포함하지만, 엄밀히 말하면 이는 IPMI 인터페이스 표준의 범위를 벗어난다.

BMC에 대한 물리적 인터페이스에는 SMBus, RS-232 직렬 콘솔, 주소 및 데이터 라인, 그리고 BMC가 시스템 내의 다른 관리 컨트롤러로부터 IPMI 요청 메시지를 수락할 수 있도록 하는 IPMB가 포함된다.

BMC에 대한 직접 직렬 연결은 연결 자체가 안전하기 때문에 암호화되지 않는다. LAN을 통한 BMC 연결은 사용자의 보안 문제에 따라 암호화를 사용할 수도 있고 사용하지 않을 수도 있다.

폐쇄형 인프라로서 BMC에 대한 전반적인 보안 우려가 증가하고 있다. OpenBMC는 리눅스 재단의 협력적인 오픈 소스 BMC 프로젝트이다.

## 보안
### 역사적 문제
2013년 7월 2일, Rapid7은 최신 IPMI 2.0 프로토콜 및 다양한 공급업체의 구현에 대한 보안 침투 테스트 가이드를 발표했다.

2013년 일부 자료에서는 베이스보드 관리 컨트롤러(BMC)의 설계 및 취약점과 관련된 보안 문제로 인해 이전 버전의 IPMI를 사용하지 말 것을 권고했다.

그러나 다른 모든 관리 인터페이스와 마찬가지로, 모범 보안 사례는 IPMI 관리 포트를 전용 관리 LAN 또는 신뢰할 수 있는 관리자에게만 제한된 VLAN에 배치하도록 지시한다.

### 최신 IPMI 사양 보안 개선 사항

IPMI 사양은 RAKP+ 및 계산상 깨뜨리기 비실용적인 더 강력한 암호로 업데이트되었다. 그 결과 공급업체는 이러한 취약점을 해결하는 패치를 제공했다.

DMTF 조직은 현대 데이터센터 환경에서 작동하도록 안전하고 확장 가능한 인터페이스 사양인 Redfish를 개발했다.

### 잠재적 해결책

IPMI 표준 외부에 존재하는 몇 가지 잠재적 해결책은 독점적인 구현에 따라 달라진다. 기본 짧은 비밀번호 사용 또는 "cipher 0" 해킹은 데이터센터 또는 중간 규모 이상의 배포에서 일반적인 SSL을 통한 RADIUS 서버를 이용한 인증, 권한 부여 및 계정(AAA)을 사용하면 쉽게 극복할 수 있다. 사용자의 RADIUS 서버는 FreeRADIUS/OpenLDAP 또는 Microsoft Active Directory 및 관련 서비스를 사용하여 LDAP 데이터베이스에 AAA를 안전하게 저장하도록 구성할 수 있다.

역할 기반 접근은 더 높은 역할에 대한 제한을 증가시켜 현재 및 미래의 보안 문제에 대응할 수 있는 방법을 제공한다.
역할 기반 접근은 관리자, 운영자, 사용자 세 가지 역할을 지원한다.

전반적으로, 사용자 역할은 BMC에 대한 읽기 전용 접근만 가능하며, 전원 재인가 또는 마더보드의 주 CPU에 로그인하거나 볼 수 있는 원격 제어 기능은 없다. 따라서 사용자 역할을 가진 해커는 기밀 정보에 전혀 접근할 수 없으며 시스템에 대한 제어권도 전혀 없다. 사용자 역할은 일반적으로 SNMP 네트워크 모니터링 소프트웨어에서 SNMP 경고를 받은 후 센서 판독값을 모니터링하는 데 사용된다.

운영자 역할은 시스템이 멈춘 드문 경우에 NMI 크래시/코어 덤프 파일을 생성하고 시스템을 재부팅하거나 전원 재인가하는 데 사용된다.
이 경우 운영자는 크래시/코어 덤프 파일을 수집하기 위해 시스템 소프트웨어에도 접근할 수 있다.

관리자 역할은 시스템이 처음 설치될 때 시운전 중 첫 부팅 시 BMC를 구성하는 데 사용된다.

따라서 현명한 모범 사례는 LDAP/RADIUS에서 운영자 및 관리자 역할의 사용을 비활성화하고, LDAP/RADIUS 관리자가 필요할 때만 활성화하는 것이다. 예를 들어, RADIUS에서 역할은 Auth-Type 설정을 다음과 같이 변경할 수 있다.

Auth-Type := Reject

이렇게 하면 RADIUS 서버에서 사용자 이름이 거부되므로 RAKP 해시 공격이 성공하는 것을 막을 수 있다.

## 버전 기록
IPMI 표준 사양은 여러 차례 반복을 거쳐 발전했다.
* v1.0은 1998년 9월 16일에 발표되었다: 기본 사양
* v1.5, 2001년 2월 21일 발표: LAN을 통한 IPMI, 직렬/모뎀을 통한 IPMI, LAN 경고를 포함한 기능 추가
* v2.0, 2004년 2월 12일 발표: 시리얼 오버 LAN, 그룹 관리 시스템, 향상된 인증, 펌웨어 방화벽 및 VLAN 지원을 포함한 기능 추가
* v2.0 개정 1.1, 2013년 10월 1일 발표: 정오표, 명확화 및 추가 사항, IPv6 주소 지정 지원 추가를 위해 개정됨
* v2.0 개정 1.1 정오표 7, 2015년 4월 21일 발표: 정오표, 명확화, 추가 사항에 대해 개정됨

## 구현
* HP Integrated Lights-Out, HP의 IPMI 구현
* 델 DRAC, 델의 IPMI 구현
* IBM Remote Supervisor Adapter, IBM의 IPMI 구현을 포함한 대역 외 관리 제품
* MegaRAC, AMI의 대역 외 관리 제품 및 OEM IPMI 펌웨어
* Avocent MergePoint Embedded Management Software, OEM IPMI 펌웨어
* Cisco Integrated Management Controller, 시스코의 IPMI 구현
* Lenovo xClarity, 레노버의 IPMI 구현

## 각주

## 외부 링크

* 인텔 IPMI 기술 자료 웹사이트
* 일반 IPMI 소프트웨어 오픈 소스 프로젝트 비교
* GNU FreeIPMI
* ipmitool
* ipmiutil
* OpenIPMI
* coreIPM 프로젝트 - IPMI 베이스보드 관리를 위한 오픈 소스 펌웨어
* IPMeye - 기업을 위한 중앙 집중식 대역 외 접근 / VendorN의 OneDDI 플랫폼의 일부

분류:시스템 관리
분류:컴퓨터 하드웨어 표준