베스천(Bastion) 은 보루, 요새라는 뜻으로 중세 시대에 영주나 왕이 살고 있는 중요한 기지인 성을 둘러싸고 있는 방어막을 의미합니다.


컴퓨터 보안에서도 이런 의미를 가져와서 보호된 네트워크에 접근하기 위해 유일하게 외부에 노출되는 호스트를 Bastion 호스트라고 정의하고 있습니다.


아래 그림에서 보듯이 WAS 나 DBMS 서버등은 외부에 노출하면 안 되므로 별도의 사설망에 위치시키고 IP 도 공용이 아닌 사설 IP를 할당해서 운영해야 합니다.


하지만 회사내의 개발자 PC 등 정해진 곳에서 사설망 내의 서버에 개발이나 관리를 위해 SSH 등으로 원격 접속이 필요하며 네트워크를 분할할 경우 사설망내의 서버들은 공용 IP 가 없으므로 외부에서 바로 접근 불가한 문제가 있습니다.


베스천 호스트는 이런 이유로 Public subnet 에 위치시키고 운영 서버에 SSH 로 원격 접근 권한은 Bastion Host 만 가능하도록 내부의 방화벽 및 보안 정책을 적용하면 보안과 편의성 2마리 토끼를 잡을 수 있습니다.

물론 Bastion Host 는 내부망에 연결 가능한 중요한 서버이므로 방화벽과 침입 탐지등 여러 가지 보안 강화 대책을 적용하고 사용자의 접근 이력 로깅과 수행한 작업등을 남겨 놓도록 설정하는 게 좋습니다.


특히 Bastion Host 에 접근할 개발자 PC 의 IP 만 명시적으로 접근을 허용하고 SSH 포트는 22 번이 아닌 다른 포트를 사용하고 로그인시에 two factor 인증(OTP + 공개키)으로 보안을 강화하는 것을 권장하며 자세한 내용은 SSH 보안 항목에서 다룹니다.