一、 graylog 介绍
graylog是一个简单易用、功能较全面的日志管理工具,graylog也采用Elasticsearch作为存储和索引以保障性能,MongoDB用来存储少量的自身配置信息,master-node模式具有很好的扩展性,UI上自带的基础查询与分析功能比较实用且高效,支持LDAP、权限控制并有丰富的日志类型和标准(如syslog,GELF)并支持基于日志的报警。
二、 usbserver 借助graylog 能实现哪些功能
借助graylog 强大的收集和分析能力,usbserver 实现了如下功能
1、基础日志功能
1.1 ukey 的插入/拔出,连接/断开,使用中发送/接收的详细数据包
1.2 客户端实际ukey的连接,断开状态的变化
1.3 集中管理的用户登录/退出,使用ukey 的记录
2、定制分析能力
在基础日志之上,借助graylog 强大的查询分析能力,可以定制实现
2.1 ukey 断线报警,断线信息可通过短信,邮件发送,或者集成到钉钉,企业微信等用户自己的系统
2.2 痕迹分析,记录U盾的全部使用痕迹,可供查询
2.3 行为统计分析:根据用户场景设备分析条目,对人员行为进行分析
2.4风险预警:根据设置的预警条件触发预警信息推送
2.5 审计功能,根据用户的登录,使用ukey 的记录,对正常申请使用、违规超时使用、不合规使用进行审计
三、 graylog 配置
graylog 安装见附录,安装完成后,我们配置12201 端口作为输入
点击system->inputs, 选择select input->GELF HTTP(GELF UDP)->lanch new input,端口都选择在12201
usbserver 配置
3.1 客户端usb over network client配置
客户端没有配置界面,需要通过api 接口进行配置
安装最新版本的usb专业客户端,启动专业客户端
专业客户端开通了8001 端口作为配置端口,在浏览器中打开
http://localhost:8001
在调试界面修改接口为/api/setting/usbconfig
{"graylog_server":"udp://192.168.2.238:12201"}
其中192.168.2.238修改为服务器ip, 12201 是端口
然后退出重新启动客户端
3.2 集中管理配置
打开管理后台,admin/config/ofcsetting
通过nacos 配置
3.3 服务器端配置
首先授权开通了日志功能
在日志管理配置上面的参数
附录 g raylog 安装
用docker-compose 安装最方便,docker-compose.yml 配置如下,安装完成后通过浏览器http://ip:9000访问
- version: '3'
- services:
- # MongoDB: https://hub.docker.com/_/mongo/
- mongo:
- image: mongo:5.0.13
- container_name: graylog_mongo
- networks:
-
- graylog
- # Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/7.10/docker.html
- elasticsearch:
- image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
- container_name: graylog_elasticsearch
- environment:
-
- http.host=0.0.0.0
-
- transport.host=localhost
-
- network.host=0.0.0.0
-
- "ES_JAVA_OPTS=-Dlog4j2.formatMsgNoLookups=true -Xms512m -Xmx512m"
- ulimits:
- memlock:
- soft: -1
- hard: -1
- deploy:
- resources:
- limits:
- memory: 1g
- networks:
-
- graylog
- # Graylog: https://hub.docker.com/r/graylog/graylog/
- graylog:
- image: graylog/graylog:6.0.2
- container_name: graylog
- volumes:
- # Mount local configuration directory into Docker container
-
- ./config:/usr/share/graylog/data/config
- environment:
- # CHANGE ME (must be at least 16 characters)!
-
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
- # Password: admin
-
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
-
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9100/
- entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
- networks:
-
- graylog
- restart: always
- depends_on:
-
- mongo
-
- elasticsearch
- ports:
- # Graylog web interface and REST API
-
- 9000:9000
- # Syslog TCP
-
- 1514:1514
- # Syslog UDP
-
- 1514:1514/udp
- # GELF TCP
-
- 12201:12201
- # GELF UDP
-
- 12201:12201/udp
- networks:
- graylog:
- driver: bridge