From 6f908f8cbf404fd1e18c1aa875fc5b65132036ba Mon Sep 17 00:00:00 2001 From: Arthur Date: Thu, 17 Nov 2022 13:11:08 -0800 Subject: [PATCH] 10653 use signal to log failed login attempts --- netbox/users/apps.py | 8 ++++++++ netbox/users/signals.py | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 netbox/users/apps.py create mode 100644 netbox/users/signals.py diff --git a/netbox/users/apps.py b/netbox/users/apps.py new file mode 100644 index 000000000..6dff227d6 --- /dev/null +++ b/netbox/users/apps.py @@ -0,0 +1,8 @@ +from django.apps import AppConfig + + +class HomeConfig(AppConfig): + name = 'users' + + def ready(self): + import users.signals diff --git a/netbox/users/signals.py b/netbox/users/signals.py new file mode 100644 index 000000000..ec7e11385 --- /dev/null +++ b/netbox/users/signals.py @@ -0,0 +1,10 @@ +import logging +from django.dispatch import receiver +from django.contrib.auth.signals import user_login_failed + + +@receiver(user_login_failed) +def log_user_login_failed(sender, credentials, request, **kwargs): + logger = logging.getLogger('netbox.auth.login') + username = credentials.get("username", None) + logger.info(f"Failed login attempt for username: {username}")