VPN을 통한 Nessus: 첫 스캔 전에 스캐너를 어디에 둘 것인가
브라우저가 Nessus 콘솔에 접속한다고 해서 스캐너가 대상에 도달한다는 증거는 아닙니다. 실행 전에 프로세스 위치, 경로, 범위, 자격 증명을 확인하세요.
브라우저 옆의 VPN 아이콘은 스캔 패킷을 보내는 프로세스에 대해 아무것도 말해주지 않는다. 콘솔과 스캐너가 서로 다른 호스트에서 실행된다면 브라우저의 터널은 하나의 경로이고 스캔의 출발점은 또 다른 경로다. 실행 지점에서 시작해 바깥으로 나아가라: 경로, 권한, 자격 증명이다. 이 구분이 점검 목록의 첫 항목인 데에는 이유가 있다.
이것은 시작 전 점검 목록이지 스캐닝 자습서가 아니다. 각 단계는 어떤 패킷이 스캐너를 떠나기 전에 작업 기록에 적을 수 있는 사실 하나를 만들어낸다.
첫 번째 점검: 프로브를 보내는 프로세스를 찾아라
세 역할을 분명히 그려라: 노트북 A의 브라우저, 호스트 B의 스캔 콘솔, 사설 대상 C다. B가 스캔 엔진까지 실행한다면 브라우저는 B까지의 경로만 있으면 된다. 별도의 스캔 어플라이언스가 일을 한다면 그 어플라이언스에 C까지의 경로가 필요하다.
Browser on laptop A -> console on host B
Scanner process on B (or another appliance) -> private target C
VPN에 연결된 브라우저가 콘솔에 도달해도 그 뒤의 스캐너는 아직 C로 가는 경로가 없을 수 있다. 반대도 가능하다: 스캐너는 사설 네트워크 안에 있고 콘솔은 멀리 있다. 어떤 구성으로 실제 운영하는지 네트워크 제어를 바꾸기 전에 확인하라. 네트워크를 탓하기 전에 스캔 구성에 어플라이언스를 적어라.
스캐너가 A에서 실행되면 브라우저 호스트와 스캐너는 같은 컨텍스트를 공유하지만, 그 프로세스가 같은 네임스페이스와 같은 라우팅 테이블을 유지하는 동안만 그렇다. 컨테이너나 서비스 계정은 대화형 브라우저가 보는 것을 상속하지 않을 수 있다. 콘솔은 관리 화면이지 스캔 엔진이 아니다.
두 번째 점검: 스캐너의 경로와 DNS를 증명하라
경로 점검은 노트북이 아니라 스캐너 호스트에서 실행하라. 커널에 대상 주소에 어떤 인터페이스와 게이트웨이를 쓸지 물은 다음 대상 호스트 이름에 대해서도 반복하라. IP에 존재하는 경로와 다른 주소로 해석되는 이름은 서로 다른 두 가지 장애다.
대상에서 보일 출발지 주소를 확인하라. VPN 클라이언트는 대상 방화벽이 기대하는 것과 다른 주소를 할당할 수 있고 NAT 장비가 다시 쓸 수도 있다. 대상 소유자에게 필요한 것은 관측된 출발지이지 VPN 프로필에 찍힌 주소가 아니다.
돌아오는 경로도 점검하라. 대상에 도달하지만 응답을 받지 못하는 스캐너는 돌아오는 길에 라우팅이나 방화벽 문제가 있으며, 이는 대상이 죽은 것과 똑같이 보인다.
세 번째 점검: 범위와 관점에 대한 승인을 받아라
대상 소유자에게 시스템, 서비스, 환경, 출발지, 시간 창을 문서로 명시하게 하라. 평가가 어떤 관점을 대표하는지 정하라: 외부 VPN 사용자, 허용된 내부 클라이언트, 특정 스캐너 세그먼트다.
사설 경로는 인접 네트워크를 시험할 권한이 아니다. 대상 목록을 좁게 유지하고 제외 시스템을 나열하며 중지 조건과 실행을 멈출 수 있는 연락처를 합의하라. 스캐너는 도달할 수 있는 모든 것을 기꺼이 조사하므로 범위가 명시적이어야 한다.
승인된 출발지를 같은 문서에 기록하라. 스캐너가 관측한 출발지가 승인된 것과 다르면 대상 목록이 맞더라도 그 실행은 합의된 관점을 대표하지 않는다.
네 번째 점검: 자격 증명을 평가 깊이에 맞춰라
도달성 점검과 인증 평가는 서로 다른 시험이다. 포트 응답은 무언가가 답했다는 증거일 뿐이며, 자격 증명을 사용한 점검이 실행되었거나 애플리케이션이 계정을 승인했다는 증거는 아니다.
전용 자격 증명은 합의된 범위가 인증 점검을 요구할 때만 사용하라. 계정 권한과 잠금 정책을 확인하고, 스캔이 결과를 만들기 전에 발견 사항을 어떻게 저장하고 공유할지 정하라.
자격 증명이 실패하면 조용히 비인증 실행으로 돌아가서 보고서를 계획된 평가라고 부르지 마라. 결과는 다른 의미를 지닌 다른 시험이며, 그 차이는 보고서에 속한다.
다섯 번째 점검: 계획을 저장한 뒤 의도적으로 시작하라
Nessus 스캔 워크플로에서 템플릿 선택, 설정 구성, 스캔 저장 또는 시작은 별개의 단계다. 이 분리를 활용해 트래픽이 시작되기 전에 대상 목록, 출발지, 일정을 검토하라.
시작을 승인하기 전에 VPN이 어떤 출발지를 허용하는지, 어떤 트래픽을 나르는지, 터널이 끊기면 어떻게 복구하는지 확인하라. 예비 연결이 실패했다는 이유만으로 방화벽 접근을 넓히지 마라. 거부한 계층을 찾아 그 계층을 고쳐라.
실행 후에는 스캐너 호스트, 관측된 출발지, 대상 목록, 완료하지 못한 점검을 기록하라. 다른 출발지에서 또는 의도한 자격 증명 없이 만든 보고서는 원래 계획을 대표하지 않으며, 그렇게 밝히는 것도 산출물의 일부다.
작업 접근 권한을 회수하고 보관된 결과는 합의된 절차로 처리하라. 점검 목록은 증거가 승인한 경로와 일치할 때 끝나며, 스캔이 결과를 돌려줬을 때 끝나는 것이 아니다.