에이전트 설치 및 실행 가이드

에이전트 설치/삭제/실행/종료 방법에 대해 참고할 수 있는 가이드입니다.

목차

에이전트 설치

Step 1. 탐지 대상 서버에 접속

Step 2. 에이전트 설치

# wget http://wbd.ncloud.com:18088/agent/wbd_installer.sh -O wbd_installer.sh
# chmod a+x wbd_installer.sh
# ./wbd_installer.sh

아래와 같이 문구가 표기되면 에이전트 설치를 성공한 것을 확인할 수 있습니다. security-17-184

Step 3. 에이전트가 정상적으로 실행되었는지 확인

다음과 같은 명령어를 통해 에이전트가 성공적으로 설치되어 실행중인 것을 확인할 수 있습니다.

# ps -ef | grep wbd

security-17-185

또한 콘솔에서 "Webshell Behavior Detector > Detection Setting > Configuration"에서 에이전트 상태가 "활성화" 상태로 되어있을 경우 에이전트가 성공적으로 설치되어 실행중인 것을 확인할 수 있습니다.

security-17-186

설치 과정 또는 실행 결과가 위와 상이할 경우 설치 스크립트("wbd_installer.sh") 실행을 재시도할 것을 권고드립니다.

설치 과정에서 에러가 발생할 경우 에러 코드 별 대응 가이드를 참고해주세요.

Step 4. 웹쉘 행위를 잘 탐지하는지 확인

Webshell Behavior Detector 에이전트가 정상적으로 설치되어 실행되고 있음을 확인했다면, 가짜 웹쉘 파일을 통해 웹쉘 행위를 잘 탐지해내는지 확인할 것을 권고드립니다.

가짜 웹쉘 파일을 통한 테스트 시 주의사항

  1. 인자값을 받지 않는 형태로 작성하세요. ex) webshell.php?cmd=cat /etc/hosts
  2. 유추할 수 없는 경로와 파일명으로 작성하세요. ex) webshelltestfile_202001011230.php
  3. 테스트 후 반드시 삭제하세요.

아래는 가짜 웹쉘 파일 예시입니다. 가짜 웹쉘 파일 작성 시 참고용으로만 활용해주세요.

  • PHP

    <?php
    system("ls -al /tmp/thereisnodir");
    ?>
    
  • JSP

    <%@ page import="java.io.*"%>
      <% Process child = Runtime.getRuntime().exec("ls -al /tmp/thereisnodir");
    
      InputStream in = child.getInputStream();
      int c;
      while ((c = in.read()) != -1) {
      out.print((char)c);
      }
      %>
    

이와 같은 가짜 웹쉘 파일을 웹루트 경로에 유추하기 어려운 파일명으로 저장 후 접근을 시도합니다. 콘솔에서 웹쉘 행위를 탐지한다면 설치 및 실행이 성공한 것을 확인할 수 있습니다.

security-17-187

※ 서버 상태에 따라 cmdline은 제대로 수집되지 않을 수 있습니다.

에이전트 삭제

에이전트 삭제는 설치 스크립트로 할 수 있으며 "uninstall"을 인자값으로 넣을 경우 삭제가 가능합니다.

# wget http://wbd.ncloud.com:18088/agent/wbd_installer.sh -O wbd_installer.sh 
# chmod a+x wbd_installer.sh
#./wbd_installer.sh uninstall

아래와 같이 문구가 표기되면 에이전트 삭제를 성공한 것을 확인할 수 있습니다.
security-17-188

다음과 같은 명령어를 통해 에이전트가 성공적으로 삭제되어 종료된 것을 확인할 수 있습니다.

ps -ef | grep wbd

security-17-189

삭제 후 콘솔에서 에이전트 상태가 "비활성화" 또는 "중지"로 변경됩니다. "비활성화"를 하지 않은 상태에서 에이전트 삭제 후 일정 시간이 지날 경우 오류 알림이 발송됩니다. security-17-190

에이전트 실행 또는 종료

웹쉘 탐지 기능 작동 여부는 에이전트 프로세스 상태이 아니라 에이전트 활성화/비활성화에 따라 결정됩니다.

웹쉘 탐지 기능을 이용할 때는 에이전트 프로세스를 실행한 뒤 콘솔에서 에이전트 활성화를 진행합니다. 에이전트가 활성화되면 웹쉘 탐지 기능이 활성화되며 과금이 시작됩니다.

웹쉘 서비스를 더 이상 이용하지 않을 때 에이전트를 비활성화를 해도 프로세스는 여전히 실행되고 있기 때문에 추후 콘솔을 통해 활성화 시 바로 이용이 가능합니다.

당분간 사용할 계획이 없다면 프로세스를 종료하는것도 괜찮습니다. 추후 이용 시 에이전트를 실행 후 이용해야합니다.

에이전트 프로세스 실행 방법

# /opt/nbp/wbd/wbd_agent

에이전트 프로세스 종료 방법

# /opt/nbp/wbd/wbd_agent -s stop

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...