들어가며
네트워크 보안을 설계할 때 가장 중요한 원칙 중 하나는 외부에서 내부 시스템으로의 직접적인 접근을 차단하는 것입니다. 하지만 관리자는 원격에서 내부 서버를 관리해야 하는 상황이 빈번하게 발생합니다. 이러한 딜레마를 해결하기 위해 등장한 개념이 바로 Bastion Host입니다.
Bastion Host는 외부 네트워크와 내부 네트워크 사이에 위치하여, 안전하게 내부 시스템에 접근할 수 있도록 하는 특수한 목적의 서버입니다. 이번 글에서는 Bastion Host의 개념, 필요성, 아키텍처, 그리고 보안 강화 방안에 대해 살펴보겠습니다.
1. Bastion Host 개요
Bastion Host란?
Bastion Host는 외부 네트워크에서 내부 네트워크로 접근할 때 거쳐야 하는 중간 게이트웨이 역할을 수행하는 서버입니다. "Bastion"이라는 단어는 요새나 성벽을 의미하며, 마치 성문처럼 내부 시스템을 보호하면서도 허가된 사용자에게는 접근 경로를 제공합니다.
일반적으로 Bastion Host는 DMZ(Demilitarized Zone) 또는 퍼블릭 서브넷에 배치되며, 내부 네트워크의 서버들은 프라이빗 서브넷에 위치하여 외부로부터 직접적인 접근이 차단됩니다.
주요 특징
1. 단일 진입점 (Single Entry Point)
모든 외부 접근이 Bastion Host를 통해서만 이루어집니다. 여러 개의 진입점을 관리하는 것보다 하나의 강화된 진입점을 관리하는 것이 훨씬 효율적입니다.
2. 강화된 보안 설정
최소한의 서비스만 실행하며 엄격한 접근 제어가 적용됩니다. 불필요한 소프트웨어나 서비스는 일체 설치되지 않으며, 오직 접속 중계 기능에만 집중합니다.
3. 로깅 및 감사 기능
모든 접속 시도와 세션 활동이 상세하게 기록됩니다. 누가, 언제, 어떤 서버에 접속했는지 모든 기록이 남아있어 보안 사고 발생 시 추적과 분석이 가능합니다.
2. Bastion Host가 필요한 이유
직접 접근의 위험성
내부 서버를 인터넷에 직접 노출하면 다음과 같은 심각한 위험에 직면하게 됩니다.
- 무차별 대입 공격: 자동화된 도구로 24시간 비밀번호 추측 시도
- 제로데이 취약점 공격: 패치되지 않은 취약점을 통한 침투
- DDoS 공격: 대량 트래픽으로 서비스 마비
- 광범위한 공격 표면: 모든 서버가 개별 공격 대상
Bastion Host의 이점
1. 공격 표면 축소
수십 대의 서버를 개별적으로 보호하는 대신, 단 하나의 Bastion Host만 인터넷에 노출시키고 나머지는 완전히 숨길 수 있습니다.
2. 집중화된 보안 관리
모든 내부 서버에 개별적으로 보안 정책을 적용하는 대신, Bastion Host 하나에만 최고 수준의 보안 설정을 집중할 수 있습니다.
3. 접근 제어 강화
다단계 인증, 특정 IP 대역 제한, 시간대 제한 등 다양한 접근 제어 정책을 적용할 수 있습니다.
4. 감사 추적 (Audit Trail)
누가 언제 어떤 서버에 접속했는지, 어떤 작업을 수행했는지 완벽하게 추적할 수 있어 규정 준수와 보안 분석에 필수적입니다.
3. Bastion Host 아키텍처
기본 구성 원리
Bastion Host의 네트워크 배치는 3단계 방어선으로 구성됩니다.

1단계: 외부 방어선
인터넷 게이트웨이와 외부 방화벽이 기본적인 트래픽 필터링을 수행합니다. Bastion Host로 향하는 관리 트래픽만 허용하고 나머지는 차단합니다.
2단계: DMZ/퍼블릭 서브넷
Bastion Host가 위치하는 중간 영역입니다. 인터넷과 통신할 수 있지만 내부 네트워크와는 분리되어 있습니다.
3단계: 내부 네트워크
실제 업무 서버들이 위치한 프라이빗 서브넷입니다. 인터넷과 직접 통신할 수 없으며, 오직 Bastion Host를 통해서만 관리 접속을 받습니다.
접속 흐름
관리자가 내부 서버에 접속하는 과정은 다단계로 이루어집니다.

1단계: Bastion Host 접속
관리자는 자신의 워크스테이션에서 Bastion Host로 첫 번째 SSH 연결을 시도합니다. 이때 SSH 키 인증, 다중 인증(MFA), IP 주소 확인 등 여러 보안 검증을 거칩니다.
2단계: 인증 및 검증
Bastion Host는 관리자의 신원을 엄격하게 확인하고, 접근 권한을 체크합니다.
3단계: 내부 서버 접속
인증이 성공하면 Bastion Host에서 다시 내부 서버로 두 번째 연결을 시도합니다. 이 과정을 SSH 점프(Jump) 또는 다중 홉(Multi-hop) 연결이라고 합니다.
4단계: 세션 기록
모든 접속 과정과 세션 활동이 로그로 기록됩니다.
4. Bastion Host 운영 전략
고가용성 구성

이중화된 Bastion Host
주 Bastion Host에 장애가 발생하면 관리자가 내부 시스템에 접근할 수 없게 됩니다. 서로 다른 가용 영역(Availability Zone)에 Bastion Host를 배치하고, 하나가 실패하면 다른 것으로 자동 전환되도록 구성합니다.
Auto Scaling 활용
클라우드 환경에서는 Bastion Host를 템플릿으로 저장하고, 장애 시 자동으로 새 인스턴스를 생성하도록 설정할 수 있습니다.
접근 정책 관리
체계적인 권한 관리
누가 어느 서버에 접근할 수 있는지 명확하게 정의하고 문서화합니다. 정기적으로 접근 권한을 검토하여 퇴사자나 역할이 변경된 직원의 권한을 즉시 회수합니다.
Just-In-Time (JIT) 접근
평소에는 접근할 수 없도록 하고, 필요할 때만 승인 프로세스를 거쳐 일시적으로 접근 권한을 부여합니다. 승인된 작업이 끝나면 자동으로 권한이 회수됩니다.
5. Bastion Host의 한계와 대안
Bastion Host의 단점
1. 단일 장애점 (Single Point of Failure)
Bastion Host에 문제가 생기면 모든 관리 작업이 중단되므로, 이중화나 백업 계획이 반드시 필요합니다.
2. 복잡한 접속 과정
관리자는 두 번 인증하고 두 번 접속해야 하므로, 긴급 상황에서는 번거로울 수 있습니다.
3. 관리 부담
Bastion Host 자체를 패치하고, 모니터링하고, 보안을 유지하는 작업은 추가적인 관리 리소스를 요구합니다.
최신 대안 기술
1. AWS Systems Manager Session Manager
인바운드 포트를 열 필요 없이 EC2 인스턴스에 접속할 수 있습니다. IAM 정책을 통한 세밀한 권한 제어가 가능하고, 모든 세션이 CloudTrail에 기록되며, 브라우저에서 바로 접속할 수 있습니다.
2. Zero Trust Network Access (ZTNA)
사용자의 신원과 컨텍스트를 기반으로 동적으로 접근을 제어합니다. Identity-Aware Proxy나 Software-Defined Perimeter 같은 기술을 사용합니다.
3. 통합 접근 관리 플랫폼
Teleport나 HashiCorp Boundary 같은 도구는 SSH, Kubernetes, 데이터베이스 등 다양한 인프라에 대한 접근을 통합 관리합니다. 인증서 기반 인증, 세션 녹화, 세밀한 권한 관리 등 고급 기능을 제공합니다.
마무리 및 정리
Bastion Host는 외부에서 내부 시스템으로 안전하게 접근하기 위한 필수적인 보안 아키텍처 구성 요소입니다. 단일 진입점을 통해 접근을 통제하고, 강화된 보안 정책을 적용하며, 모든 접속 기록을 중앙에서 관리할 수 있습니다.
핵심은 공격 표면을 최소화하고, 집중화된 보안 관리를 통해 내부 시스템을 보호하는 것입니다. 하지만 Bastion Host 자체도 공격의 대상이 될 수 있으므로, 키 기반 인증, 다중 인증, IP 화이트리스트, 정기적인 패치 등의 보안 강화 조치를 반드시 적용해야 합니다.
최근에는 AWS Session Manager나 Zero Trust 기반의 접근 관리 솔루션 같은 대안 기술도 등장하고 있습니다. 조직의 환경과 요구사항에 맞는 최적의 방법을 선택하여, 안전하고 효율적인 원격 관리 체계를 구축하는 것이 중요합니다.
