文档首页/ 企业主机安全 HSS/ 常见问题/ 检测与响应/ 为什么部分Webshell文件HSS不告警?
更新时间:2024-08-29 GMT+08:00

为什么部分Webshell文件HSS不告警?

问题现象

用户部分Webshell文件,HSS未告警上报。

可能原因

HSS默认句柄占用量为服务器最大句柄数*30%,当用户文件数量大于HSS扫描句柄上限时,会有部分Webshell文件HSS无法检测,因此未进行告警上报。

排查办法

  1. 登录服务器
  2. 新建check_inotify.sh文件,并将以下内容复制并保存至check_inotify.sh文件中。

    #!/bin/bash
    
    # 启用 Bash 的浮点数比较模式
    shopt -s globstar nullglob
    
    # 获取sysctl fs.inotify.max_user_watches的值
    max_user_watches=$(sysctl -n fs.inotify.max_user_watches)
    
    # 计算30%的值
    threshold=$(echo "$max_user_watches * 0.3" | awk '{print int($1)}')
    
    # 计算/opt/app目录下的文件数
    app_files_count=$(find /opt/app -type f | wc -l)
    
    # 比较并输出结果
    if [[ "$app_files_count" -gt "$threshold" ]]; then
      echo "当前fs.inotify.max_user_watches的值为: $max_user_watches"
      echo "/opt/app目录下的文件数为: $app_files_count"
      echo "存在句柄占用问题!"
    else
      echo "当前fs.inotify.max_user_watches的值为: $max_user_watches"
      echo "/opt/app目录下的文件数为: $app_files_count"
      echo "不存在句柄占用问题。"
    fi

  3. 通过以下命令,执行check_inotify.sh文件。

    chmod +x check_inotify.sh./check_inotify.sh

    如果输出结果显示“存在句柄占用问题!”,请您在华为云管理控制台的右上角,单击“工单 > 新建工单”,通过工单向技术人员寻求帮助。