接入 Node.js 应用防护

更新时间:
复制 MD 格式

通过在 Node.js 应用中集成RASP(Runtime Application Self-Protection)探针,应用防护能够实时监测并抵御恶意行为和安全威胁,确保应用持续稳定运行。本文介绍首次将 Node.js 应用接入应用防护的具体操作步骤。

前提条件

  • 需接入应用所在服务器的云安全中心客户端为在线状态。

    资产中心 > 主机资产页面的服务器页签通过服务器客户端列图标的状态判断客户端是否在线,image..png图标表示在线。如果客户端离线,请参考客户端离线排查处理。

  • 如果是以RAM用户身份使用应用防护功能,请确保RAM用户拥有AliyunYundunWAFFullAccessAliyunYundunSASFullAccess权限策略。授权的具体操作,请参见管理RAM用户的权限

1. 创建应用分组

  1. 登录云安全中心控制台

  2. 在左侧导航栏,选择防护配置 > 应用防护。在控制台左上角,选择需防护资产所在的区域:中国内地非中国内地

  3. 应用配置页签,单击新建应用分组

  4. 新建应用分组向导页面,输入要新建的应用分组名称应用语言选择Node.js,输入备注信息,然后单击下一步

    建议您根据需要防护的Web业务进程设置应用分组名称,应用分组名称不可重复。应用语言选择后不支持修改。

    完成该操作后,云安全中心会创建一个应用分组。

2. 手动接入

  1. 应用配置页签,找到刚刚创建的 Node.js 应用。在操作列单击接入管理

  2. 选择 手动接入 > 接入指南里提供的两种安装方式快捷安装标准安装)之一进行安装。

  3. 安装完成后按照验证安装提供的方案进行验证。

3. 设置防护策略

应用配置页签,找到刚刚创建的 Node.js 应用。在操作列单击防护策略。在弹出的防护策略对话框中参照下面的说明进行设置。

重要

默认防护模式为监控模式,建议您先使用监控模式2~5天,如果在此期间未出现误告警您可以将防护模式修改为防护。如果出现误告警,您可以通过配置白名单规则,屏蔽产生误拦截的检测类型。具体操作,请参见将告警加入白名单

分类

配置项

说明

防护策略

应用分组名称

展示应用分组的名称,在此处不支持修改。

防护状态

选择是否为当前应用分组开启或关闭防护,默认开启。关闭后应用防护不检测也不阻断任何攻击行为。

防护模式

选择应用分组的防护模式,可选项:

  • 监控:只监控攻击行为,不阻断攻击行为。检测到攻击行为时,会产生处理方式为监控的告警。

  • 防护:监控并阻断攻击行为,同时也会对应用实例的一些高危操作进行监控。阻断攻击行为的同时,会产生处理方式为阻断的告警。

防护策略组

默认的防护策略组是日常运行组。您可以在下拉列表中选择其他防护策略组。防护策略组的更多信息,请参见防护策略管理

检测类型

展示已选择的防护策略组支持的检测类型。

常用配置

检测超时时间

攻击检测的最大时间,输入范围为1~60,000毫秒,默认设置为50毫秒。若攻击检测超过设置的时间,即使未完成检测逻辑也会继续执行原始业务逻辑。如无特殊原因,建议使用默认值。

IP判断方式

  • 选择默认,系统会根据常规的源IP header值按照X-Real-IP、True-Client-IP、X-Forwarded-For的先后次序获取源IP,即当未获取到X-Real-IP的值时,会获取True-Client-IP的值作为源IP;如果X-Real-IP、True-Client-IP均未获取到,则获取X-Forwarded-For的值作为源IP。

  • 选择取自定义header的值,系统会优先根据自定义的header值获取源IP,设置多个header值时,按先后顺序依次尝试获取源IP。如果所有自定义header值未命中,则默认规则生效。

    说明

    最多支持设置5个自定义header值。

运行时熔断配置

开启该功能后,当服务器或进程的资源占用率超过CPU或内存任一熔断值时,RASP的实时防护将自动停止。当服务器或进程资源占用率低于设置的所有熔断值时,RASP的防护能力会自动恢复。

该功能可以保障业务在高峰情况下稳定运行,默认为关闭状态。如果您的应用为对性能敏感的计算型业务,可以开启该功能。配置说明如下:

  • 主机或容器环境CPU占比超过:可设置范围 10%~99%,推荐配置 95%。

  • 主机或容器环境内存占比超过:可设置范围 5%~99%,推荐配置 98%。或剩余内存小于:最小值 10 MB,推荐配置 100 MB。

重要
  • 0.8.8及以上版本的RASP探针支持熔断功能。0.8.8以下版本的探针可通过重启应用进程自动升级到最新版。

  • 防护能力熔断时,处于防护熔断状态的实例仍占用授权数。

4. 验证应用接入情况

如果应用进程的PID展示在应用分组的已授权实例列表中,则说明该应用已正常接入应用防护。参考以下步骤可查看已接入的应用列表。

  1. 应用防护页面的应用配置页签,单击目标应用分组已授权进程列下的数字。

  2. 在进程详情面板,查看已接入的应用列表。

    如果目标服务器的应用进程PID在应用列表中,则表示该应用已成功接入应用防护。

    image.png

使用限制

  • Node.js 版本必须大于等于 18.0.0。

  • 推荐 Node.js 20.6+,以获得完整的 --import 支持。20.6 以下版本请使用 --require 方式加载。

后续步骤

  1. 您可以根据业务需要调整应用分组的防护模式、防护策略组等配置。如果出现误告警,您可以配置防护白名单,以免后续再产生类似告警。更多信息,请参见防护策略管理

  2. 攻击告警处置