ELK组件安装运行展示

ELK组件安装运行展示

背景说明

  1. 基于logstash-7.2.1构建了logstash-1.0-1.x86_64.rpm
  2. 基于elasticsearch-7.2.1构建了elasticsearch-1.0-1.x86_64.rpm
  3. 基于kibana-7.2.1构建了kibana-1.0-1.x86_64.rpm
  4. 基于CentOS-7-x86_64-Minimal-1810镜像新建3台虚拟机,A记为agent负责采集数据,B记为server负责存储数据,C记为state负责为存储的数据生成可视化展示图
  5. 为3台虚拟机配置hostname以及主机映射
  6. 以root用户登录agent、server、state 修改时区设置(保证时间同步)
    timedatectl set-ntp no
    timedatectl set-timezone Asia/Shanghai

环境搭建说明

Agent端

  1. 将agent文件夹下的所有文件上传到agent的/root目录下,而后以root用户登录agent虚拟机
  2. 安装logstash
    yum -y localinstall logstash-1.0-1.x86_64.rpm
  3. 安装suricata
    tar -zxvf rpmOfSuricata.tar.gz
    yum -y localinstall rpmOfSuricata/*.rpm
    yum -y localinstall suri-2.0-1.x86_64.rpm
  4. 重新编译suricata
    cd /home/nsa/suricata/suricata-4.1.4/
    make clean
    ./configure --prefix=/usr/ --sysconfdir=/etc/ --localstatedir=/var/ --enable-luajit --with-libnss-libraries=/usr/lib --with-libnss-includes=/usr/include/nss/ --with-libnspr-libraries=/usr/lib --with-libnspr-includes=/usr/include/nspr --with-libluajit-includes=/usr/local/include/luajit-2.0/ --with-libluajit-libraries=/usr/lib/ --with-libjansson-libraries=/usr/lib64/ --with-libjansson-includes=/usr/include
    make && make install
  5. 脚本配置
    mkdir -p /ids/packet
    将“终端正常流量展示配置”下的t_packet.lua、packet-es.conf上传到agent
    mv t_packet.lua /etc/suricata/lua-output/
    mv packet-es.conf logstash-7.2.1/config/
    vi /etc/suricata/suricata.yaml
    按照下图内容修改suricata.yml文件的内容
    在这里插入图片描述
    将“终端白名单检测配置”下的”文件全部上传到agent的/root目录下
    tar -zxvf scripts.tar.gz
    mv scripts/ /var/lib/suricata/update/cache/rules/
    mv -f classification.config custom.rules /var/lib/suricata/update/cache/rules/
  6. 验证suricata安装
    执行ip address指令,查看网卡名称
    在这里插入图片描述
    根据网卡名称,尝试运行suricata,如下图所示为安装成功
    cd /home/nsa/suricata/suricata-4.1.4/
    suricata -c /etc/suricata/suricata.yaml -i ens33
    在这里插入图片描述
  7. 修改logstash配置
    eve-es文件,在/root/logstash***/config目录下
    vi eve-es.conf
    将“elastic search所在IP”换成server虚拟机IP地址
    在这里插入图片描述
    vi packet-es.conf
    将下图中“hosts”处的IP地址更换为server虚拟机IP地址在这里插入图片描述

Server端操作

  1. 将elastic search的安装包上传到server虚拟机中
  2. 以root身份登录server虚拟机,安装elasticsearch的rpm包
    yum -y localinstall elasticsearch-1.0-1.x86_64.rpm
  3. 配置项修改
    cd /home/elasticsearch/config/
    cat after_es_install.sh
    根据上一条指令显示的内容执行后续操作
    useradd elasticsearch;
    chown -R elasticsearch:elasticsearch /home/elasticsearch;
    chown -R elasticsearch:elasticsearch /usr/local/elasticsearch;
    vi /etc/security/limits.d/20-nproc.conf
    而后删除/etc/security/limits.d/20-nproc.conf的倒数第三行并退出
    systemctl start firewalld;
    firewall-cmd --add-port=9200/tcp --zone=public --permanent;
    firewall-cmd --reload;
    systemctl stop firewalld;
    sysctl -p;
  4. 运行验证
    su elasticsearch
    cd /usr/local/elasticsearch/
    nohup ./bin/elasticsearch &
    curl http://127.0.0.1:9200
    若出现以下内容,说明elasticsearch已正常启动运行
    {
    “name” : “node-1”,
    “cluster_name” : “elkbigdata”,
    “cluster_uuid” : “jpkQKXwOTYSr_K7D180c5g”,
    “version” : {
    “number” : “7.2.1”,
    “build_flavor” : “default”,
    “build_type” : “tar”,
    “build_hash” : “fe6cb20”,
    “build_date” : “2019-07-24T17:58:29.979462Z”,
    “build_snapshot” : false,
    “lucene_version” : “8.0.0”,
    “minimum_wire_compatibility_version” : “6.8.0”,
    “minimum_index_compatibility_version” : “6.0.0-beta1”
    },
    “tagline” : “You Know, for Search”
    }

State端操作

  1. 将kibana安装包上传到state中
  2. 安装并配置kibana服务
    yum -y localinstall kibana-1.0-1.x86_64.rpm
    cat /home/state/after_kibana_install.sh
    按照上述文件的内容进行后续配置
    vi /usr/local/kibana/config/kibana.yml
    #elasticsearch.hosts: [“http://server-ip:9200”]
    此处server-ip替换为server虚拟机的IP地址
    useradd state
    chown -R state:state /home/state;
    chown -R state:state /usr/local/kibana;
    systemctl start firewalld;
    firewall-cmd --add-port=5601/tcp --zone=public --permanent;
    firewall-cmd --reload;
    systemctl stop firewalld
  3. 启动kibana服务(启动前必须保证server端的elasticsearch服务已经正常运行)
    su state
    cd /usr/local/kibana/
    ./bin/kibana
    访问http://state-ip:5601,若出现下图说明kibana服务正常运行
    在这里插入图片描述
    注意事项
    1.上述操作完成之后,root用户登录server,执行下列操作
    ps -ef | grep elasticsearch 找到正在运行的elastic search进程的pid
    kill -9 pid 关闭上述elastic search进程
  4. 上述操作完成之后,root用户登录state,执行下列操作
    ps -ef | grep node 找到上述kibana进程的pid
    kill -9 pid 关闭刚刚的kibana进程

启动运行说明

  1. root用户登录server,执行下列操作
    su elasticsearch
    cd /usr/local/elasticsearch/
    nohup ./bin/elasticsearch &
  2. 查看elastic search是否正常运行,下图所示为正常运行状态
    在这里插入图片描述
    这里如果curl http://127.0.0.1:9200连接失败:
    tail -F nohup.out
    再次运行

启动kibana服务

1, root用户登录state,执行下列操作
su state
cd /usr/local/kibana/
nohup ./bin/kibana &
2. 通过本机浏览器访问: http://192.168.200.133:5601/,以下界面为正常运行界面
在这里插入图片描述

启动logstash服务

  1. root用户登录agent,修改logstash的jvm配置
    cd /root/logstash-7.2.1/
    vi config/jvm.options
    #将该文件中,修改jvm配置如下图
    在这里插入图片描述
  2. 启动两个logstash进程
    #将suricata检测结果的eve.json文件逐行发送到elastic search
    nohup ./bin/logstash -f config/eve-es.conf &
    nohup ./bin/logstash -f config/packet-es.conf &
  3. 此处可能会由于内存不足导致无法同时满足两个logstash进程运行的要求,可以将其分来运行。具体做法如下
    nohup ./bin/logstash -f config/eve-es.conf &
    执行“启动suricata生成展示数据”中的操作
    ps -ef | grep logstash 找到刚刚那个logstash进程的pid,而后kill -9 pid值,关闭刚才启动的logstash进程
    nohup ./bin/logstash -f config/packet-es.conf &
    再次执行“启动suricata生成展示数据”中的操作

启动suricata生成展示数据

  1. 将pcap_attack、pcap_nanwang_test两个文件夹上传到agent虚拟机
  2. root用户登录agent,启动suricata,读取上述pcap文件,生成检测结果
    cd pcap_attack/
    suricata -c /etc/suricata/suricata.yaml -r ./APPLICATION_ATTACK/xss.pcap
    suricata -c /etc/suricata/suricata.yaml -r ./BRUTE_FORCE/.pcap -k none
    suricata -c /etc/suricata/suricata.yaml -r DOS/
    .pcap

kibana导入可视化组件

  1. 通过本地Windows主机访问state端的kibana服务
    http://192.168.200.133:5601/
  2. 导入“state”文件夹下的“suricata攻击检测结果界面.njson”、“终端白名单检测界面.ndjson”、“终端正常流量统计界面.ndjson”
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 查看展示图效果
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值