一、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 服务器端配置
首先授权开通了日志功能
在日志管理配置上面的参数
附录 graylog 安装
用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
————————————————