WebShell Behavior Detector エージェントのインストールと実行
    • PDF

    WebShell Behavior Detector エージェントのインストールと実行

    • PDF

    記事の要約

    VPC環境で利用できます。

    Webshell Behavior Detectorが正常にウェブシェル行為の検知を始めるには、登録された検知対象サーバにエージェントをインストールして実行する必要があります。また、Webshell Behavior Detectorの動作中にもエージェントを遠隔で実行または終了するなど、遠隔制御が必要な場合も考えられます。以下の内容を参照して、エージェントをインストールして制御してください。

    エージェントのインストールと実行

    エージェントのインストールと実行は、コマンドを通じて以下のような段階で行われます。

    1. 検知対象サーバにアクセス
    2. エージェントインストール
    3. エージェント実行確認
    4. 正常検知テスト

    1. 検知対象サーバにアクセス

    1.1 (Host)Linux、Windows環境の場合

    検知対象サーバにエージェントをインストールするには、先に当該サーバに root(Linux環境)、Administrator(Windows環境)権限でアクセスします。サーバに遠隔でアクセスする方法は、サーバアクセスガイドをご参照ください。

    1.2 Kubernetes環境の場合

    検知対象サーバにエージェントをインストールするには、先にクラスタへのサクセス権限が必要です。Kubernetesクラスタにアクセスして管理する方法は、クラスタへのアクセスと管理ガイドをご参照ください。

    2. エージェントインストール

    2.1 (Host)Linux環境の場合

    以下のコマンドを入力してエージェントをインストールします。

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

    エージェントが正常にインストールされると、以下のようなメッセージが表示されます。
    security-17-184_ko

    参考
    • インストールの過程や結果が上記と異なる場合は、インストールスクリプト(wbd_installer.sh)を再実行してください。
    • インストールの過程でエラーが発生すると、エラーコード別の対応方法をご参照ください。

    2.2 (Host)Windows環境の場合

    Powershellで以下のコマンドを入力してエージェントをインストールします。

    PS > Invoke-WebRequest -Uri "https://wbd.ncloud.com:18088/agent/windows/x64/WBDAgent-setup.exe" -OutFile "WBDAgent-setup.exe"
    PS > ./WBDAgent-setup.exe
    

    エージェントが正常にインストールされると、以下のようなウィンドウが表示されます。
    image.png

    参考
    • インストールの過程や結果が上記と異なる場合は、インストールファイル(WBDAgent-setup.exe)を再実行してください。
    • インストールの過程でエラーが発生すると、エラーコード別の対応方法をご参照ください。

    2.3 Kubernetes環境の場合

    kubectlを使って以下のコマンドを入力してエージェントをインストールします。

    kubectl apply -f https://wbd.ncloud.com:18088/agent/wbd_agent_ds.yaml --kubeconfig kubeconfig.yaml
    

    エージェントが正常にインストールされると、以下のようなメッセージが表示されます。
    image.png

    参考
    • インストールの過程や結果が上記と異なる場合は、kubectlを使って YAML設定ファイル(wbd agent ds.yaml)を再実行してください。
    • インストールの過程でエラーが発生すると、エラーコード別の対応方法をご参照ください。

    3. エージェント実行確認

    3.1 (Host)Linux環境の場合

    以下のコマンドを入力して、エージェントが正常にインストールされて実行中であるかを確認します。

    # ps -ef | grep wbd
    

    エージェントが正常に実行中の場合は以下のようなメッセージが表示されます。
    security-17-185_ko

    3.2 (Host)Windows環境の場合

    Powershellで以下のコマンドを入力して、エージェントが正常にインストールされて実行中であるかを確認します。

    PS > Get-Process -Name "AgentService"
    

    エージェントが正常に実行中の場合は以下のようなメッセージが表示されます。
    image.png

    3.3 Kubernetes環境の場合

    以下のコマンドを入力して、エージェントが正常にインストールされて実行中であるかを確認します。

    # kubectl get pods --all-namespaces --kubeconfig kubeconfig.yaml | grep "wbd-daemon"
    

    エージェントが正常に実行中の場合は以下のようなメッセージが表示されます。
    image.png

    もしくは NAVERクラウドプラットフォームコンソールの VPC環境で Services > Security > WebShell Behavior Detector > Detection Setting > Configuration メニューを順にクリックした後、検知対象リストでエージェントのステータスが有効化 に表示されているかを確認します。
    wbd-wbdsetting-config-vpc-ko

    4. 正常検知テスト

    Webshell Behavior Detectorエージェントが正常にインストールされて実行中であることを確認した後は、偽のウェブシェルファイルを使ってウェブシェル行為を正常に検知しているかを確認します。

    注意
    • 偽のウェブシェルファイルは引数を受け取らない形で作成してください。
      例: webshell.php?cmd=cat /etc/hosts
    • 推測できないパスとファイル名で作成してください。
      例: webshelltestfile_202001011230.php
    • テストが完了した後は、偽のウェブシェルファイルを必ず削除してください。

    以下は偽のウェブシェルファイルの例です。偽のウェブシェルファイル作成時の参考用としてのみ活用してください。

    • 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);
    }
    %>
    
    • ASP(Classic ASP用)
    <%response.write server.createobject("wscript.shell").exec("cmd.exe /c ipconfig").stdout.readall%>
    
    • ASP(ASP.NET用)
    <%@ Page aspcompat=true %>
    <%response.write (server.createobject("wscript.shell").exec("cmd.exe /c ipconfig").stdout.readall)%>
    

    このような偽のウェブシェルファイルを、ウェブパスに推測しにくい複雑なファイル名で保存した後にアクセスしてください。NAVERクラウドプラットフォームコンソールでウェブシェル行為が検知されたら、インストールと実行が成功したことが確認できます。
    wbd-wbdstart-test-vpc-ko

    参考

    サーバのステータスによって cmdlineは正常に収集されないことがあります。

    エージェントの実行と終了

    ウェブシェル検知機能の動作は、エージェントプロセスのステータスではなく、エージェントが有効化しているかどうかによって決まります。

    ウェブシェル検知機能を使うには、エージェントプロセスを実行してからコンソールでエージェントを有効にしてください。エージェントが有効化するとウェブシェル検知が始まり、料金が発生します。

    ウェブシェル検知機能を利用しない場合、エージェントを無効化してもプロセスは依然として実行されているため、後でコンソールで有効化してすぐに利用できます。しばらく使用する計画がない場合、プロセスを終了することもできます。後でサービスを利用する場合は先にエージェントを実行します。

    エージェントプロセス実行

    以下のコマンドを入力してエージェントプロセスを実行します。

    [ Linux用 Agent ]
    # /opt/nbp/wbd/wbd_agent
    
    [ Windows用 Agent ]
    > %LOCALAPPDATA%/WBDAgent/AgentService.exe
    
    [ Kubernetes用 Agent ]
    # kubectl apply -f https://wbd.ncloud.com:18088/agent/wbd_agent_ds.yaml 
    

    エージェントプロセス終了

    以下のコマンドを入力してエージェントプロセスを終了します。

    [ Linux用 Agent ]
    # /opt/nbp/wbd/wbd_agent -s stop
    
    [ Windows用 Agent ]
    > %LOCALAPPDATA%/WBDAgent/AgentService.exe exit
    
    [ Kubernetes用 Agent ]
    # kubectl delete -f https://wbd.ncloud.com:18088/agent/wbd_agent_ds.yaml
    

    エージェント削除

    次のコマンドを入力して、エージェントを削除します。

    [ Linux用 Agent ]
    # wget https://wbd.ncloud.com:18088/agent/wbd_installer.sh -O wbd_installer.sh
    # chmod a+x wbd_installer.sh
    #./wbd_installer.sh uninstall
    
    [ Windows Agent ]
    C:\ > %LOCALAPPDATA%/WBDAgent/uninstall.exe
    
    [ Kubernetes用 Agent ]
    # kubectl delete -f https://wbd.ncloud.com:18088/agent/wbd_agent_ds.yaml
    

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.