서비스 검색 구성

애플리케이션이 호스트가 활성이거나 실행 중임을 확인하면, 컴퓨터에서 실행되는 서비스에 대한 정보를 수집하기 위해 포트를 스캔합니다. 서비스 검색 대상 범위에는 TCP 및 UDP 포트가 포함될 수 있습니다.

TCP 포트(RFC 793)는 네트워크로 연결된 컴퓨터가 “통신”을 수행하는 경로인 논리적 연결의 종단점입니다.

잘 알려진 포트는 인터넷에서 가장 일반적으로 개방되어 있는 포트입니다.

포트의 범위는 이보다 넓을 수 있습니다. 각 취약점 검사에 따라 스캔할 포트가 추가될 수 있습니다. 여러 백도어, 트로이 목마, 바이러스 및 기타 웜이 컴퓨터에서 설치된 후 포트가 생성될 수 있습니다. 악성 프로그램 및 해커는 멀웨어가 설치된 컴퓨터에 액세스하는 데 이러한 포트를 이용할 수 있습니다. 이러한 포트는 사전 정의되지 않았으며 시간이 지나면 변경될 수 있습니다. 출력 보고서가 악성 포트를 포함해 취약점 검사 시 스캔된 포트를 알려줍니다.

다양한 포트 스캔 방법 사용자 지정 옵션으로 이용할 수 있습니다. 대부분의 기본 템플릿은 포트 스캐너 프로세스가 TCP 패킷을 SYN(동기식) 플래그와 함께 전송하는 SYN(Stealth Scan) 방법을 사용합니다. 이는 가장 신뢰성 높은 방법입니다. 또한, 신속한 방법이기도 합니다. 실제로 SYN 포트 스캔은 TCP 포트 스캔 방법 중 하나인 전체 연결을 통한 스캔보다 약 20배 빠릅니다.

단 전체 연결 방식 중 포괄(Exhaustive) 템플릿 및 침투 테스트는 최적의 스캔 방법을 제공하므로 예외적으로 볼 수 있습니다. 이 옵션으로 일부의 경우 방화벽을 통해 스캔이 가능하지만 이런 방식은 신뢰성이 보다 낮습니다.

대부분의 템플릿이 스캔 범위에 UDP 포트를 포함하지만 이러한 포트를 잘 알려진 번호로 제한합니다. UDP 포트에서 실행되는 서비스는 DNS, TFTP 및 DHCP 등이 있습니다. 모든 자산을 스캔하기 위해 UDP 포트를 더 많이 추가할 수 있지만 이 경우 스캔 시간이 증가합니다.

포트 스캔 성능 고려 사항

모든 포트를 스캔하는 데에는 많은 시간이 걸립니다. 스캔이 방화벽을 통해 실행되고 방화벽이 권한 없는 디바이스로 전송된 패킷을 삭제하도록 설정된 경우 전체 포트 스캔에는 수 시간에서 수 일이 걸릴 수 있습니다. 모든 포트를 스캔하도록 애플리케이션을 구성하는 경우 추가 매개 변수를 변경해야 할 수 있습니다.

서비스 검색은 리소스 사용이 가장 많은 스캔 단계입니다. 애플리케이션은 몇몇 자산에서 포트를 스캔하기 위해 수십만 개의 패킷을 전송합니다.

스캔하는 포트가 증가할수록 스캔 시간도 증가합니다. 그리고 포트를 최대한 많이 스캔한다고 해서 반드시 정확도가 개선되는 것은 아닙니다. 검색 데이터에 기반해 대상 자산을 선택하는 것이 좋습니다. 어떤 포트를 스캔할지 모른다면 잘 알려진 번호를 사용하십시오. 하지만 해커는 서비스 해킹을 위해 이러한 포트를 의도적으로 피하거나 추가 포트를 조사할 수 있습니다.

注意:  이 애플리케이션은 폐쇄된 UDP 포트를 위해 “ICMP 포트 접속 불가” 패킷을 반환하는 데 네트워크 디바이스를 사용합니다.

좀 더 포괄적인 스캔을 원하는 경우 포괄(Exhaustive) 또는 침투(Penetration) 테스트 템플릿과 같이 보다 포괄적인 템플릿의 TCP 포트 대상 목록을 이용하십시오.

UDP 포트를 스캔하려면, 앞서 설명한 신뢰성 문제 이외에도 UDP 포트 스캔에는 많은 시간이 걸릴 수 있음을 고려하십시오. 이 애플리케이션은 대부분의 네트워크 디바이스에 대한 TCP/IP 스택의 ICMP 속도 제한 매커니즘을 방지하기 위해 기본적으로 초당 2개의 UDP 패킷만 전송합니다. 이보다 많은 패킷을 전송하면 패킷이 손실될 수 있습니다. 전체 UDP 포트 스캔에는 대역폭 및 대상 자산 수에 따라 최대 9시간이 걸릴 수 있습니다.

스캔 시간을 줄이려면 필요한 경우가 아니면 전체 UDP 포트 스캔을 실행하지 마십시오. UDP는 “연결 없는” 프로토콜이므로 UDP 포트 스캔에는 일반적으로 TCP 포트 스캔보다 많은 시간이 걸립니다. UDP 스캔 시, 애플리케이션은 자산으로부터 응답이 없을 때 포트가 개방 또는 필터링되었다고 인식하므로 프로세스 속도가 저하됩니다. UDP 스캔을 수행하도록 구성되면 애플리케이션이 대상 자산의 패킷 교환 속도를 일치시킵니다. Oracle Solaris는 속도 제한 기능으로 인해 초당 2개의 UDP 패킷 실패에만 응답하므로 이러한 환경에서의 스캔 속도는 매우 느릴 수 있습니다.

서비스 검색 구성 단계

  1. 스캔 템플릿 구성—서비스 검색 페이지로 갑니다.

ヒント:  포트 스캔을 해제해 취약점 테스트를 실행하여 스캔 “침투” 성능을 극대화할 수 있습니다. 하지만 이 경우 애플리케이션의 서비스 검색이 불가능해 핑거 프린팅 및 취약점 검색이 어려울 수 있습니다.

  1. 드롭다운 목록에서 TCP 포트 스캔 방법을 선택합니다.
  2. 드롭다운 목록에서 스캔하려는 TCP 포트를 선택합니다.

추가 TCP 포트를 스캔하려면 추가 포트 텍스트 상자에서 포트 번호 또는 범위를 입력합니다.

注意: PowerShell을 스캔에 사용하려면, 포트 5985가 포트 목록에 이미 추가되지 않은 경우 이를 목록에 추가합니다. PowerShell이 설정되었지만 이 기능을 스캔에 사용하지 않으려면, 포트 5985가 포트 목록에 없어야 합니다. 자세한 내용은 스캔 자격 증명 구성을 참조하십시오.

  1. 드롭다운 목록에서 스캔하려는 UDP 포트를 선택합니다.

UDP 포트를 추가로 스캔하려면 추가 포트 텍스트 상자에서 원하는 포트 범위를 입력합니다.

注意: 기본 서비스 파일 설정을 변경하려면 기술 지원에 문의하십시오.

  1. 서비스 이름 파일을 변경하려면 텍스트 상자에 새 파일 이름을 입력합니다.

이 속성 파일에는 각각의 포트 및 포트에서 일반적으로 실행되는 서비스 목록이 있습니다. 포트의 실제 서비스를 확인할 수 없는 경우 서비스 이름은 이 파일로부터 도출됩니다.

기본 파일, 기본 서비스 속성이 있는 디렉토리: <installation_directory/plugins/java/1/NetworkScanners/1.

이 파일을 고유한 포트/서비스 목록으로 구성된 사용자 지정 버전으로 교체할 수 있습니다.

  1. 다른 모든 템플릿 설정을 원하는 대로 구성합니다. 스캔 템플릿 구성이 완료되면 저장을 클릭합니다.

검색 성능 설정 변경

자산 및 서비스 검색 시 속도 및 리소스 활용을 극대화하기 위해 기본 스캔 설정을 변경할 수 있습니다. 이러한 검색 성능 설정을 변경하지 않으면 스캔 성능은 네트워크 상태에 따라 자동으로 조정됩니다.

패킷 관련 설정 변경은 검색 성능에 영향을 미칠 수 있습니다. 성능 조정의 “세 가지” 고려 사항을 참조하십시오. 전송 지연 시간 간격을 단축하면 이론적으로 스캔 속도가 증가하지만 대역폭에 따라 네트워크 정체가 발생할 수 있습니다. 전송 지연 시간 간격을 늘리면 정확도가 향상됩니다. 또한 방화벽 또는 IDS 디바이스의 블랙리스팅을 피하기 위해 지연 시간을 늘려야 할 수도 있습니다.

포트 스캔 방법

다음의 포트 스캔 방법에 나온 수치는 기본 설정이며 변경이 가능합니다. 이 애플리케이션은 10개의 패킷을 대상 자산에 전송하고 10밀리초 후 또 다른 10개의 패킷을 전송하는 프로세스를 해당되는 각 포트에 반복 실행합니다. 스캔 종료 후 또 다른 패킷 세트를 전송하고 응답을 수신하지 못한 각 패킷 세트를 위해 10 밀리초 대기합니다. 이러한 시도가 각각의 포트에 5번 실행됩니다.

애플리케이션이 정의된 재시도 횟수 내에 응답을 수신하면 다음 검색 단계인 서비스 검색을 진행합니다. 템플릿에 정의된 모든 검색 방법을 사용한 후에도 응답을 수신하지 못하면 스캔 로그에 자산을 비활성으로 보고합니다.

대상 자산이 로컬 시스템 세그먼트(방화벽 사용하지 않음)에 있는 경우, 자산이 포트가 닫힌 것으로 응답하므로 스캔 속도가 빨라집니다. 디바이스가 방화벽을 사용하는 경우, 패킷이 소모되어 스캔 엔진으로 반환되지 않습니다. 이 경우 애플리케이션은 포트 스캔 간의 최대한의 시간 동안 대기합니다. TCP 포트 스캔은 65K 포트의 전체 포트 스캔이 포함되는 경우를 비롯해 5시간이 넘게 걸릴 수 있습니다.

방화벽 안의 로컬 세그먼트에서 자산 스캔을 시도하십시오. 필요한 경우가 아니라면, 방화벽처럼 패킷을 삭제할 수 있는 디바이스의 외부에서 전체 TCP 포트 스캔을 수행하지 마십시오.

변경할 수 있는 성능 설정:

注意: 최소 재시도, 초당 패킷 속도, 동시 연결 요청에 대한 기본값 0은 수동 설정을 해제하며 이 경우 애플리케이션이 설정을 자동 조정합니다. 수동 설정을 사용하려면 1 이상의 값을 입력하십시오.

최대 재시도 수

대상 자산에 접촉하려는 시도의 최대 횟수입니다. 이 횟수가 초과되고 응답을 받지 못한 경우 해당 자산은 스캔되지 않습니다. UDP 재시도 기본 횟수는 5로 방화벽을 통한 스캔에 대해 높은 수치입니다. UDP 스캔 시간이 예상보다 길면 재시도 값을 2 또는 3으로 변경해 보십시오.

최대 재시도 값을 기본값에서 4로 줄이면 스캔 프로세스 속도를 높일 수 있습니다. 패킷 전송 재시도 값을 줄이는 것은 트래픽이 많거나 방화벽 규칙이 엄격한 네트워크에서 정확도를 조정하는 좋은 방법입니다. 이런 환경에서는 패킷이 손실되기 쉽기 때문입니다. 재시도 값을 3으로 설정할 수도 있습니다. 이때 스캔 시간이 증가할 수 있습니다.

시간 초과 간격

재시도 간에 대기하는 밀리초 시간입니다. 스캔에 사용될 최초의 설정인 초기 시간 초과 간격을 설정할 수 있습니다. 또한 범위도 설정할 수 있습니다. 최대 시간 초과 간격의 경우, 값이 5ms보다 작으면 수동 설정이 해제되고 애플리케이션이 설정을 자동 조정합니다. 검색은 네트워크 조건에 따라 간격 설정을 자동 조정할 수 있습니다.

스캔 지연 시간

패킷을 각 대상 호스트에 전송하는 사이에 대기하는 밀리초 시간입니다.

注意:  이 설정값을 줄이면 스캔 결과의 정확도가 낮아질 수 있습니다.

TCP 패킷 전송 지연 시간 간격을 늘리면 스캔 시 라우터 오버로드, 방화벽 트리거 또는 IDS(Intrusion Detection Systems)의 블랙리스팅을 방지할 수 있습니다. 패킷 전송 지연 시간 간격을 늘리면 정확도는 향상되지만 속도는 저하될 수 있습니다.

지연 시간 간격을 10~25밀리초로 낮춰 포트 스캔 정확도를 개선할 수 있습니다.

초당 패킷 속도

검색 시도 중 전송되는 초당 패킷의 수입니다. 이 속도를 늘리면 스캔 속도를 높일 수 있습니다. 하지만 많은 패킷이 정체가 심한 네트워크로 전송되어 스캔 결과에 영향을 미칠 수 있습니다.

注意: 디피트 속도 제한을 설정하려면 SYN(Stealth) 스캔 방법을 선택해야 합니다.  스캔 템플릿을 참조하십시오.

기타 제어 기능인 디피트 속도 제한(Defeat Rate Limit 또는 defeat-rst-rate limit)은 초당 최소 패킷 속도를 적용합니다. 이는 대상 호스트가 RST(재설정) 응답 속도를 포트 스캔으로 제한할 때 스캔 속도를 높일 수 있습니다. 하지만 이러한 상태에서 이 패킷 설정을 적용하면 스캔 시 생략되는 포트로 인해 스캔 정확도가 감소할 수 있습니다. 디피트 속도 제한을 해제하면 대상 호스트가 RST(재설정) 응답 속도를 포트 스캔으로 제한하는 경우 최소 패킷 설정이 무시될 수 있습니다. 스캔 정확도가 향상될 수 있습니다.

병렬 처리(동시 연결 요청)

대상 호스트에 동시에 전송될 검색 연결 요청의 횟수입니다. 동시 요청이 증가하면 네트워크 대역폭에 따라 스캔 속도가 향상될 수 있습니다. 스캔 지연 시간 값이 설정되어 있는 경우 이 설정이 적용되지 않습니다.

검색 성능 튜닝 구성 단계

  1. 스캔 템플릿 구성—검색 성능 페이지로 갑니다.
  2. 최대 재시도 값은 슬라이더를 왼쪽 또는 오른쪽으로 드래그해 값을 조정합니다.
  3. 시간 초과 간격은 슬라이더를 왼쪽 또는 오른쪽으로 드래그해 초기, 최소최대값을 조정합니다.
  4. 스캔 지연 시간은 슬라이더를 왼쪽 또는 오른쪽으로 드래그해 값을 조정합니다.
  5. 초당 패킷 속도는 슬라이더를 왼쪽 또는 오른쪽으로 드래그해 최소최대값을 조정합니다.
  6. 디피트 속도 제한 체크박스를 선택해 초당 최소 패킷 속도를 적용합니다.
  7. 병렬 처리는 슬라이더를 왼쪽 또는 오른쪽으로 드래그해 최소최대값을 조정합니다.
  8. 다른 모든 템플릿 설정을 원하는 대로 구성합니다. 스캔 템플릿 구성이 완료되면 저장을 클릭합니다.