关于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传送门】
参考资料
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)