Mercurial > prosody-modules
comparison mod_audit_auth/mod_audit_auth.lua @ 5748:dfbced5e54b9
mod_audit_auth: Ignore FAST authentication events by default
FAST is more like a cookie that allows linking new connections to a previous
(e.g. password) authentication. Since we assume that FAST tokens are secure
(not user generated) and not shareable, it reduces a lot of noise by filtering
out uninteresting authentication events.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Fri, 01 Dec 2023 11:34:52 +0000 |
parents | b357ff3d0c8a |
children | 238c4ac8b735 |
comparison
equal
deleted
inserted
replaced
5747:111e970213a0 | 5748:dfbced5e54b9 |
---|---|
1 local jid = require"util.jid"; | 1 local jid = require"util.jid"; |
2 | 2 |
3 module:depends("audit"); | 3 module:depends("audit"); |
4 -- luacheck: read globals module.audit | 4 -- luacheck: read globals module.audit |
5 | |
6 local only_passwords = module:get_option_boolean("audit_auth_passwords_only", true); | |
5 | 7 |
6 module:hook("authentication-failure", function(event) | 8 module:hook("authentication-failure", function(event) |
7 local session = event.session; | 9 local session = event.session; |
8 module:audit(jid.join(session.sasl_handler.username, module.host), "authentication-failure", { | 10 module:audit(jid.join(session.sasl_handler.username, module.host), "authentication-failure", { |
9 session = session, | 11 session = session, |
10 }); | 12 }); |
11 end) | 13 end) |
12 | 14 |
13 module:hook("authentication-success", function(event) | 15 module:hook("authentication-success", function(event) |
14 local session = event.session; | 16 local session = event.session; |
17 if only_passwords and session.sasl_handler.fast then | |
18 return; | |
19 end | |
15 module:audit(jid.join(session.sasl_handler.username, module.host), "authentication-success", { | 20 module:audit(jid.join(session.sasl_handler.username, module.host), "authentication-success", { |
16 session = session, | 21 session = session, |
17 }); | 22 }); |
18 end) | 23 end) |