更新时间:2025-09-17 GMT+08:00
分享

开启应用防护

操作场景

如果您需要防护Java应用,可为目标应用开启应用防护。开启防护过程中,HSS需要在您的应用中安装RASP防护探针。

开启方式说明

应用防护提供“自动开启”“手动开启”两种开启方式,区别如下:

开启方式

优势

限制

操作

自动开启

  • 无需用户手动配置应用防护启动参数;
  • 自动识别并接入主机或容器环境中存在监听端口的Java应用,并在Java应用运行时动态加载和卸载应用防护探针。
  • 此方式涉及“主机RASP动态防护”“容器RASP动态防护”功能,该功能当前处于公测阶段,如需使用请提交工单申请开通;
  • Java应用如果启动时间小于或等于5分钟,通过该方式无法成功开启RASP防护,待应用启动时间大于5分钟后,将自动开启防护;

自动开启应用防护

手动开启

支持接入没有监听端口的Java应用。

需要用户手动为应用配置应用防护启动参数。

自动开启应用防护

  1. 登录企业主机安全控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. 选择主机防御 > 应用防护 > 防护资产,进入“防护资产”页面。

    图1 查看防护资产

  1. (可选)如果您已开通企业项目,可在页面上方“企业项目”下拉框中选择企业项目,查看目标企业项目下的相关信息和数据。
  2. 单击“添加防护资产”,系统弹出“添加防护资产”页面。
  3. 选择操作系统类型和需要防护的资产,并单击“下一步”

    图2 选择防护资产

  4. 根据实际业务需求,配置防护策略。相关参数说明请参见表1

    图3 配置防护策略
    表1 防护策略参数说明

    参数

    参数说明

    取值样例

    主机RASP动态防护

    是否自动为主机应用开启动态防护。

    如果启用此功能,系统会使用JVM Attach机制自动识别服务器内存在监听端口的Java应用并为其动态开启防护。该功能支持在Java应用运行时动态地加载和卸载RASP探针,无需重启Java应用,可以保障业务的连续性。

    说明:

    该功能当前处于公测阶段,如需使用请提交工单申请开通。

    ,开启

    容器RASP动态防护

    是否自动为容器应用开启动态防护。

    如果启用此功能,系统会使用JVM Attach机制自动识别容器内存在监听端口的Java应用并为其动态开启防护。该功能支持在Java应用运行时动态地加载和卸载RASP探针,无需重启Java应用,可以保障业务的连续性。

    说明:

    该功能当前处于公测阶段,如需使用请提交工单申请开通。

    ,开启

    配置RASP端口

    RASP探针和HSS通信所使用的端口。

    19999

    选择防护策略

    即选择应用防护策略。

    系统提供了“默认策略”,默认策略包含的检测规则请参见默认策略

    如果“默认策略”不适用您的防护场景,您可以单击“新建策略”自定义创建一条防护策略。

    默认策略

  5. 策略配置完成后,单击“确定”,完成资产添加。
  6. “防护资产”页面,查看目标资产“RASP防护状态”“防护中”,表示服务器所有Java应用开启RASP防护成功。

手动开启主机应用防护

  1. 登录企业主机安全控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. 选择主机防御 > 应用防护 > 防护资产,进入“防护资产”页面。

    图4 查看防护资产

  1. (可选)如果您已开通企业项目,可在页面上方“企业项目”下拉框中选择企业项目,查看目标企业项目下的相关信息和数据。
  2. 单击“添加防护资产”,系统弹出“添加防护资产”页面。
  3. 选择操作系统类型和需要防护的资产,并单击“下一步”

    图5 选择防护资产

  4. 根据实际业务需求,配置防护策略。相关参数说明请参见表2

    图6 配置防护策略
    表2 防护策略参数说明

    参数

    参数说明

    取值样例

    主机RASP动态防护

    说明:

    该功能当前处于公测阶段,如需使用请提交工单申请开通。

    没有监听端口的Java应用不支持RASP动态防护。保持关闭状态即可。

    ,关闭

    配置RASP端口

    RASP探针和HSS通信所使用的端口。

    19999

    选择防护策略

    即选择应用防护策略。

    系统提供了“默认策略”,默认策略包含的检测规则请参见默认策略

    如果“默认策略”不适用您的防护场景,您可以单击“新建策略”自定义创建一条防护策略。

    默认策略

  5. 策略配置完成后,单击“确定”,完成资产添加。
  6. “防护资产”页面,查看目标资产的“RASP防护状态”,等待其变更为“未防护”状态。
  7. 单击“手动配置指导”,系统弹出“手动配置Web应用RASP应用防护”页面。
  8. 参考“主机”页面或下述说明为Java应用配置启动参数,开启应用防护。

    • Tomcat(Windows)
      请逐一为应用执行以下操作,开启RASP防护。
      1. 将以下参数复制粘贴到Tomcat bin目录下的setenv.bat启动脚本中。如果该脚本不存在,请手动创建该脚本。
        call "C:\Program Files\HostGuard\rasp\secRASP\slave_agent\bin\set_java_opts.bat"
        参数配置位置如图7所示。
        图7 为Tomcat(Windows)配置启动参数
      2. 重启应用,重启成功后,返回企业主机安全控制台。
      3. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • Tomcat(Linux)

      请逐一为应用执行以下操作,开启RASP防护。

      1. 将以下参数复制粘贴到Tomcat bin目录下的setenv.sh启动脚本中(如果脚本不存在,可手动创建该脚本)。

        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi

        参数配置位置如图8所示。

        图8 为Tomcat(Linux)配置启动参数
      2. 重启应用,重启成功后,返回企业主机安全控制台。
      3. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • Weblogic(Linux)

      请逐一为应用执行以下操作,开启RASP防护。

      1. 将以下参数复制粘贴到Weblogic bin目录下的startWebLogic.sh启动脚本中。
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi

        参数配置位置如图9所示。

        图9 为Weblogic(Linux)配置启动参数
      2. 重启应用,重启成功后,返回企业主机安全控制台。
      3. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • Netty(Linux)
      请逐一为应用执行以下操作,开启RASP防护。
      1. Netty目录下(该目录包含*netty-xxx.jar文件)下创建一个start.sh文件,将以下配置内容复制粘贴到start.sh文件中,并将netty程序(.jar文件)的名称修改为实际使用的程序名称
        #!/bin/bash
        
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi
        
        java ${JAVA_OPTS} -jar netty-target-1.0-SNAPSHOT.jar

        参数配置位置如图10所示,

        图10 为Netty(Linux)配置启动参数
      2. 重启应用,重启成功后,返回企业主机安全控制台。
      3. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • Jetty(Linux)
      请逐一为应用执行以下操作,开启RASP防护。
      1. Jetty目录下(该目录包含start.jar)下创建一个start.sh文件,将以下配置内容复制粘贴到start.sh文件中。
        #!/bin/bash
        
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi
        
        java ${JAVA_OPTS} -jar start.jar

        参数配置位置如图11所示,

        图11 为Jetty(Linux)配置启动参数
      2. 重启应用,重启成功后,返回企业主机安全控制台。
      3. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。

手动开启容器应用防护

  1. 登录企业主机安全控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. 选择主机防御 > 应用防护 > 防护资产,进入“防护资产”页面。

    图12 查看防护资产

  1. (可选)如果您已开通企业项目,可在页面上方“企业项目”下拉框中选择企业项目,查看目标企业项目下的相关信息和数据。
  2. 单击“添加防护资产”,系统弹出“添加防护资产”页面。
  3. 选择操作系统类型和需要防护的资产,并单击“下一步”

    图13 选择防护资产

  4. 根据实际业务需求,配置防护策略。相关参数说明请参见表3

    图14 配置防护策略
    表3 防护策略参数说明

    参数

    参数说明

    取值样例

    主机RASP动态防护

    说明:

    该功能当前处于公测阶段,如需使用请提交工单申请开通。

    无监听端口的Java应用不支持RASP动态防护。保持关闭状态即可。

    ,关闭

    容器RASP动态防护

    说明:

    该功能当前处于公测阶段,如需使用请提交工单申请开通。

    无监听端口的Java应用不支持RASP动态防护。保持关闭状态即可。

    ,关闭

    配置RASP端口

    RASP探针和HSS通信所使用的端口。

    19999

    选择防护策略

    即选择应用防护策略。

    系统提供了“默认策略”,默认策略包含的检测规则请参见默认策略

    如果“默认策略”不适用您的防护场景,您可以单击“新建策略”自定义创建一条防护策略。

    默认策略

  5. 策略配置完成后,单击“确定”,完成资产添加。
  6. “防护资产”页面,查看目标资产的“RASP防护状态”,等待变更为“未防护”状态。
  7. 单击“手动配置指导”,系统弹出“手动配置Web应用RASP应用防护”页面。
  8. 参考“容器”页面或下述说明为Java应用配置启动参数,开启应用防护。

    • 使用docker直接启动容器
      请逐一为应用执行以下操作,开启RASP防护。
      1. 根据实际情况,选择以下任一方式,添加JVM启动参数。
        • 方式一:修改应用启动脚本的参数如表4所示。
          表4 修改应用启动脚本参数

          运行环境

          参数配置说明

          Tomcat(Linux)

          将以下参数复制粘贴到Tomcat bin目录下的setenv.sh启动脚本中(如果脚本不存在,可手动创建该脚本)。
          SEC_RASP_HOME=/usr/local/rasp/secRASP
          if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
          . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
          fi

          参数配置位置如图15所示。

          图15 为Tomcat(Linux)配置启动参数

          Weblogic(Linux)

          将以下参数复制粘贴到Weblogic bin目录下的startWebLogic.sh启动脚本中。
          SEC_RASP_HOME=/usr/local/rasp/secRASP
          if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
          . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
          fi

          参数配置位置如图16所示。

          图16 为Weblogic(Linux)配置启动参数

          Netty(Linux)

          Netty目录下(该目录包含*netty-xxx.jar文件)下创建一个start.sh文件,将以下配置内容复制粘贴到start.sh文件中,并将netty程序(.jar文件)的名称修改为实际使用的程序名称
          #!/bin/bash
          
          SEC_RASP_HOME=/usr/local/rasp/secRASP
          if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
          . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
          fi
          
          java ${JAVA_OPTS} -jar netty-target-1.0-SNAPSHOT.jar

          参数配置位置如图17所示,

          图17 为Netty(Linux)配置启动参数

          Jetty(Linux)

          Jetty目录下(该目录包含start.jar)下创建一个start.sh文件,将以下配置内容复制粘贴到start.sh文件中。
          #!/bin/bash
          
          SEC_RASP_HOME=/usr/local/rasp/secRASP
          if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
          . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
          fi
          
          java ${JAVA_OPTS} -jar start.jar

          参数配置位置如图18所示,

          图18 为Jetty(Linux)配置启动参数
        • 方式二:在docker启动命令中补充如下参数,添加环境变量。
             --env JAVA_OPTS="-javaagent:/usr/local/rasp/secRASP/slave_agent/lib/secsoter.jar=socketType=0,socketFile=/usr/local/rasp/raspSocket/hss.rasp.socket,productScenario=HSS_Container,iVersion=V1"
      2. 在docker启动命令中补充如下参数,挂载RASP目录。
           -v /usr/local/rasp:/usr/local/rasp
      3. 启动容器,启动成功后,返回企业主机安全控制台。
      4. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • 通过Dockerfile启动容器

      请逐一为应用执行以下操作,开启RASP防护。

      1. 在镜像打包时,修改应用启动脚本,添加JVM启动参数。如表5所示。
        表5 修改应用启动脚本

        运行环境

        参数配置说明

        Tomcat(Linux)

        将以下参数复制粘贴到Tomcat bin目录下的setenv.sh启动脚本中(如果脚本不存在,可手动创建该脚本)。
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi

        参数配置位置如图19所示。

        图19 为Tomcat(Linux)配置启动参数

        Weblogic(Linux)

        将以下参数复制粘贴到Weblogic bin目录下的startWebLogic.sh启动脚本中。
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi

        参数配置位置如图20所示。

        图20 为Weblogic(Linux)配置启动参数

        Netty(Linux)

        Netty目录下(该目录包含*netty-xxx.jar文件)下创建一个start.sh文件,将以下配置内容复制粘贴到start.sh文件中,并将netty程序(.jar文件)的名称修改为实际使用的程序名称
        #!/bin/bash
        
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi
        
        java ${JAVA_OPTS} -jar netty-target-1.0-SNAPSHOT.jar

        参数配置位置如图21所示,

        图21 为Netty(Linux)配置启动参数

        Jetty(Linux)

        Jetty目录下(该目录包含start.jar)下创建一个start.sh文件,将以下配置内容复制粘贴到start.sh文件中。
        #!/bin/bash
        
        SEC_RASP_HOME=/usr/local/rasp/secRASP
        if [ -f "$SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh" ]; then
        . $SEC_RASP_HOME/slave_agent/bin/set_java_opts.sh
        fi
        
        java ${JAVA_OPTS} -jar start.jar

        参数配置位置如图22所示,

        图22 为Jetty(Linux)配置启动参数
      2. 在docker启动命令中补充如下参数,挂载RASP目录。
           -v /usr/local/rasp:/usr/local/rasp
      3. 启动容器,启动成功后,返回企业主机安全控制台。
      4. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • 通过docker-compose启动容器
      请逐一为应用执行以下操作,开启RASP防护。
      1. 在docker-compose的配置文件中增加如下配置,添加JVM启动参数。
        environment: 
           JAVA_OPTS: "-javaagent:/usr/local/rasp/secRASP/slave_agent/lib/secsoter.jar=socketType=0,socketFile=/usr/local/rasp/raspSocket/hss.rasp.socket,productScenario=HSS_Container,iVersion=V1"
      2. 在docker-compose的配置文件中增加如下配置,挂载RASP目录。
           volumes: 
           - /usr/local/rasp:/usr/local/rasp
      3. 启动容器,启动成功后,返回企业主机安全控制台。
      4. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。
    • 通过k8s集群管理容器
      请逐一为应用执行以下操作,开启RASP防护。
      1. 在k8s的配置文件中增加如下配置,添加JVM启动参数。
          env:
           - name: JAVA_OPTS
            value: "-javaagent:/usr/local/rasp/secRASP/slave_agent/lib/secsoter.jar=socketType=0,socketFile=/usr/local/rasp/raspSocket/hss.rasp.socket,productScenario=HSS_Container,iVersion=V1"
      2. 在k8s的配置文件中增加如下配置,挂载RASP目录。
           volumeMounts:
            - name: rasp-volume
            mountPath: /usr/local/rasp
      3. 更新集群,更新成功后,返回企业主机安全控制台。
      4. 在目标资产的所在行的“操作”列,单击“查看详情”,进入应用防护详情页面,查看目标应用的“RASP防护状态”“防护中”,表示开启RASP防护成功。

相关操作

如果需要修改RASP防护端口,可在目标服务器所在行的“操作”列,单击“编辑端口”。端口修改完成后,系统将重启RASP插件,请耐心等待几分钟。

相关文档