218. 베스천 호스트 (Bastion Host)

⚠️ 이 문서는 해커들이 우글거리는 인터넷과 안전하게 보호받아야 할 내부망(프라이빗망) 사이에 놓인 비무장지대(DMZ)에 덩그러니 서서, **안팎을 연결하는 유일한 통로이자 모든 해킹 공격을 가장 먼저 온몸으로 받아내야 하는 방어를 위해 극도로 단련된 단일 접속 서버인 '베스천 호스트'**를 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 관리자가 집에서 회사 내부 깊숙한 곳에 있는 DB 서버에 접속하여 작업하고 싶을 때, 다이렉트(직접) 연결을 불허하고 **반드시 중간에 거쳐 가도록 만들어진 안전한 '점프용(Jump Server) 징검다리 PC'**다.
  2. 가치: 외부에 노출되는 접점(Public IP)을 이 컴퓨터 단 한 대로 최소화(Attack Surface 축소)하여 보안 통제 구역을 일원화하고, 여기에 2FA(다중 인증)와 모든 키보드 타이핑 로그 기록 장치를 달아 내부망 진입을 철저히 감시한다.
  3. 기술 체계: 공격의 표적이 되므로, 해킹당할 빌미를 없애기 위해 이 서버 안에는 FTP, 웹 서버 등 불필요한 프로그램과 계정을 싹 다 지워버리고 오직 원격 접속(SSH, RDP) 기능 하나만 남겨두는 고강도 하드닝(Hardening) 작업이 필수적이다.

Ⅰ. 성곽의 돌출된 요새 (Bastion): কেন 필요한가?

내부망의 숨겨진 보물을 관리하려면 결국 누군가는 밖에서 안으로 들어가야 한다.

  1. 프라이빗 서브넷(Private Subnet)의 단절:
    • 클라우드나 사내망 보안의 철칙은 "핵심 서버(DB, 백엔드 로직)에는 절대 공인 IP(Public IP)를 주지 마라"는 것이다. 즉, 인터넷이 끊긴 고립된 방에 가둬둔다.
    • 이 경우 해커도 못 들어오지만, 주말에 장애가 났을 때 집에서 자던 서버 관리자(DBA)도 접속해서 수리할 방법이 없다.
  2. 징검다리 서버의 설계:
    • 외부망(인터넷)과 연결된 공인 IP를 가진 구역(DMZ 또는 Public Subnet)에 '베스천 호스트'라는 가상 서버를 하나만 띄운다.
    • 내부의 DB 서버들은 오직 이 '베스천 호스트의 프라이빗 IP에서 들어오는 접속 요청(SSH)'만 허락하도록 보안 그룹(방화벽) 규칙을 설정한다.
  3. 접속 프로세스:
    • 관리자(집) $\rightarrow$ 인터넷 $\rightarrow$ [베스천 호스트 접속 (인증)] $\rightarrow$ 내부망 점프 $\rightarrow$ [DB 서버 작업]

📢 섹션 요약 비유: 왕비의 침실(내부 DB)은 창문도 밖으로 나가는 문도 없이 밀폐되어 있습니다. 왕비에게 음식을 주려면, 밖에서 일단 돌출된 작은 초소(베스천 호스트) 문으로 들어가서 신분 검사를 마친 뒤, 그 초소 안에 숨겨진 비밀 통로를 통해서만 침실로 들어갈 수 있는 구조입니다. 초소를 장악하지 못하면 침실에는 절대 갈 수 없습니다.


Ⅱ. 총알받이 서버의 생존 전략 (Hardening)

베스천 호스트는 외부 해커들의 모든 공격 포화가 쏟아지는 제1 타겟이 된다.

  1. 하드닝 (OS Hardening, 단단하게 만들기):
    • 베스천 호스트는 무조건 방어력 '몰빵' 세팅을 해야 한다.
    • 해커가 파고들 만한 틈(포트)을 주지 않기 위해, 서버에서 웹 브라우저, 메일 클라이언트, 불필요한 네트워크 유틸리티, 사용하지 않는 리눅스 계정을 모조리 삭제하거나 비활성화한다. (공격 표면, Attack Surface 최소화)
    • 오직 원격 제어를 위한 TCP 22번 (SSH) 또는 윈도우용 TCP 3389번 (RDP) 포트 딱 하나만 열어둔다.
  2. 강력한 2차 인증 (MFA / 2FA):
    • 아이디와 비밀번호가 털려도 못 들어오도록 구글 OTP, 휴대폰 인증 번호 등 다중 인증 장치를 반드시 이 관문에 걸어둔다.
  3. IP 화이트리스트 통제:
    • 베스천 호스트의 SSH 포트를 인터넷 전체(0.0.0.0/0)에 열어두면 봇(Bot)들이 하루에 수만 번 비밀번호를 찍어 맞춰보는 무차별 대입 공격(Brute Force)을 시도한다. 반드시 회사 사무실의 IP나 관리자의 고정 IP 대역에서만 접속 창이 뜨도록 앞단 방화벽을 닫아둬야 한다.

📢 섹션 요약 비유: 이 초소(베스천)는 적의 대포가 제일 먼저 날아오는 최전선 진지이므로, 유리창(불필요한 프로그램)은 모두 철판으로 막아버리고, 밖을 내다보는 아주 작은 총안구(SSH 포트) 딱 하나만 뚫어놓는 극단적인 방호 개조 작업(하드닝)을 거쳐야만 생존할 수 있습니다.


Ⅲ. 감시와 추적의 블랙박스 (Auditing)

베스천 호스트는 들어가는 문인 동시에 완벽한 감시 카메라가 되어야 한다.

  1. 행위 로깅 (Session Recording):
    • 개발자가 베스천 호스트를 딛고 내부 DB로 들어가면, 그 뒤부터는 DB 안에서 무슨 명령어를 치는지 추적하기가 까다로워진다.
    • 따라서 베스천 호스트 자체에 키로깅(Key-logging) 프로그램이나 세션 녹화 도구를 띄워, "관리자가 들어와서 콘솔 창에 어떤 명령어(예: rm -rf / 삭제)를 타이핑했는지"를 동영상 보듯 완벽하게 기록하고 저장소로 넘겨야 한다.
  2. 최신 클라우드 기술로의 진화 (SSM / IAP):
    • 최근 AWS나 GCP 같은 클라우드 환경에서는 해킹당할 서버 자체를 두는 것도 찝찝해서, 아예 서버 인스턴스를 없애고 클라우드 웹 콘솔 창에서 버튼만 누르면 브라우저 화면에서 내부망 서버로 직결되는 **포트 없는 접속 기술(AWS Systems Manager Session Manager 등)**로 점차 대체되는 추세다.

📢 섹션 요약 비유: 베스천 초소 안에는 관리자가 초소를 통과할 때마다 어느 방향으로 가서 무슨 일을 하고 돌아왔는지를 일거수일투족 다 녹화하는 고화질 CCTV(행위 로깅)가 설치되어 있습니다. 이 녹화 테이프가 있어야, 나중에 내부 DB에서 정보가 새나갔을 때 어느 직원의 소행인지 100% 잡아낼 수 있는 강력한 내부 통제 블랙박스입니다.