VPN 사용자가 점프 호스트를 거치지 않고 서버에 도달해도 되는지는 네트워크 옷을 입은 정책 문제입니다. 배스천이 필수 통제를 수행한다면 VPN 가입은 그 통제로 이어져야 하며 우회해서는 안 됩니다. 점프 호스트가 과거에 접근할 수 없던 구간을 단지 연결해 주었을 뿐이라면 좁은 직접 경로가 정직한 대체물이 될 수 있습니다. 아래 점검을 순서대로 진행하고 처음 실패하는 지점에서 멈추십시오. 그 답이 나머지를 결정합니다.

배스천이 실제로 무엇을 통제하는지 점검하십시오

설계 문서의 도면이 아니라 현재 상태에 대한 증거로 시작하십시오. 대상의 SSH 구성과 패킷 필터를 보십시오. 인바운드 포트 22가 배스천 주소에서만 허용된다면 점프 호스트는 강제된 통제입니다. 같은 포트가 VPN 풀 전체의 연결을 받는다면 배스천은 편의였고 강제는 전혀 다른 곳에 있습니다. 티켓 이력은 보통 둘 중 어느 것이 먼저였는지 확인해 줍니다.

배스천이 제공하는 통제를 명시하는 한 문장으로 발견 사항을 서술하십시오. 목적지 제한, 두 번째 인증 단계, 세션 기록, 또는 사고 중 운영 가시성입니다. 바로 그 문장이 대체 정책이 보존해야 하는 것입니다.

대상이 경로를 구별할 수 있는지 점검하십시오

출발지 주소 규칙은 두 경로가 서로 다른 출발지 주소로 도착하는 동안에만 작동합니다. 서버 서브넷으로 가는 트래픽을 마스커레이드하는 VPN 게이트웨이는 그 차이를 지워 버리고, 그러면 포트 22로 가는 모든 연결이 게이트웨이에서 오는 것처럼 보입니다. 점검은 대상에서 국지적으로 이루어지며 잠깐이면 됩니다. 설정된 SSH 세션을 나열하고 각 세션의 상대 주소를 읽으십시오.

두 경로가 하나의 주소로 붕괴되면 구별은 더 앞단에서 이루어져야 합니다. VPN이 밀어 넣을 수 있는 목적지와 게이트웨이 자체의 필터로 말입니다. 그런 상황에서 대상에 규칙을 추가하면 도착하는 것을 바꾸지 않으면서 경계의 착각만 만듭니다.

각 기록이 실제로 무엇을 담는지 점검하십시오

세 가지 다른 로그는 세 가지 다른 사건을 기술하며 어느 것도 다른 것을 대신하지 못합니다. VPN의 연결 기록은 한 신원이 네트워크 범위로 들어왔음을 보여 줍니다. 배스천의 전달 기록은 그것을 떠나 목적지와 포트로 향하는 TCP 채널을 보여 줍니다. 대상의 인증 로그는 계정이 SSH로 로그인했음을 보여 줍니다. 이것들을 함께 읽어야 시간선이 생기고, 하나만 읽으면 추측이 생깁니다.

이 기록들 중 어느 것도 클라이언트와 대상 사이의 암호화된 세션 내부에서 일어난 일을 담지 않습니다. 명령 수준 검토가 요구 사항이라면 자체적인 데이터 처리 규칙을 갖춘, 의도적으로 배치된 기록 장치가 필요합니다. 점프 호스트 로그에서 그것을 기대하는 것이 감사 공백이 중요해질 때까지 숨어 있는 방식입니다.

정책이 실제로 어디에서 강제되는지 점검하십시오

ProxyJump 같은 클라이언트 설정은 요청이지 제한이 아닙니다. OpenSSH는 목적지에 도달할 수 있으면 기꺼이 직접 연결을 엽니다. 그래서 노트북의 구성 파일은 의도를 서술하고 방화벽이 결과를 결정합니다. 강제는 VPN 게이트웨이의 허용 목적지와 대상 자체의 접근 규칙에 속하며, 사용자는 둘 다 편집할 수 없습니다. 동시에 대체 경로를 감사하십시오. 두 번째 인터페이스, 공용 리스너, 메시 오버레이, 또는 오래된 사이트 간 터널이 각각 방금 닫은 지름길을 되살릴 수 있습니다.

그래도 ProxyJump를 구성하십시오. 승인된 경로를 쉬운 길로 만들고 일상 업무가 예외를 만들어 내지 않게 합니다. 신뢰하기 전에 클라이언트가 실제로 무엇을 해석하는지 확인하십시오.

ssh -G app01.lab.internal | grep -iE '^(hostname|port|proxyjump|proxycommand)'

의도적인 직접 시도로 검증하십시오

한 번도 시험되지 않은 정책은 희망입니다. VPN에 연결된 클라이언트에서 이제 거부되어야 할 경로를 시도하고, 그다음 승인된 경로를 시도하고, 두 결과를 모두 보관하십시오. 거부된 시도가 변경이 효력을 냈다는 증거입니다.

nc -vz -w 3 10.20.30.41 22
ssh -J bastion.lab.internal app01.lab.internal true

깨끗한 결과는 대상 주소로의 직접 연결이 거부되거나 시간 초과된 뒤, 점프 호스트 로그인에 성공하고 대상 측에 지원되는 출발지를 명시한 인증 항목이 남는 모습입니다. 그 밖의 무엇이든 문서가 무어라 하든 경계가 여전히 구멍투성이라는 뜻입니다. 날짜와 변경한 규칙, 두 결과를 기록한 다음 복구 경로에 소유자와 만료일을 부여하십시오 긴급 접근이 조용히 일상 경로가 되지 않도록 말입니다.

관련 글