강좌 강좌
IPMI 입문: 운영체제와 별개로 서버를 관리하는 규격 이해하기
IPMI는 서버를 원격으로 관리하게 해주는 규격입니다. 이 강좌는 그 뜻과 작동 맥락, 그리고 인터넷에 노출됐을 때의 한계를 처음 배우는 독자의 눈높이로 설명합니다.
이 강좌를 마치면 첫째 IPMI가 무엇이고 어디에 쓰이는지 한 문장으로 말할 수 있고, 둘째 왜 노출이 위험한지 단계로 설명할 수 있으며, 셋째 BMC를 공용 인터넷에 노출하지 않기 위한 네트워크 구성을 말할 수 있습니다. 필요한 사전지식은 서버와 운영체제가 무엇인지 아는 정도, 그리고 비밀번호를 원본 그대로가 아니라 계산된 값(해시)으로 다룰 수 있다는 기초 개념이면 충분합니다.
한 문장으로 이해하기
IPMI(지능형 플랫폼 관리 인터페이스, Intelligent Platform Management Interface)는 서버 안에 따로 들어 있는 관리용 처리기가 운영체제와 상관없이 서버를 원격으로 다루게 해주는 통신 규격입니다. 이 관리용 처리기를 BMC(베이스보드 관리 컨트롤러, Baseboard Management Controller)라고 부릅니다. 쉽게 말해 BMC는 서버 메인보드에 내장된 관리용 처리기이고, IPMI는 그 BMC에게 명령을 전달하는 약속된 언어입니다.
왜 필요한가
BMC는 서버 메인보드에 내장된 별도 처리기로, 전원 켜고 끄기, 펌웨어 갱신, 원격 화면 접속, 운영체제 설치, 시스템 복구 같은 낮은 수준의 작업을 지원합니다. 여기서 펌웨어란 장치를 제어하려고 기기 안에 넣어 둔 내장 소프트웨어를 뜻합니다. 중요한 점은 BMC가 서버의 운영체제와 독립적으로 동작한다는 것입니다. 그래서 운영체제가 꺼져 있거나 다시 설치돼도 관리가 가능하며, BMC는 서버를 원격으로 관리하고 자동화하는 데 사용됩니다.
어떻게 이루어지는가
IPMI가 편리한 만큼, 규격에 뿌리를 둔 결함도 함께 이해해야 합니다. 문제의 핵심은 CVE-2013-4786이라는 식별자로 알려진 취약점이며, 이 취약점은 IPMI 2.0 규격 자체에서 비롯됩니다. 작동을 단계로 보면 다음과 같습니다.
- 관리자가 BMC에 접속하려면 인증 절차를 거칩니다.
- 이 과정에서 BMC는 비밀번호와 세션 값으로 계산한 인증 코드를 응답에 담아 돌려줍니다. 여기서 세션 값이란 인증 과정에서 요청자도 알 수 있는 값입니다. 이 인증 코드는 비밀번호 후보가 맞는지 대조하는 데 이용될 수 있습니다.
- UDP 623번 포트에 닿을 수 있는 사람은 로그인에 성공하기 전에도 이 응답을 요청할 수 있습니다. 여기서 UDP 623번 포트란 BMC의 IPMI 통신이 오가는 네트워크 접점을 가리킵니다.
- 요청자는 받은 응답을 자기 컴퓨터로 가져가, 서버에 다시 접속하지 않고 여러 비밀번호 후보를 오프라인으로 대조합니다.
온라인 로그인과 달리 오프라인 대조는 후보마다 서버에 새로 요청을 보낼 필요가 없습니다. 다만 실제 성공 여부와 걸리는 시간은 비밀번호의 강도와 계산 환경 등에 따라 달라집니다. 출처에 인용된 Dell 안내는 이것이 IPMI 2.0 규격 자체의 문제여서 패치가 없다고 설명했습니다.
하나의 예시로 따라가기
한 서버 임대 회사가 새 서버를 들여오며 BMC를 인터넷에 그대로 연결하고, 출고 시 붙어 나온 공장 기본 비밀번호를 바꾸지 않았다고 가정합니다(가상 예시). 이 서버의 IPMI는 UDP 623번 포트로 외부에 열려 있습니다. 위 4단계처럼 외부의 누군가가 인증 응답을 받아 가면, 받은 인증 정보를 오프라인으로 대조해 비밀번호를 알아내려 시도할 수 있습니다. 참고로 출처의 조사에서는 반환된 인증 정보 가운데 30%가 넘는 비율에서 일반적인 비밀번호 후보 단어 목록이나 예측 가능한 공장 비밀번호 형식을 이용해 비밀번호를 복구할 수 있었다고 보고됐습니다. BMC는 운영체제와 독립적으로 작동하므로, 이렇게 BMC가 장악되면 운영체제의 보안 통제를 우회하거나 운영체제를 다시 설치한 뒤에도 접근이 이어질 수 있습니다.
언제 쓰고 언제 쓰지 않는가
IPMI는 서버를 운영체제와 독립적으로 원격 관리해야 할 때, 특히 전용 사설 관리망 안에서 쓸 때 유용합니다. 반대로 BMC를 공용 인터넷에 그대로 노출하는 것은 피해야 합니다. 적용 조건과 한계를 정리하면, 첫째 출처에 인용된 Dell 안내는 CVE-2013-4786이 IPMI 2.0 규격 자체의 문제여서 패치가 없다고 설명했습니다. 둘째 공장 기본 비밀번호나 약한 비밀번호를 그대로 두면 위험이 커집니다. 출처에 소개된 조사에서는 UDP 623번 포트에서 IPMI 서비스가 확인된 호스트 36,872개 가운데 24,650개가 로그인 전에 비밀번호에서 나온 인증 정보를 노출했습니다. 출처가 제시한 대응에는 네트워크 경계에서 UDP 623번 포트 차단, 공장 비밀번호 교체, IPMI 1.5 같은 구형·약한 옵션 비활성화, 전용 사설 관리망과 접근 통제를 통한 BMC 접근 제한이 포함됩니다. 이 강좌는 개념 학습용 설명이며 특정 제품 권유가 아닙니다.
핵심 정리와 확인문제
IPMI는 BMC에 명령을 전달해 운영체제와 별개로 서버를 원격 관리하는 규격입니다. 취약한 IPMI 인증 절차가 인터넷에서 접근되면 로그인 전에 비밀번호에서 계산된 인증 정보가 노출될 수 있고, 비밀번호가 약하거나 예측 가능하면 그 정보로 비밀번호가 복구될 위험이 커집니다.
확인문제
- IPMI와 BMC의 관계를 한 문장으로 설명하세요.
- CVE-2013-4786에서 요청자가 오프라인 대조를 할 수 있는 이유는 무엇인가요?
- 본문에서 BMC를 공용 인터넷에 직접 노출하지 않기 위해 제시한 네트워크 구성은 무엇인가요?
정답과 해설
- 정답: BMC는 서버 메인보드에 내장된 관리용 처리기이고, IPMI는 그 BMC에게 명령을 전달하는 통신 규격입니다.
- 정답: BMC가 인증 과정에서 비밀번호와 세션 값으로 계산한 인증 코드를 로그인 성공 전에도 응답으로 돌려주므로, 요청자는 이를 받아 서버에 다시 접속하지 않고 후보를 대조할 수 있습니다.
- 정답: 전용 사설 관리망으로 접근을 제한하는 것입니다.