如何监控Samba LDAP流量并调试LDAP连接?
如何监控Samba LDAP流量并调试LDAP连接?
我完全懂你想抓Samba LDAP核心操作细节的需求——绑定请求、认证过程、搜索过滤器这些,之前调的日志级别没命中LDAP专属模块,所以才看不到有用的内容。给你几个针对性的方案:
一、精准配置Samba日志模块(最直接的方式)
Samba的日志是分模块管控的,你之前的配置没覆盖LDAP相关的核心模块,所以得细化log level的设置:
- 打开你的
smb.conf配置文件(一般在/etc/samba/smb.conf),修改或添加以下配置:log level = 1 ldap:5 auth:5 auth_audit:3 auth_json_audit:3ldap:5:这是关键!会把LDAP的所有操作细节——包括绑定DN、搜索过滤器、请求参数、响应结果都完整输出。auth:5:配合auth_audit,能把认证的每一步(比如NTLM/Kerberos认证过程、权限检查)都打出来,和LDAP操作形成完整链路。
- 保存配置后,重启Samba AD DC服务:
systemctl restart samba-ad-dc # 适用于systemd系统 # 或者用 service samba restart (老系统)
二、找到正确的日志文件
别盯着错的日志文件白忙活!Samba AD DC的LDAP相关日志通常存在/var/log/samba/目录下,常见的有ldap.log、dc.log,或者如果配置了log file = /var/log/samba/%m.log,每个连接的客户端会生成单独的日志文件。你可以用实时监控命令跟踪:
tail -f /var/log/samba/ldap.log
这样能实时看到新产生的LDAP操作日志。
三、抓包工具补全细节(日志不够时用)
如果日志里的信息还是不够直观,或者想查看原始的LDAP数据包,用tcpdump抓包绝对靠谱:
- 抓普通LDAP(389端口)流量:
tcpdump -i any port 389 -w ldap_raw.pcap - 抓加密LDAPS(636端口)流量:
tcpdump -i any port 636 -w ldaps_raw.pcap
抓完的.pcap文件可以用Wireshark打开,直接过滤ldap协议,就能看到每一个LDAP请求的原始内容,包括绑定请求的DN、搜索过滤器的具体参数,甚至能看到响应的条目数据。
小提醒
调试完成后记得把日志级别改回log level = 1或者2,不然高级别日志会快速占满磁盘空间,影响服务器性能。
备注:内容来源于stack exchange,提问作者Mohammed Noureldin




