安全日志收集与分析——抢先体验阿里云 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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
2天前
|
存储 SQL 监控
|
2天前
|
自然语言处理 监控 数据可视化
|
2天前
|
运维 监控 安全
|
5天前
|
监控 关系型数据库 MySQL
分析慢查询日志
【10月更文挑战第29天】分析慢查询日志
18 3
|
5天前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
19 2
|
27天前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
92 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
3月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。
|
3月前
|
Ubuntu Oracle Java
如何在 Ubuntu VPS 上安装 Elasticsearch
如何在 Ubuntu VPS 上安装 Elasticsearch
35 0