ADC

高 CPU

以下是一些在使用 Web App Firewall 时遇到的与功能和高 CPU 相关的调试问题以及应遵循的最佳实践:

检查策略命中、绑定、网络配置、Web App Firewall 配置:

  • 识别配置错误
  • 识别为受影响流量提供服务的 虚拟服务器

检查以下日志文件中的日志是否存在安全违规行为和最近的配置更改:

  • /var/log/ns.log
  • /var/nslog/import.log
  • /var/nslog/aslearn.log
  • tail -f /var/log/ns.log | grep APPFW_SIGNATURE_MATCH

示例:

Jun 13 01:11:09 <local0.info> 10.217.31.98 CEF:0|Citrix|NetScaler|NS11.0|APPFW| APPFW_SIGNATURE_MATCH|6|src=10.217.253.62 spt=61141 method=GET request= http://aaron.stratum8.net/FFC/wwwboard/passwd.txt msg=Signature violation rule ID 807: web-cgi /wwwboard/passwd.txt access cn1=140 cn2=841 cs1=pr_ffc cs2=PPE0 cs3=OyTgjbXBqcpBFeENKDlde3OkMQ00001 cs4=ALERT cs5=2015 cs6=web-cgi act=not blocked
<!--NeedCopy-->

隔离受影响的流量:

  • 隔离配置文件
  • 隔离安全检查
  • 隔离 URL、虚拟服务器和流量参数

有条件的配置文件级别跟踪有助于识别流量和违规记录:

  • set appfw profile <profile> -trace ON
  • start nstrace -mode APPFW -size 0
  • stop nstrace

注意:确保使用-size 0 选项收集跟踪信息。

查看 appfw、dht、IP 信誉活动计数器:

  • nsconmsg -g as_ -g appfwreq_ -g iprep -d current

连接中重置的监视窗口大小:

当 NetScaler 因一条无效的 http 消息重置连接时,Appfw 会将窗口大小设置为 9845。

示例:

  • 收到格式错误的请求-连接重置
  • 与 CPU 过高相关的问题
  • 查看数据手册以了解系统限制
  • 检查 cpu 使用率、appfw、DHT 和内存相关活动。监视 appfw 会话
  • nsconmsg -g cc_cpu_use -g appfwreq -g as -g dht -g mem_AS_OBJ -g mem_AS_COMPONENT -d current

监视目标时间段内从 Web App Firewall 组件和对象中分配和释放的内存。它有助于隔离导致高 CPU 使用率的保护。

  • 探查器输出
  • 观察日志

隔离导致 CPU 使用率过高的 appfw 检查:

  • startURLClosure
  • 表单文件一致性
  • CSRF
  • Cookie 保护
  • 反向链接标题检查

确定自动更新签名不会导致 CPU 使用率过高(禁用以确认)。

高 CPU