各位 CSDN 的小伙伴们,大家好!博主正在参与 2025 年 CSDN 博客之星的评选活动,非常需要大家的支持!一直以来,博主专注于大数据、云计算、人工智能等融合方向研究,从基础概念到实战技巧,都精心撰写每一篇文章。博主致力于将复杂的技术知识以通俗易懂的方式呈现,帮助众多初学者快速入门,也为有经验的开发者提供新的思路与视角。在这个活动中,您的一票对我意义重大。您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!
投票链接https://www.csdn.net/blogstar2025/detail/112

Elasticsearch 审计日志》系列,共包含以下文章:

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

1.测试数据写入

PUT /index_01
{
  "settings": {
    "index": {
      "refresh_interval": "1s"
    }
  },
  "mappings": {
    "properties": {
      "name": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
      "age": {
        "type": "integer"
      },
      "sex": {
        "type": "keyword"
      },
      "birth": {
        "type": "date",
        "format": "yyyy-MM-dd"
      },
      "about": {
        "type": "text",
        "analyzer": "english"
      }
    }
  }
}
POST /index_01/_doc/_bulk
{ "index": { "_id": 1 }}
{ "name" : "刘备", "age" : 20 , "sex": "boy", "birth": "1996-01-02" , "about": "i am a student" }
{ "index": { "_id": 2 }}
{ "name" : "关羽", "age" : 21 , "sex": "boy", "birth": "1995-01-02" , "about": "i like reading books" }

2.按时间倒序,查询审计日志

GET /security-auditlog-2025.08.17/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    { "@timestamp": { "order": "desc" } }
  ]
}

3.audit_category 聚合查询 ⭐⭐⭐

GET /security-auditlog-2025.08.17/_search
{
  "size": 0,
  "aggs": {
    "privilege_types": {
      "terms": {
        "field": "audit_category.keyword",  
        "size": 100  
      }
    }
  }
}

  • SSL_EXCEPTION
    • 出现次数:83,617
    • 含义:SSL/TLS 相关异常事件
    • 典型场景:证书验证失败、SSL 握手问题等安全通信问题
  • INDEX_EVENT
    • 出现次数:219
    • 含义:常规索引操作事件
    • 典型场景:文档索引、更新或删除等基本操作
  • COMPLIANCE_DOC_WRITE
    • 出现次数:44
    • 含义合规性文档写入事件
    • 关联设置:compliance:write_watched_indicescompliance:write_log_diffs
    • 典型场景:受监控索引的文档写入操作
  • COMPLIANCE_DOC_READ
    • 出现次数:18
    • 含义合规性文档读取事件
    • 关联设置compliance:read_watched_fields
    • 典型场景:敏感字段的读取访问
  • FAILED_LOGIN
    • 出现次数:6
    • 含义:登录失败事件
    • 典型场景:认证失败、无效凭证尝试
  • COMPLIANCE_EXTERNAL_CONFIG
    • 出现次数:6
    • 含义外部配置变更事件
    • 关联设置compliance:external_config
    • 典型场景elasticsearch.yml 等配置文件的修改
  • COMPLIANCE_INTERNAL_CONFIG_READ
    • 出现次数:6
    • 含义内部安全配置读取事件
    • 关联设置compliance:internal_config
    • 典型场景:访问安全相关索引(如 .security)的配置信息
  • COMPLIANCE_INTERNAL_CONFIG_WRITE
    • 出现次数:2
    • 含义内部安全配置写入事件
    • 关联设置compliance:internal_config
    • 典型场景:修改安全相关索引(如 .security)的配置

观察结论

  • 1️⃣ 安全状况亮点:
    • SSL 异常数量异常高(83,617 次),可能表明:
      • 配置错误的客户端持续尝试连接
      • 潜在的恶意扫描活动
      • 集群节点间 SSL 配置问题
  • 2️⃣ 合规性监控有效性:
    • 合规性读写事件(COMPLIANCE_DOC_*)已被记录
    • 关键配置变更(INTERNAL_CONFIG_WRITE)被捕获
  • 3️⃣ 建议行动项:
    • 优先调查大量 SSL_EXCEPTION 的来源
    • 检查 COMPLIANCE_INTERNAL_CONFIG_WRITE 的 2 次变更是否均为授权操作
    • 考虑增加 FAILED_LOGIN 的监控频率(当前仅 6 次)

这些日志类型共同构成了 Elasticsearch 的安全态势全景图,特别是 SSL 异常的高频出现值得深入调查。

4.查询指定 audit_category 的日志

例如:FAILED_LOGINSSL_EXCEPTIONCOMPLIANCE_DOC_WRITE 等。

GET /security-auditlog-2025.08.17/_search
{
  "size": 100,
  "query": {
    "bool": {
      "must": [
        { "match_all": {} },  
        { 
          "term": {          
            "audit_category.keyword": "COMPLIANCE_DOC_WRITE" 
          }
        }
      ]
    }
  },
  "sort": [
    { "@timestamp": { "order": "desc" } } 
  ]
}

5.查询两个时间点之间的事件

GET /security-auditlog-2025.08.17/_search
{
  "query": {
    "bool": {
      "must": [
        { "match_all": {} }
      ],
      "filter": [  
        {
          "range": {
            "@timestamp": {
              "gte": "2025-08-10T15:00:00.000+00:00", 
              "lte": "2025-08-10T16:00:00.000+00:00"   
            }
          }
        }
      ]
    }
  },
  "sort": [
    { "@timestamp": { "order": "desc" } }  
  ]
}
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐