ELK监控深信服防火墙syslog日志+Grafana展示

[TOC]

​ 由于深信服防火墙各分支机构都有一台,每次巡检都需要登录不同系统的web界面巡检日志信息,深信服也有自己的外部服务器,但是毕竟是收费的产品,这里将不同防火墙的日志都发送到logstash中统一处理展示。

image20210712085431733.png

这里介绍使用Syslog+Logstash+Grafana展示深信服防火墙日志,由于数据量不大,没有采用Redis缓存,数据由Syslog直接传输到Logstash进行数据过滤,再发送到Elasticsearch存储,使用Grafana数据展示

组件如下

  • Syslog:记录设备的系统日志,在网络设备与linux服务器中常用
  • Logstash:数据过滤组件,里面有丰富的插件,主要包括三个模块:Input(数据输入),Filter(数据过滤),Output(数据输出),可参考Logstash官方文档
  • Elasticserch:全文索引搜索+存储引擎,java写的,暂未详细了解,可参考Elasticsearch官方文档
  • Kibana:可视化平台,可展示、检索、管理Elasticsearch中的数据。参考Kibana官方文档
  • Grafana:可视化平台,能接入不同的数据源,进行数据图表展示,由于比较熟悉grafana,这里采用grafana进行展示。参考Grafana官方文档

Grafana效果展示

image20210712090630343.png

一、安装ELK

参考 Elasticsearch+Logstash+Kibana+Head安装

二、配置Syslog

登录深信服防火墙,开启Syslog选项-勾选安全日志-配置IP端口

image20210712090918192.png

三、配置Logstash

Syslog日志如下

2021-06-21T09:17:18+08:00 localhost fwlog: 日志类型:IPS防护日志, 策略名称:业务, 漏洞ID:11070339, 漏洞名称:D-Link IP Cameras信息泄露漏洞, 源IP:143.198.173.174, >源端口:48058, 目的IP:192.168.0.28, 目的端口:80, 协议:tcp, **类型:network_device漏洞, 严重等级:高, 动作:拒绝**

过滤规则需要使用kv模块将message,以逗号进行才分,以冒号进行key,value区分

修改logstash配置文件

vim /opt/logstash/config/syslog-security.conf

# ---------------input 输入模块-----------------------
input{
    syslog{
        type => "syslog-security"       #给输入源打上标签
        host => "0.0.0.0"
        port => 514                     #端口号与防护墙保持一致
    }
}
# ---------------filter 过滤模块-----------------------
filter{
if [type] == "syslog-security" {
        kv {
                source => "message"     
                field_split => ", "     #以逗号+空格拆分
                value_split => ":"      #以冒号进行key,value区分
        }
        mutate {
                remove_field => ["message"] #删除原字段
        }
        geoip {
                source => "源IP"     #将源ip进行经纬度分析

        }
    }
}
# ---------------output 输出模块-----------------------
output {
    if [type] == "syslog-security" {
       elasticsearch {
        hosts => ["192.168.0.170:9200"]
            user => "elastic"
            password => "123456"
            index => "syslog-security-%{+YYYYMMdd}"
        }
    }
#    stdout {  }
}

残留问题:kv拆分后的字段,在es中并不能建立索引,待大神解答

四、配置kibana

登录kibana

http://192.168.0.170:5601/

创建索引模式

image20210708162810158.png

image20210708162852171.png

image20210708162930324.png

image20210712092328702.png

image20210712092346591.png

创建完成后,在Discover就可以看得刚创建的索引

image20210708163450220.png

image20210712092507986.png

求大神解答这些字段如何加入索引

五、Grafana展示

参考 Grafana安装

添加数据源

image20210708164910450.png

image20210712092620202.png

绘制图表-日志趋势

image20210712092727384.png

绘制图标-最新日志

image20210712092908458.png

其他图表类似,最后展示如下

image20210712090630343.png