Explorar o código

Adds ip to failed logs (#12725)

* adds ip to failed logs #12562

* added additional logging when client ip cannot be determined
Abhimanyu Saharan %!s(int64=2) %!d(string=hai) anos
pai
achega
5869894a48
Modificáronse 1 ficheiros con 9 adicións e 1 borrados
  1. 9 1
      netbox/users/signals.py

+ 9 - 1
netbox/users/signals.py

@@ -1,10 +1,18 @@
 import logging
 from django.dispatch import receiver
 from django.contrib.auth.signals import user_login_failed
+from utilities.request import get_client_ip
 
 
 @receiver(user_login_failed)
 def log_user_login_failed(sender, credentials, request, **kwargs):
     logger = logging.getLogger('netbox.auth.login')
     username = credentials.get("username")
-    logger.info(f"Failed login attempt for username: {username}")
+    if client_ip := get_client_ip(request):
+        logger.info(f"Failed login attempt for username: {username} from {client_ip}")
+    else:
+        logger.warning(
+            "Client IP address could not be determined for validation. Check that the HTTP server is properly "
+            "configured to pass the required header(s)."
+        )
+        logger.info(f"Failed login attempt for username: {username}")