“A9 Team 甲方攻防团队,成员来自某证券、微步、青藤、长亭、安全狗等公司。成员能力涉及安全运营、威胁情报、攻防对抗、渗透测试、数据安全、安全产品开发等领域,持续分享安全运营和攻防的思考和实践。”
01
—
简介
-
Elasticsearch用于存储、索引、关联和搜索来自服务器的安全事件。
-
Kibana以显示存储在 Elasticsearch 中的日志。
-
Logstash配置Logstash以接收Suricata生成的JSON格式日志,然后将它们发送到Elasticsearch
-
Suricata扫描网络流量中的可疑事件并丢弃无效数据包。
elasticsearch | sudo apt-key add - wget -qO - https://artifacts.elastic.co/GPG-KEY-
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update
sudo apt-get install elasticsearch
sudo apt-get install logstash
sudo apt-get install kibana
步骤2:启动Elasticsearch,Logstash和Kibana
sudo systemctl start elasticsearch.service
sudo systemctl start logstash.service
sudo systemctl start kibana.service
04
—
curl -X GET “http://localhost:9200”
如果您看到“Elasticsearch”字样,则Elasticsearch正在运行。
xpack.security.enabled: true
生成elastic和kibana_system用户的密码:使用以下命令生成密码
sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
将生成的密码保存在安全的地方,我们将在后面的步骤中使用它们。
input {
beats {
port => 5044
}
}
filter {
if [type] == "suricata" {
json {
source => "message"
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "suricata-%{+YYYY.MM.dd}"
user => "elastic"
password => "password"
}
}
elasticsearch.username: "elastic"
elasticsearch.password: "password"
05
—
sudo apt-get update
sudo apt-get install suricata
06
—
# 定义接收数据的网络接口
af-packet:
- interface: eth0
# 定义输出到Logstash的配置
outputs:
- logstash:
hosts: ["localhost:5044"]
user: "elastic"
password: "password"
sudo suricata-update
sudo suricata -c /etc/suricata/suricata.yaml -i eth0
07
$ curl http://testmynids.org/uid/index.html
uid=0(root) gid=0(root) groups=0(root)
log/suricata/fast.log grep 2100498 /var/
22/04/2023-23:21:46.783476 [**] [1:2100498:7] GPL ATTACK_RESPONSE id check returned root [**] [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} IP:80 -> IP:36364
$ ssh -L 5601:your_private_IP:5601 navjot@your _public_IP -N
配置防火墙
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
安装和配置 SSL
sudo dnf install certbot
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d kibana.example.com
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
$ mkdir -p /var/lib/letsencrypt
sudo nano /etc/cron.daily/certbot-renew
certbot renew --cert-name kibana.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"
更改任务文件的权限以使其可执行。
sudo chmod +x /etc/cron.daily/certbot-renew
sudo nano /etc/kibana/kibana.yml
server.publicBaseUrl: "https://kibana.example.com"
sudo systemctl restart kibana
原文始发于微信公众号(A9 Team):【A9】如何基于Suricata和ELK自建SIEM
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论