我让用户使用 Samba 3.5.4 通过 squid(NTLM)向 Active Directory 服务器进行身份验证,并且我想要记录用户的登录尝试。
我想要一行显示类似以下内容的内容:
TIMESTAMP username@DOMAIN SUCCESS/FAILURE
答案1
如果您修改该log level
行/etc/samba/smb.conf
如下:
log level = 1 winbind:5
您确实获得了我想要的信息(默认情况下记录到/var/log/samba/log.DOMAIN
),但它非常嘈杂,日志消息分为两行。这不是我所寻找的,但可能不得不这样做。
答案2
在 samba 日志文件中,与身份验证相关的信息用模块标记check_ntlm_password
(假设您正在使用模块)。如果您想要日期和小时,则必须捕获包含实际信息的行之前的行。
以下是一些示例。在所有情况下,用户的名称都替换为。请注意,成功和失败情况下xxx.yyy
的大小写有所不同。authentication
[2011/11/08 10:22:40.604819, 2] auth/auth.c:304(check_ntlm_password)
check_ntlm_password: authentication for user [xxx.yyy] -> [xxx.yyy] -> [xxx.yyy] succeeded
[2012/01/11 09:09:00.430424, 2] auth/auth.c:314(check_ntlm_password)
check_ntlm_password: Authentication for user [xxx.yyy] -> [xxx.yyy] FAILED with error NT_STATUS_WRONG_PASSWORD
除了这两条消息之外,还有其他消息。这些行是由 lenny 的 backports 存储库中的 Samba 生成的。Samba 版本是 3.5.6,实际软件包版本是 2:3.5.6~dfsg-3~bpo50+1。登录的确切配置smb.conf
是:
syslog = 0
debug level = 2
log file = /var/log/samba/%m.log
max log size = 1024
panic action = /usr/share/samba/panic-action %d
答案3
如果你正在使用 AD,那么你应该在“安全日志”中看到登录尝试。它不仅应该包含用户名,还应该包含源 IP(应该是你的 squid 主机)。
这是一篇有关如何设置的很好的文章: http://www.windowsecurity.com/articles/windows-active-directory-auditing.html
不过,我还是要对审计成功保持谨慎,因为它往往会很快填满日志。