Windows AD日志分析告警平台—WatchAD安装教程
WatchAD介绍
WatchAD收集所有域控上的事件日志和kerberos流量,通过特征匹配、Kerberos协议分析、历史行为、敏感操作和蜜罐账户等方式来检测各种已知与未知威胁,功能覆盖了大部分目前的常见内网域渗透手法。该项目在360内部上线运行半年有余,发现多起威胁活动,取得了较好的效果。现决定开源系统中基于事件日志的检测部分。
安装环境
CentOS 7
WatchAD安装(日志分析端服务)
基础环境配置
安装WatchAD
如果提示没有git命令, 请安装git:
进到下载的WatchAD的目录下,执行
在WatchAD的目录下,执行,前提是前边的docker和docker-compos都正确安装了。
注意:
执行这步时,需要先到https://hub.docker.com/ 平台注册账号,然后在服务器上执行,然后输入你注册激活过的账号密码
否则直接操作,会报错:,而且登录过后的下载速度,也明显加快了,不知道为什么
4.1 修改winlogbeat.yml 文件
打开我们提供的配置文件 {project_home}/settings/winlogbeat/winlogbeat.yml ,修改output.logstash 的 hosts字段值为你安装Logstash的IP和端口(默认5044),假设你安装Logstash的IP为10.10.10.10,此时配置文件为:
winlogbeat.event_logs:
- name: Security
event_id: -4662
ignore_older: 1h
output.logstash:
hosts: ["10.1.1.1:5044"]
上边这个文件对格式,有严格要求要和上边的齐平,否则格式错误,无法运行服务。
如果你跟我的教程安装的,这里的ip就是你现在这个服务器的IP
4.2 下载winlogbeat到Windows 服务器上
4.3 安装winlogbeat
>- 把下载的winlogbeat 6.2压缩包,解压到中C:\Program Files。
将winlogbeat-
目录重命名为Winlogbeat。 打开Winlogbeat目录下的winlogbeat.yml文件,把内容都删除了,然后复制4.1步骤中修改的内容到文件中,保存
以管理员身份打开PowerShell提示符(右键单击PowerShell图标,然后选择“以管理员身份运行”)。
在PowerShell提示符下,运行以下命令以安装服务:
cd 'C:\Program Files\Winlogbeat'
.\install-service-winlogbeat.ps1
注意:
如果在系统上禁用了脚本执行,则需要为当前会话设置执行策略以允许脚本运行。例如: 。
启动服务命令:,这时,日志收集就会以后台服务运行。如果想要看收集的效果,可以执行,会看到日志收集记录,最后要作为服务运行,还是要执行前边那个命令。
注意:执行以下操作时,需要先开一窗口,运行,把基础数据库环境运行起来,好观察输入日志。如果后期服务稳定了,可以执行后台运行。
WatchAD使用python将一些配置信息自动化完成:
Usage: WatchAD.py [settings]
Options:
-h, --help show this help message and exit
--install 执行WatchAD初始化安装,在次之前请确保已完整环境安装和配置。
-d DOMAIN, --domain=DOMAIN AD服务器的域名
A FQDN domain name of detection.
-s SERVER, --ldap-server=SERVER 服务器地址,如果域名解析了,可以域名
Server address for LDAP search. e.g: dc01.corp.com
-u USERNAME, --domain-user=USERNAME 连接AD的账户,格式:域名\\账户
Username for LDAP search. e.g: CORP\peter
-p PASSWORD, --domain-passwd=PASSWORD 管理员密码
Password for LDAP search.
--check 检查各个数据库连接状态、消息队列状态
--start 启动检测引擎
--restart 重启检测引擎
--stop 停止引擎 (删除现有消息队列,防止数据量过大造成积压)
--status 查看当前引擎状态
直接执行安装命令,如:
运行WatchAD
执行命令:
------------
WatchAD-web安装(Web监控端服务)
下载WatchAD-Web源码
修改配置
修改连接数据库的配置:
把 此文件中的全改为WatchAD所在的服务器IP。
修改前端页面配置:
把和此文件中的改为WatchAD-Web所在服务器的IP。我的WatchAD和WatchAD-Web搭建在一个服务器了,所以IP一样。
进行编译
进到下载WatchAD-Web目录,执行:,如果上一步的配置有修改或者代码有变动,需要重新执行此命令,下一步的才会对修改生效
注意:
编译时,报错:
原因:因为环境中,pip默认指向的是python2.7版的。
解决办法:修改{WatchAD-Server}/server/Dockerfile文件中的为 就可以了
安装
执行命令:
启动后,就可以访问WatchAD-Web前端页面了,地址:http://服务器ip/activity_timeline.html
问题集锦
这部分,补充的是其他网友跟我咨询安装教程中遇到的问题
报错信息1:
Error: invalid literal for long() with base 10: '%(ENV_WATCHAD_ENGINE_NUM)s'
For help, use /usr/bin/supervisord -h
解决办法:
卸载服务器装的所有supervisor,然后重新安装,安装教程:
yum install python-setuptools
easy_install supervisor
参考链接:
本文首发于BigYoung小站(http://www.bigyoung.cn)