bastion

seongha_h·2025년 12월 17일

bastion 이란?

외부 네트워크에서 개인 네트워크(VPC 등)에 있는 리소스에 접근하기 위한 단일 액세스 지점(Single Entry Point)을 제공하는 서버입니다.

왜 필요한가?

VPC의 프라이빗 서브넷에 배치된 리소스(DB, 인스턴스)는 외부 네트워크를 통해 접근이 불가능하므로, 관리나 운영을 위한 별도의 접근 경로가 필요합니다.

이때 사용하는 것이 bastion 서버 입니다.

외부 → Bastion Host → 내부 리소스

장점

  • 내부 리소스에 public ip 할당 x
  • 접근 가능한 IP, 포트, 계정을 Bastion 하나로 관리
  • 보안 사고 발생시 접근 경로를 빠르게 추적

bastion host는 인스턴스 이므로 보안그룹 설정을 이용해 특정 ip만 허용할 수 있습니다.

  • 회사 네트워크(ip) or vpn 에서 접속 → ✅ 허용
  • 집, 카페, 다른 네트워크 → ❌ 차단
Local PC (localhost)
   ↓  SSH Tunnel
Bastion Host
   ↓
Private Resource (RDS, Redis, Internal API)

단점

  • key 파일을 통한 접속이 필요
    • 외부에서 bastion에 접속할 때 key 값이 필요
    • bastion에서 프라이빗 네트워크로 접속할 때 key 값 필요
      이때 bastion 에 key값을 직접 저장한다면 보안사고 발생 위험 매우 높음
      => bastion에 접근이 가능하면 private 서브넷으로 접근이 가능해져 버리는 사고 발생
      Bastion 침해 → 키 탈취 → 내부 서버 무제한 접근
  • bastion host의 ip주소를 외우고 있어야함.

결론

  • 보안을 강화하면서 운영에 필요한 최소한의 접근을 가능하게 하는 중계서버
  • 퍼블릭 서브넷에 위치한 프라이빗 네트워크 접속을 위한 인스턴스
  • 내부 리소스에 접근할 수 있도록 제한된 포트(SSH 등) 개방

SessionManager

bastion host 의 대안으로는 sessionManager 가 있습니다. (AWS 권장 방식)

Systems Manager은 여러 AWS 리소스를 그룹화하여 운영 및 유지보수를 자동화하고 효율적으로 관리하기 위한 서비스입니다.

SSM을 이용하면 SSH나 RDP 포트를 열지 않고도 IAM 인증을 통해 EC2에 접속할 수 있습니다.

외부 → AWS API → EC2 (SSM Agent)

장점

  • Session Manager를 통해 로그인하면, 로그인 대상 인스턴스에 대해 Security Group 등으로 SSH 통신 허가 설정
    (포트 개방, whitelist관리)이 필요 없어져 보안이 강화된다.

  • 보안 강화: 즉, SSH나 RDP로 직접 인스턴스에 접속하지 않기 때문에 보안 관리에 있어서 더욱 안전하다.
    또한, 키 페어(SSH 키) 관리가 필요 없어져 운영이 간편하다.

  • 프라이빗 서브넷에 있는 인스턴스에도 중간 서버(bation server) 없이 접속이 가능하다.

Bastion vs SessionManager

항목Bastion HostSession Manager
퍼블릭 IP필요불필요
SSH/RDP 포트필요불필요
접근 제어보안그룹 + 키IAM
운영 부담있음거의 없음
세션 로깅직접 구성기본 제공
권장 여부레거시/특정 상황⭐ 기본 권장

=> 회사에서는 bastion 을 사용하여 접속하고 있습니다.
레거시 환경이라 bastion 을 사용해야만 하는 것인지, ssm으로 전환할 수 있을지 파악하고 개선해보면 좋을 것 같습니다.

출처

https://jibinary.tistory.com/371
https://wikidocs.net/281588
https://jinwookoh.tistory.com/147
https://www.youtube.com/watch?v=JNHStFkaWSw

profile
https://github.com/Fixtar

0개의 댓글