File

mod_limit_auth/README.md @ 6191:94399ad6b5ab

mod_invites_register_api: Use set_password() for password resets Previously the code relied on the (weird) behaviour of create_user(), which would update the password for a user account if it already existed. This has several issues, and we plan to deprecate this behaviour of create_user(). The larger issue is that this route does not trigger the user-password-changed event, which can be a security problem. For example, it did not disconnect existing user sessions (this occurs in mod_c2s in response to the event). Switching to set_password() is the right thing to do.
author Matthew Wild <mwild1@gmail.com>
date Thu, 06 Feb 2025 10:13:39 +0000
parent 6003:fe081789f7b5
line wrap: on
line source

---
summary: Throttle authentication attempts with optional tarpit
...

Introduction
============

This module lets you put a per-IP limit on the number of failed
authentication attempts.

It features an optioanal
[tarpit](https://en.wikipedia.org/wiki/Tarpit_%28networking%29), i.e.
waiting some time before returning an "authentication failed" response.

Configuration
=============

``` {.lua}
modules_enabled = {
  -- your other modules
  "limit_auth";
}

limit_auth_period = 30 -- over 30 seconds

limit_auth_max = 5 -- tolerate no more than 5 failed attempts

 -- Will only work with Prosody trunk:
limit_auth_tarpit_delay = 10 -- delay answer this long
```

Compatibility
=============

Requires 0.9 or later. The tarpit feature requires Prosody trunk.