0x00 硬件配置

固态硬盘,16GB内存以上

0x01 软件准备

在日志服务器上下载完毕后分别解压,前两者解压即用,后者是其实是安装包

  • NSSM(用来设置kibana自启的),解压后将里面的nssm.exe放入kibana文件夹bin文件夹内备用

0x02 Elasticsearch部署

先运行bin/elasticesearch.bat完成安装,显示token后将tokenpassword分别复制(建议将所有输出内容做下备份),出现started即为成功,可以访问http://localhost:8220/进行测试。

如果需要安装为自启服务,则运行在此目录下命令行执行elasticsearch-service.bat install

如果出现error downloading geoip database报错,可以先在config/elasticsearch.yml底部添加一行ingest.geoip.downloader.enabled: false

0x03 kibana部署

运行bin/kibana.bat,出现类似Go to http://localhost:5601/?code=368039 to get started.即为成功,访问该网址,将Elasticsearch部署输出结果中token填入,kibana的默认用户名为elastic,密码见Elasticsearch部署输出结果中的password

如需设置中文,进入到config文件夹,编辑kibana.yml,将i18n.locale一行改为i18n.locale: "zh-CN",如需外网访问,将server.host一行改为为server.host: "0.0.0.0"

如果需要安装为自启服务,则运行在此目录下命令行执行nssm install kibana,在弹出窗口中path输入kibana.bat,在Startup directory输入kibana.bat的所在文件夹,点击右下角 install service 按钮即可。

0x04 Fleet部署

进入kibana后,在左侧菜单,最下方找到Fleet,点击“添加Fleet服务器”,输入自定义的名称,URL处输入服务器地址https://本机IP:8220,点击“生成Fleet服务器”按钮,等待第二步“将 Fleet 服务器安装到集中式主机”出现代码,在代码中找到token部分并复制。

命令行进入Elastic Agent文件夹,执行:

.\elastic-agent.exe install --url=服务器地址 --enrollment-token=kibana生成的token

根据提示输入y并回车,然后回到网页版中,等到第三步“确认链接”显示“Fleet 服务器已连接”即可。

0x05 WindowsLogs采集

服务器端部署集成策略:

  1. 进入kibana
  2. 在左侧菜单最下方找到并进入集成
  3. 右侧搜索并进入System
  4. 点击右上角添加Custom Windows Event Logs
  5. 在新界面Channel Name处为通道起名(这里我叫 客户端系统采集通道);
  6. 建议开启下方的Preserve original event功能;
  7. 在第二部分要将此集成添加到什么位置?中选择New hosts选项卡;
  8. 新代理策略名称(英文 Agent policy 实际意为客户端策略,可以理解为通道组)命名为客户端策略组
  9. 点击右下角“保存并继续”。

注:对于 7.11版本以上,安全、应用程序和系统事件日志的日志收集由上述System集成处理。Custom Windows Event Logs集成包括forwarded(转发)事件、PowerShell 事件和 Sysmon 事件。详情 如果需要Custom Windows Event Logs,请如下操作:

  1. 进入kibana
  2. 在左侧菜单最下方找到并进入集成
  3. 右侧搜索并进入Custom Windows Event Logs
  4. 点击右上角添加Custom Windows Event Logs
  5. 在新界面Channel Name处为通道起名(可以叫Windows客户端指定日志采集通道);
  6. 建议开启下方的Preserve original event功能;
  7. 在第二部分要将此集成添加到什么位置?中选择Existing hosts选项卡;
  8. 代理策略 选择刚刚建立的 客户端策略组
  9. 点击右下角“保存并继续”。

注1:如果还有为同一批客户端继续添加集成插件(原插件不动),建议不要新建代理策略,应该选择刚刚建立的客户端策略

注2:Fleet服务器策略组(我改的,默认名为 Fleet Server Policy)已默认部署System集成

部署采集客户端:

  1. 进入kibana后;
  2. 在左侧菜单最下方找到并进入Fleet
  3. 点击右上角添加代理按钮(原文Agent,实际上是指客户端);
  4. 您正在添加什么类型的主机?中选择刚刚创建的客户端策略组策略;
  5. 复制部署代码中的enrollment-token已备使用;
  6. Elastic Agent拷贝到要采集的计算机上并解压(后台提供的命令需要在外网下载,速度极慢,建议复制或部署镜像),管理员powershell在解压后的目录下执行以下代码(可以存为ps1文件备用哦):
.\elastic-agent.exe install --url=https://日志服务器IP:8220 --enrollment-token=复制的enrollment-token --insecure

注:--insecure代表忽略证书校验,如已配置证书可忽略

然后回到网页版中,等到第三步“确认传入数据”显示“已连接”即可。

0x06 Linux采集

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.7.0-linux-x86_64.tar.gz
tar xzvf elastic-agent-8.7.0-linux-x86_64.tar.gz
cd elastic-agent-8.7.0-linux-x86_64
sudo ./elastic-agent install --url=https://日志服务器IP:8220 --enrollment-token=复制的enrollment-token --insecure

0x07 SysLogs采集

服务器端部署集成策略:

  1. 进入kibana
  2. 在左侧菜单最下方找到并进入集成
  3. 右侧搜索并进入Custom TCP Logs
  4. 点击右上角添加Custom TCP Logs
  5. 在新界面Channel Name处为通道起名(可以叫514日志协议接收通道-TCP
  6. 在新界面Listen Address填入0.0.0.0
  7. Listen port填入514(大部分设备默认都是这个端口传输);
  8. 开启下方的Syslog Parsing功能(以支持RFC3164RFC5424格式);
  9. 在第二部分要将此集成添加到什么位置?中选择Existing hosts选项卡;
  10. 代理策略选择Fleet服务器策略组(我改的,默认名为 Fleet Server Policy);
  11. 点击右下角“保存并继续”。

再按照上述操作,添加Custom UDP Logs集成即可。

客户端配置:

在设备的后台(如上网控制、防火墙等)或控制界面(如交换机命令行)将日志服务器地址指向刚刚部署的服务器即可,端口如可以配置则填写514,否则应该默认为514,如果有其他端口存在可以考虑再次部署集成策略(原策略不动),Listen port处不同即可。