什么是SIEM?
SIEM代表安全信息和事件管理。它是一种软件解决方案,提供网络硬件和应用程序生成的安全警报的实时分析。SIEM从多个来源(如网络设备、服务器和应用程序)收集日志数据,然后关联和分析这些数据以识别安全威胁。
SIEM可以通过提供整个IT基础设施安全事件的集中视图来帮助组织提升其安全态势。它使安全分析师能够快速识别并响应安全事件,并提供详细的报告以满足合规要求。
SIEM解决方案的一些关键特性包括:
- 日志收集与分析
- 实时事件关联与警报
- 用户与实体行为分析
- 威胁情报集成
- 合规报告
SIEM通常与其他安全解决方案(如防火墙、入侵检测系统和防病毒软件)结合使用,以提供全面的安全监控和事件响应能力。
什么是ELK?
ELK是用于日志管理和分析的一组开源软件工具的缩写:Elasticsearch、Logstash和Kibana。
Elasticsearch是一个分布式搜索和分析引擎,提供快速搜索和高效存储大量数据。它设计为可扩展,能实时处理大量查询和索引操作。
Logstash是一款数据收集与处理工具,允许从多种源(如日志文件、syslog及其他数据源)收集日志和其他数据,并在发送至Elasticsearch前转换和丰富数据。
Kibana是一个基于Web的用户界面,用于可视化和分析存储在Elasticsearch中的数据。它提供了一系列交互式可视化工具,如线图、条形图和热力图,以及仪表板和警报等功能。
这三者共同构成了一个强大的平台,用于管理和分析日志及其他类型的数据,通常被称为ELK堆栈或Elastic堆栈。ELK堆栈广泛应用于IT运维、安全监控和商业分析,以从大量数据中获取洞察。
将SIEM数据导入ELK
将SIEM数据导入ELK堆栈对希望结合SIEM的安全事件管理能力和ELK的日志管理与分析功能的组织来说非常有用。
以下是将SIEM数据导入ELK的高层次步骤:
- 配置SIEM将日志数据发送至Logstash,这是ELK堆栈的一部分。
- 创建一个Logstash配置文件,定义SIEM数据的输入、过滤和输出。
- 启动Logstash并验证其是否正确接收和处理SIEM数据。
- 配置Elasticsearch以接收和存储SIEM数据。
- 创建Kibana可视化和仪表板以展示SIEM数据。
以下是一个Logstash配置文件示例,该文件接收来自SIEM的Syslog消息并将其发送到Elasticsearch:
input {
syslog {
type => "syslog"
port => 5514
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "siem"
}
}
一旦Logstash配置并运行,SIEM数据将被导入Elasticsearch,并可以在Kibana中进行可视化和分析。确保采取适当的安全措施来保护SIEM和ELK环境,并监控和警示任何安全事件,这一点非常重要。
检测主机黑客攻击尝试
使用SIEM在ELK中检测主机黑客攻击尝试涉及监控和分析系统日志及网络流量,以识别可能表明黑客攻击尝试的可疑活动。以下是使用SIEM在ELK中设置主机黑客攻击检测的高级步骤:
- 配置主机将系统日志和网络流量发送到集中式日志收集系统。
- 设置Logstash以接收并解析来自主机的日志和网络流量数据。
- 配置Elasticsearch以存储解析后的日志数据。
- 使用Kibana分析日志数据并创建仪表板和警报,以识别潜在的黑客攻击尝试。
以下是一些可用于检测主机黑客攻击尝试的具体技术:
- 监控失败的登录尝试:注意来自单一IP地址的重复失败登录尝试,这可能表明正在进行暴力破解攻击。使用Logstash解析系统日志中的失败登录事件,并通过Kibana创建仪表板或警报,以监控过多的失败登录尝试。
-
监控可疑网络流量:关注与已知恶意IP地址或域名的网络通信。利用Logstash解析网络流量数据,并通过Kibana创建仪表板或警报,以监控可疑的流量模式。
-
监控文件系统变更:留意对系统文件或设置的未授权更改。使用Logstash解析文件系统变更事件,并通过Kibana创建仪表板或警报,以监控未经授权的更改。
-
监控可疑进程活动:观察以提升权限运行的进程或执行异常操作的进程。利用Logstash解析进程事件,并通过Kibana创建仪表板或警报,以监控可疑的进程活动。
通过实施这些技术和定期监控日志及网络流量,组织能够提升其利用ELK中的SIEM检测并响应主机被黑尝试的能力。
在ELK中配置警报以检测主机被黑尝试
要在ELK中配置警报以检测主机被黑尝试,可以遵循以下一般步骤:
-
在Kibana中创建一个搜索查询,筛选出主机被黑尝试事件的日志。例如,可以使用以下搜索查询来检测失败的登录尝试:
from elasticsearch import Elasticsearch
es = Elasticsearch()
search_query = {
"query": {
"bool": {
"must": [
{
"match": {
"event.dataset": "auth"
}
},
{
"match": {
"event.action": "failed_login"
}
}
]
}
}
}
res = es.search(index="siem", body=search_query)
for hit in res['hits']['hits']:
print(hit['_source'])
-
创建搜索查询后,将其保存为Kibana的已保存搜索。
- 访问Kibana的告警与操作界面,创建一个新的告警。选择在步骤2中创建的保存搜索作为告警的基础。
- 配置告警在达到特定阈值时触发。例如,可以设置告警在5分钟内检测到超过5次失败的登录尝试时触发。
- 配置告警在触发时发送通知,如电子邮件或Slack消息。
- 测试告警以确保其按预期工作。
告警配置完成后,一旦检测到主机被攻击尝试事件,如失败的登录尝试,它将自动触发。这有助于组织高效且有效地检测和响应安全威胁。定期审查和更新告警以确保它们能够检测到最相关和重要的安全事件至关重要。
结论
利用ELK检测主机被攻击尝试是增强组织安全态势的有效方法。ELK提供了一套强大的日志收集、解析、存储、分析和告警功能,使组织能够实时检测并响应主机被攻击尝试。
通过监控系统日志和网络流量,并使用高级搜索查询和告警机制,ELK可以帮助组织检测包括失败的登录尝试、可疑的网络流量、文件系统变更和可疑进程活动在内的广泛主机被攻击尝试。
实施基于ELK的强大主机入侵尝试检测策略,需精心规划、配置与测试。然而,凭借恰当的专业知识和工具,组织能构建一套全面的安全监控系统,该系统提供网络实时可视性,提升事件响应速度,并有助于在安全漏洞发生前加以预防。
Source:
https://dzone.com/articles/host-hack-attempt-detection-using-elk