如何使用LDAP-Monitoring-Watchdog实时监控 LDAP 目录中记录修改

2025-01-24 3 0

关于LDAP-Monitoring-Watchdog

LDAP-Monitoring-Watchdog是一种用于实时监控 LDAP 目录中记录更改的工具,该工具能够与Linux兼容,用于检测目录变化,为管理员和安全研究人员提供对添加、修改和删除的可见性。

该工具提供了一种机制来跟踪和可视化用户和组条目的修改、添加和删除,使用户可以将预期更改与实际更改关联起来并识别潜在的安全事件。它是为 OpenLDAP 和 Linux 创建的,但它可能适用于 LDAP 的其他实现。它是用 Python 编写的,只需要 ldap3 库。

功能介绍

1、通过 Slack webhook 集成随时了解 LDAP 目录中发生的情况;

2、查看 LDAP 中出现的新员工、离职人员和晋升信息;

3、监控人力资源部门何时做了什么;

4、检测 LDAP 中未经授权的更改操作;

5、监控意外泄露的数据;

6、检测用户何时登录和退出 LDAP;

7、根据LDAP特定属性的旧/新值进行微调以忽略细粒度属性;

8、颜色高亮输出显示;

工具要求

1、Python 3;

2、软件包ldap3( pip install ldap3)。如果使用 Slack webhook,则还需要requests软件包 ( pip install requests);

3、用于通知的 Slack Webhook URL(可选);

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

安装依赖组件

pip install ldap3
pip install requests

源码获取

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/MegaManSec/LDAP-Monitoring-Watchdog.git

然后切换到项目目录中,运行工具提供的install.sh脚本即可:

$ sudo ./install.sh "https://hooks.slack.com/services/[...]"

ldap-watchdog has been installed, the service is started, and log rotation is set up.

工具配置示例

CONTROL_UUID = 'a71c6e4c-8881-4a03-95bf-4fc25d5e6359' # The entryUUID of an entry in the directory which must always have some type of modification.

CONTROL_USER_ATTRIBUTE = '' # Specifically, if this is set, this is the attribute that must have changed.

 

LDAP_SERVER = 'ldaps://ldaps.intra.lan' # The LDAP(S) server.

BASE_DN = 'dc=mouse,dc=com' # The basename used by the directory.

SEARCH_FILTER = '(&(|(objectClass=inetOrgPerson)(objectClass=groupOfNames)))'

SEARCH_ATTRIBUTE = ['*', '+']  # replace with the attributes you want to retrieve

 

REFRESH_RATE = 60 # Refresh the directory every 60 seconds.

 

LDAP_USERNAME = 'Emily'

LDAP_PASSWORD = 'qwerty123'

USE_SSL = True

 

DISABLE_COLOR_OUTPUT = False

SLACK_BULLETPOINT = ' \u2022   ' # Prepend this to each change if sending notifications via Slack.

 

IGNORED_UUIDS = ['e191c564-6e6d-42c1-ae51-bda0509fe846', '8655e0d9-ecdc-46ce-ba42-1fa3dfbf5faa'] # Ignore any changes users with these UUIDs.

IGNORED_ATTRIBUTES = ['modifyTimestamp', 'phoneNumber', 'officeLocation', 'gecos'] # Ignore any modifications of these attributes.

 

CONDITIONAL_IGNORED_ATTRIBUTES = {

  'objectClass': ['posixAccount'], # Ignore changes to the objectClass attribute if the new or old value is posixAccount.

  'memberOf': ['cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com', 'cn=interns,ou=Accessgroups,dc=mouse,dc=com'], # Ignore changes to the memberOf attribute if the new or old value is either "cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com" or "cn=interns,ou=Accessgroups,dc=mouse,dc=com".

  'organizationalStatus': ['researcher'], # Ignore changes to the organizationalStatus attribute if the new or old value is 'researcher'.

}

 

SLACK_WEBHOOK = os.getenv('SLACK_WEBHOOK_URL') # Use a Slack webhook, and retrieve it from the environmental value.

工具使用

下列命令将控制工具脚本持续监控LDAP目录,并将报告发送给控制台和Slack:

python3 ldap-watchdog.py

工具运行演示

终端(带颜色高亮)输出

Slack输出

许可证协议

本项目的开发与发布遵循AGPL-3.0开源许可协议。

项目地址

LDAP-Monitoring-Watchdog:【GitHub传送门

参考资料

https://joshua.hu/ldap-watchdog-openldap-python-monitoring-tool-realtime-directory-slack-notifications


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

紧急修复!SonicWall SMA 1000系列设备曝高危漏洞CVE-2025-23006,已遭野外利用
勒索软件编年史:从特洛伊到AI多重勒索
2025 年 AI 网络安全预测
ChopChopGo:一款针对Linux的取证数据快速收集工具
从任意文件读取到上线CS——绕过模块禁用
零日漏洞疑被利用,Fortinet防火墙暴露接口遭攻击

发布评论