安全日志收集与分析——抢先体验阿里云 ElasticSearch

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 云栖大会最新发布阿里云 ElasticSearch之抢先体验,轻松实现安全日志收集与分析。

10月13日,云栖大会上阿里云与Elastic公司联合发布阿里云Elasticsearch产品。根据官方介绍,阿里云提供基于开源Elasticsearch及商业版X-Pack插件,致力于数据分析、数据搜索等场景服务。在开源Elasticsearch基础上提供企业级权限管控、安全监控告警、自动报表生成等功能。

Elasticsearch(ES)是中小企业安全日志分析的必备工具。团队在获得试用资格后,随即开展了产品试用工作,抢先体验这款“新产品”。

申请开通服务

访问网址:https://data.aliyun.com/product/elasticsearch,直接购买。或参考官方指导手册:https://help.aliyun.com/document_detail/57876.html

在服务购买界面,选择 ES 实例相关的网络基础信息,包括:

  • 地域(目前华东1和华北2提供)
  • 版本(5.5.3 with X-Pack)
  • 网络类型(专有网络VPC)
  • 具体专有网络(VPC必须与 ES 在同一个区域)
  • 虚拟交换机(需要在 VPC 网络中提前配置好虚拟交换机)
  • 实例规格(1核2G 到16核64G)
  • 存储空间(20GB或以上)
  • 节点数(2个或以上)

15101364808756

服务开通后,在阿里云控制台可以看到实例具体信息。首次使用有个初始化的过程,需要等待,直到服务状态为“正常”。
15101317542509

以上图为例,ECS 在 VPC 内部的地址是:es-cn-v0h0c7flq001yfx70.elasticsearch.aliyuncs.com,也可以通过 ping 获取到ES服务器的IP 地址,取决于虚拟交换机上的 IP 地址规划。

重点配置项

首次使用ES,请通过阿里云控制台修改 Kibana 控制台密码。保存配置后,等待 ES 服务器重启生效。

此外,还需要修改 yml 文件配置,设置允许自动创建索引;否则 Logstash 上报日志时,会提示无权创建index。

以上两处修改,都需要重启ES 服务。目前系统不支持一次性修改,所以只能等待两次……

安全日志收集

以下是测试过程中VPC内服务器的基本网络参数哦说明:

  • 操作系统 CentOS1:172.16.0.2
  • Logstash 日志代理:172.16.0.3
  • Elasticsearch 主机:es-cn-v0h0c7flq001yfx70.elasticsearch.aliyuncs.com

操作系统日志收集

以收集和分析CentOS 操作系统日志 syslog 为例,安全团队需要在服务器上先配置好 Syslog参数,让服务器把系统日志发送到 Logstash收集代理。再由 Logstash 对日志进行必要的格式化,统一发送到 Elasticsearch。流程如下图所示:

15101888247110

在云主机上部署 Logstash

关于 ELK(Elasticsearch、Logstash和Kibana)技术栈相关的基础性问题,可以参考本人早先的几篇技术文章。

以下是一个示例的 Logstash 配置文件,用于收集和格式化syslog 日志,文件名:syslog.conf

input{
    syslog{
        host        => "0.0.0.0"
        port        => 1514
    }
}

filter{
# ....
}

output{
    elasticsearch{
        hosts => "http://es-cn-v0h0c7flq001yfx70.elasticsearch.aliyuncs.com:9200"
        index => "logstash-syslog"
        document_type => "syslog"
        user => "elastic"
        password => "********"
    }
    stdout{ codec => rubydebug }
}
#不建议生产环境使用 elastic 账户做连接。

在 Logstash 日志收集代理服务器上执行命令$LOGSTASH_HOME/bin/logstash - $LOGSTASH_HOME/syslog.conf,启动 Logstash,加载配置文件。

程序启动后将监听1514端口,接收远程主机发送的 syslog 日志。通过Logstash控制台可以看到程序过程中的各种状态信息,包括与 ES 的连接状态。

配置 CentOS 的 Syslog 参数

以 root 身份编辑CentOS 服务器系统文件/etc/rsyslog.conf,在文件末尾增加如下内容:

# 将 syslog 日志发送到172.17.0.3的 1514/TCP 端口
*.* @@172.17.0.3:1514  #Logstash Agent的 IP 地址

执行命令systemctl restart rsyslog, 重启 syslog 服务。

开箱即用的ES 控制台 Kibana

以上配置过程已经完成了操作系统syslog和日志收集代理 Logstash的配置,接下来就是通过 Kibana控制台访问 ES 数据库,进行日志的查询和安全分析。

首次使用&初始化

通过阿里云控制台ElasticSearch 主界面,直接点击【访问控制台】,可进入登录界面。首次访问需要创建Index Pattern,如果您是初次使用,建议默认为:logstash-*

15101342820592

配置完成后,通过左导航栏点选【monitoring】菜单,可以看到 Elasticsearch 服务器的基本运行参数,如下图:

15101343652871

日志查询

下图是 Kibana 控制台提供的日志查询界面,支持快速字符匹配,也支持基于字段 的查询。如果你喜欢lucence查询语法,也可以按需切换。

15101356284579

报表定制

安全团队在日常运维过程中,肯定少不了定制一些监控视图或报表来做数据统计、风险展现。阿里云 Elasticsearch 自带的 Kibana 完全能够满足这个需求。

15101357003117

上图是典型的安全监控视图,包括:账户登录次数排名,远程 IP 地址访问次数排名等。当然还有更过的高级功能,如:Graph 分析、机器学习等,等你来探索!

小总结

本次阿里云发布的Elasticsearch完全兼容ELK架构,适配各种开源组件。如果您的企业已经在用 ELK,可以将数据存储部分直接迁移到阿里云。 原有的日志收集代理 Logstash 仅需重新配置发送目标即可。提供 X-Pack 特性的阿里云ElasticSearch,可以提供免费版所不具备的安全保护和角色管理,让安全日志管理更放心。好吧,更多的重点优势都在下面,我就不啰嗦了:

  • 商业插件X-Pack

    • 提供X-Pack插件功能,为您提供权限管控、集群监控、数据可视化、机器学习等功能
  • 免部署

    • 一键开启服务,并提供“dedicated master”能力
  • 弹性扩容

    • 适应业务发展需求,提供服务不中断前提下的集群弹性扩容能力
  • 数据分析搜索

    • 100%兼容ELK架构,提供Kibana可视化交互式数据分析与搜索能力

阿里云自带的 ElasticSearch,成功解决了企业搭建、运营和维护 ELK 系统的绝大多数成本,安全团队只需要聚焦日志收集和监控分析,从此又可以自废一门功夫了:)

本文作者正在尝试为1000万家云上中小企业打造敏捷型安全团队的建设典范,如果您也感兴趣,欢迎来阿里云 MVP 社区与我交流。

补充阅读:

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
29天前
|
存储 人工智能 自然语言处理
Elasticsearch Inference API增加对阿里云AI的支持
本文将介绍如何在 Elasticsearch 中设置和使用阿里云的文本生成、重排序、稀疏向量和稠密向量服务,提升搜索相关性。
67 14
Elasticsearch Inference API增加对阿里云AI的支持
|
18天前
|
存储 SQL 监控
|
18天前
|
运维 监控 安全
|
21天前
|
监控 关系型数据库 MySQL
分析慢查询日志
【10月更文挑战第29天】分析慢查询日志
36 3
|
21天前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
34 2
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1642 14
|
1月前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
69 3
|
19天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
153 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
244 3
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0
下一篇
无影云桌面