Bastion Host 운영

PLURA

Bastion Host란?

Bastion Host는 Public 네트워크에서 Private 네트워크에 대한 액세스를 제공하기 위한 목적을 가진 서버입니다.
일반적으로 Amazon VPC (Virtual Private Cloud)의 Public Subnet에 위치한 Amazon EC2 인스턴스에서 실행됩니다.

  • Linux 인스턴스는 Public Subnet에 연결된 Bastion Host를 통해 Private Subnet에 있는 리소스에 접근할 수 있습니다.
  • Bastion Host는 SSH 트래픽을 허용하며, Security Group을 통해 제어됩니다.

bastion_host


다음 다이어그램은 Bastion Host를 통한 연결을 설명합니다:

NM_diagram_061316_a


Bastion Host 운영

A. EC2 설정

1. 인스턴스

  1. Bastion Host

    • IP: Public IP 할당
    • Subnet: Public Subnet1에 배치
  2. WebServer Instance1

    • IP: Public IP 없음
    • Subnet: Private Subnet1에 배치

00


2. Security Group 설정

  1. Bastion Host

    • Type: SSH
    • Source: My IP (Bastion Host에 접속할 HostPC의 공인 IP를 지정)
  2. WebServer Instance1

    • Type: SSH
    • Source: Bastion Host의 Public Subnet에 할당된 IP 주소 지정

11


B. VPC 설정

1. VPC

  • CIDR: 172.31.0.0/16

55


2. Subnet

  • Private Subnet: 172.31.16.0/20
  • Public Subnet: 172.31.0.0/20

3. Route Table

  1. Private Route Table

    • 로컬 네트워크 대역만 라우팅
  2. Public Route Table

    • 로컬 대역 외 트래픽은 인터넷 게이트웨이로 라우팅 (외부 통신 가능)

4. Network ACL 설정

  1. Private Subnet ACL

    • Bastion Host에 대해서만 SSH 접속 허용
  2. Public Subnet ACL

    • 모든 소스에서 SSH 요청 허용 (필요시 Security Group에서 세부 제어)

C. SSH 접속

  1. Bastion Host로 접속

    • Public IP 사용
  2. pem 파일 업로드

    • Bastion Host에서 Private Subnet의 Instance로 접속하려면 .pem 파일이 필요
  3. Private Subnet으로 SSH 접속

$ ssh -i "plura.pem" ec2-user@172.31.20.117

22


Bastion Host 운영 목적

33-1

Public 서버 한 대에서 하루 동안 약 11,000건의 로그인 실패 탐지 사례입니다.
Public 서버는 하루 수만~수십만 건의 계정 탈취 시도가 발생할 수 있습니다.

  • 방화벽을 통해 관리하더라도 모든 IP를 통제하기 어려워 보안에 취약해질 수 있습니다.
  • Bastion Host 운영 시, Private Instance의 액세스 로그를 한 곳에서 취합하여 관리가 용이합니다.

중요: Bastion Host는 Linux 인스턴스에 대한 유일한 SSH 트래픽 소스입니다.

44-1

PLURA는 공개키 로그인 성공 시, Private Instance로 액세스한 IP 주소 및 생성일을 필터링하여 탐지합니다.


📖 함께 읽기