如何使用 samba 记录身份验证尝试?

如何使用 samba 记录身份验证尝试?

我让用户使用 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

不过,我还是要对审计成功保持谨慎,因为它往往会很快填满日志。

相关内容