Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2022-01-18 12:10:19 +0300
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2022-01-19 14:51:43 +0300
commit713342cd23961a96a0a3709ccdde374a07716750 (patch)
tree4cf27c3023308f9899e0e12d108785f3ac1789ed /lib/private
parentf5dd452d5f76d4460b86e7eed1e41f87e80cfc64 (diff)
Log bruteforce throttle and blocking
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/Security/Bruteforce/Throttler.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/private/Security/Bruteforce/Throttler.php b/lib/private/Security/Bruteforce/Throttler.php
index fa4c58e4559..abbe77c6637 100644
--- a/lib/private/Security/Bruteforce/Throttler.php
+++ b/lib/private/Security/Bruteforce/Throttler.php
@@ -354,9 +354,20 @@ class Throttler {
public function sleepDelayOrThrowOnMax(string $ip, string $action = ''): int {
$delay = $this->getDelay($ip, $action);
if (($delay === self::MAX_DELAY_MS) && $this->getAttempts($ip, $action, 0.5) > self::MAX_ATTEMPTS) {
+ $this->logger->info('IP address blocked because it reached the maximum failed attempts in the last 30 minutes [action: {action}, ip: {ip}]', [
+ 'action' => $action,
+ 'ip' => $ip,
+ ]);
// If the ip made too many attempts within the last 30 mins we don't execute anymore
throw new MaxDelayReached('Reached maximum delay');
}
+ if ($delay > 100) {
+ $this->logger->info('IP address throttled because it reached the attempts limit in the last 30 minutes [action: {action}, delay: {delay}, ip: {ip}]', [
+ 'action' => $action,
+ 'ip' => $ip,
+ 'delay' => $delay,
+ ]);
+ }
usleep($delay * 1000);
return $delay;
}