개념정리/개발

Bastion Host

backtwobasic 2025. 1. 27. 20:08

Bastion Host(줄여서 Bastion)는 네트워크 보안을 관리하기 위해 사용되는 서버로, 내부 네트워크와 외부 네트워크 간의 안전한 통로 역할을 한다. 주로 외부에서 내부 네트워크에 접근해야 하는 경우 사용되며, 보안성을 강화하고 접속을 관리하도록 설계되었다.

 

 

Bastion host 특징

Bastion Host는 내부 네트워크의 중요한 리소스에 접근할 수 있는 중앙 경유지로 기능한다. 접근 권한은 엄격히 관리되며, 주로 SSH 또는 RDP를 통해 인증된 사용자만 접속할 수 있고, 이를 통해 다음과 같은 장점을 제공한다:

  1. 중앙화된 관리: 모든 접속을 Bastion Host에서 관리하여 보안 사고를 방지
  2. 네트워크 격리: 외부와 내부 네트워크를 분리하여 보안을 강화
  3. 접근 제어: 특정 사용자만 접근할 수 있도록 제어가 가능

 

Bastion host 접속방법

Bastion host에 접근하는 과정은 다음과 같다. 가장 일반적으로 SSH를 통한 접속 (Linux / Mac)이 있다. 기본적인 SSH 클라이언트를 사용해 접속한다. 여기서 <private-key.pem> 는 사용자의 개인 키 파일, <username>는 Bastion host의 사용자 계정명, <bastion-host-ip>은 Bastion host의 퍼블릭 IP 주소이다.

ssh -i <private-key.pem> <username>@<bastion-host-ip>

 

 

Bastion host 사용 시 고려사항

 

  • IP 제한 : Bastion Host는 특정 IP를 통해서만 접근 가능하도록 설정해야 한다. Security Group이나 방화벽 규칙을 활용하여 접근 가능한 IP를 제한한다.
  • IAM 정책 활용 : IAM 정책을 통해 특정 사용자만 접근 권한을 부여하는 것도 중요하다.
  • 접속 로깅 및 모니터링 : Bastion Host를 통해 이루어진 모든 접속 기록을 로깅하고 주기적으로 모니터링하여 잠재적 위협을 관리한다.

 

 

 

Bastion host 활용 사례

1) 보안 강화된 서버 관리 : 외부에서 DB, 웹서버와 같은 내부에 직접 접근하지 않고 Bastion을 통해서 접근을 허용하는 경우, 다음과 같은 방법을 생각할 수 있다. 이 상황의 예시로는 회사의 사내 네트워크에 있는 서버들을 외부에서 원격 관리하는 경우라고 볼 수 있다. 

  • 외부 IP를 Bastion으로만 제한(single entry point)한다. 
  • 모든 내부 서버는 Bastion에서만 SSH 접근 가능하도록 설정한다. 

2) 클라우드 인프라 보안 : AWS, Azure, Google Cloud와 같은 클라우드 환경에서 Bastion host를 사용해 Private Subnet에 있는 리소스에 접근하는 경우, 아래와 같은 방법을 생각할 수 있다. 이는 Private Subnet 내 RDS 등에 안전하게 접근하려는 경우를 상상해보자. 

  • AWS Vpc 내에서 Bastion host를 Public Subnet에 배치한다. 
  • DB, Application Server는 Private Subnet에 배치한다. 
  • Security Group 설정으로 Bastion host를 통해서만 접근 가능하도록 설정한다. 

3) 원격 개발 및 운영 환경 지원 : 글로벌 팀 혹은 외부 환경에서 내부 네트워크에 접근하여 작업하는 경우이다. 어떤 회사의 내부에 접근하여 특정 서비스를 설치하는 상황을 가정해보자. 

  • 외부 혹은 어디서나 Bastion host를 통해 개발 서버에 접근할 수 있도록 설정한다. 
  • 개발자들에게는 별도의 SSH 키나 인증 방법을 제공한다. 

4) CI/CD 파이프라인 연동 : Bastion host를 통해 내부 환경에서 배포 작업 수행하는 경우를 가정해보자. 

  • CI/CD 도구(Jenkins, Gitlab CI 등) 가 Bastion host를 통해 내부 리소스에 안전하게 접근할 수 있도록 설정한다. 

 

'개념정리 > 개발' 카테고리의 다른 글

boto3  (0) 2025.05.03
Celery와 Redis  (0) 2025.02.09
FastAPI와 비동기 처리  (0) 2025.02.09
MSA, Landing Zone  (0) 2025.01.31