이전 3개의 블로그에서는 현재의 위협 환경을 분석하고, 강력한 인증과 권한 부여를 구현하며, 중요한 로깅과 런타임 보안 조치를 살펴봄으로써 안전한 MCP(Model Context Protocol) 에코시스템을 위한 토대를 마련했습니다. 앞선 글들에서는 누가 무엇에 액세스할 수 있으며 이러한 상호 작용을 어떻게 모니터링할 수 있는지에 대해 중점적으로 다루었습니다. 이제는 이러한 시스템이 실행되는 물리적 환경과 가상 환경에 초점을 맞춰 살펴보겠습니다. 

물론 보안 중심의 개발은 절반의 성공에 불과합니다. 인증되지 않고 공개적으로 노출된 서버가 단지 안전하지 않은 네트워크 인터페이스에 바인딩되었다는 이유만으로 악용된 최근의 "NeighborJack" 공격 사례처럼, 보안 조치가 취약한 MCP 서버를 배포하면 아무리 강력한 코드라도 무용지물이 될 수 있습니다. 업계가 고도로 자율적인 에이전틱 AI로 전환함에 따라, 배포 환경을 보호하고 보안을 확보하는 일이 그 어느 때보다 중요해졌습니다. 

이 글에서는 Red Hat 기술, 특히 컨테이너화와 Red Hat OpenShift를 활용하여 루트 권한이 없는 컨테이너, 읽기 전용 파일 시스템, 엄격한 네트워크 정책을 통해 프로덕션 환경에서 MCP 서버를 더욱 효과적으로 보호할 수 있는 "보안 우선" 배포 환경을 구축하는 방법을 알아봅니다.

인프라 보호

강력한 코드를 작성하는 것도 중요하지만, MCP 서버의 보안 상태는 실행 환경에 따라 크게 달라집니다. Red Hat은 내장된 격리 기능과 커널 수준의 보안 기능을 활용할 수 있도록 컨테이너 내에 MCP 서버를 배포할 것을 권장합니다. OpenShift와 통합하면 배포 환경의 보안을 크게 강화하는 데 도움이 되는 보안 중심의 고급 기본 설정에 즉시 액세스할 수 있습니다. 진정한 "보안 우선" MCP 배포를 구현하려면 다음 3가지 핵심 요소에 집중해야 합니다.

1. 런타임 환경 강화

공격자가 침투할 발판을 마련하지 못하도록 하려면, 운영 체제(OS) 수준에서 컨테이너가 수행할 수 있는 작업을 제한해야 합니다.

  • 루트가 아닌 사용자로 실행: MCP 서버는 절대 루트 권한으로 실행해서는 안 됩니다. 이렇게 하면 프롬프트 주입 등으로 인해 도구가 침해되더라도 공격자가 호스트 수준의 파일이나 디바이스 인터페이스에 액세스할 수 없게 됩니다.
  • 읽기 전용 파일 시스템 적용: 루트 파일 시스템을 읽기 전용으로 마운트하면 "툴 포이즈닝"과 무단 지속성을 방지할 수 있습니다. 쓰기 권한을 /tmp와 같은 특정 디렉터리로 제한하면, 공격자가 서버의 동작을 수정하거나 악성코드를 심기가 훨씬 더 어려워집니다.
  • 위험한 기능 제거: API 호출이나 파일 I/O와 같은 대부분 of MCP 기능에는 고급 커널 권한이 필요하지 않습니다. 예를 들어 capDrop: ["ALL"])를 사용하여 모든 리눅스 기능을 명시적으로 제거하면 커널을 통한 권한 상승을 방지할 수 있습니다.

2. 공격 표면 최소화

잠재적인 손상의 "폭발 반경"을 줄이는 것은 컨테이너 이미지 자체에서 시작됩니다.

  • 최소한의 기본 이미지 사용: UBI(Universal Base Image)의 'minimal' 또는 'distroless' 이미지를 사용하여 서버를 구축하세요. 셸, 컴파일러, 불필요한 유틸리티를 제외하면 침해 발생 후 공격자가 횡적 이동을 하는 데 필요한 툴 자체를 제거할 수 있습니다.
  • Red Hat Quay를 통한 자동화된 스캔: Quay에 이미지를 호스팅하면 지속적으로 취약점을 스캔할 수 있습니다. 이를 통해 Python 또는 Node.js 종속성으로 인해 프로덕션 환경에 알려진 취약점 및 노출(CVE)이 발생하지 않도록 할 수 있습니다.
  • 커널 강화: OpenShift에서는 기본 SELinux 강제 적용을 유지하고, 네트워크 및 파일 작업을 위한 필수 시스템 호출로 서버를 제한하는 seccomp 프로필을 적용해야 합니다.

3. 네트워크 격리와 트래픽 제어

마지막으로, MCP 서버가 인프라의 나머지 부분과 통신하는 방식을 엄격하게 제어해야 합니다.

  • 제로 트러스트 네트워킹: OpenShift NetworkPolicies를 사용하여 특정 에이전트 게이트웨이와 같은 승인된 서비스만 MCP 서버에 접근할 수 있도록 설정합니다.
  • 보호된 이그레스: 서버에서 날씨 또는 데이터 툴과 같은 외부 API를 호출해야 하는 경우 아웃바운드 트래픽을 특정 도메인으로만 제한합니다.
  • 고급 보호: 보안 중요도가 높은 환경의 경우, Red Hat OpenShift Service Mesh를 통해 상호 전송 계층 보안(mTLS) 및 클라이언트별 인증을 제공함으로써 애플리케이션 수준의 OAuth 위에 ID 기반 보안 계층을 추가할 수 있습니다.

단순한 배포를 넘어 이러한 OpenShift 네이티브 보안 중심 기능을 활용함으로써, 외부 위협과 내부 익스플로잇으로부터 MCP 툴을 보호하는 데 도움이 되는 복원력 있는 기반을 구축할 수 있습니다.

맺음말

MCP 서버를 배포하는 것은 단순히 코드를 실행하는 것 이상의 작업입니다. 이는 AI 기반 에코시스템의 고유한 압박을 견뎌낼 수 있는 강력한 보안 경계를 구축하는 것입니다. 이 게시물에서 살펴본 것처럼, Red Hat OpenShift와 컨테이너화를 통합하면 non-root 실행에서 엄격한 네트워크 정책에 이르기까지 필요한 가드레일을 확보하여 툴이 보안 리스크가 되는 것을 방지하는 데 도움이 됩니다. 

배포 환경도 소스 코드와 마찬가지로 보안에 중점을 두고 엄격하게 관리해 보세요. 이렇게 하면 기능 위주의 개념 증명(PoC)과 탄력적인 프로덕션 레디 서비스 간의 격차를 줄이는 데 도움이 됩니다. 점점 더 강력한 에이전틱 AI 시스템을 개발할 때, 이러한 인프라 모범 사례를 준수하는 것은 현재의 취약점과 미래에 새롭게 나타날 위협을 모두 방어하는 데 도움이 됩니다.

제품 체험판

Red Hat OpenShift AI(자체 관리형) | 제품 체험판

하이브리드 클라우드를 위한 오픈소스 머신 러닝(ML) 플랫폼입니다.

저자 소개

Huzaifa Sidhpurwala is a Senior Principal Product Security Engineer - AI security, safety and trustworthiness, working for Red Hat Product Security Team.

 
UI_Icon-Red_Hat-Close-A-Black-RGB

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Virtualization icon

가상화

온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래