Example #1
0
 def process_response(self, request, response):
     try:
         audit_logger = get_audit_logger()
         audit_logger.debug(
             JsonMessage(
                 **{
                     datetime.utcnow().strftime('%s'): {
                         'user':
                         request.user.username
                         if hasattr(request, 'user') else 'anonymous',
                         "status":
                         response.status_code,
                         "impersonator":
                         None,
                         "ip_address":
                         request.META.get('REMOTE_ADDR'),
                         "authorization_failure":
                         response.status_code == 401,
                         "service":
                         get_app_name(request),
                         "url":
                         request.path,
                     }
                 }))
         response['audited'] = True
     except Exception, e:
         LOG.error('Could not audit the request: %s' % e)
Example #2
0
 def process_response(self, request, response):
     try:
         audit_logger = get_audit_logger()
         audit_logger.debug(
             JsonMessage(
                 **{
                     datetime.utcnow().strftime('%s'): {
                         'user':
                         request.user.username
                         if hasattr(request, 'user') else 'anonymous',
                         "status":
                         response.status_code,
                         "impersonator":
                         None,
                         "ip_address":
                         request.META.get('REMOTE_ADDR'),
                         "authorization_failure":
                         response.status_code == 401,
                         "service":
                         get_app_name(request),
                         "url":
                         request.path,
                     }
                 }))
         response['audited'] = True
     except Exception, e:
         LOG.error('Could not audit the request: %s' % e)
Example #3
0
  def _log_message(self, operation, request, response=None):
    audit_logger = get_audit_logger()

    audit_logger.debug(JsonMessage(**{
      'username': self._get_username(operation, request),
      'impersonator': self.impersonator,
      'ipAddress': self._get_client_ip(request),
      'operation': operation,
      'eventTime': self._milliseconds_since_epoch(),
      'allowed': self._get_allowed(operation, request, response),
      'service': get_app_name(request),
      'url': request.path
    }))
Example #4
0
    def _log_message(self, request, response=None):
        audit_logger = get_audit_logger()

        audit_logger.debug(
            JsonMessage(
                **{
                    "username": self._get_username(request),
                    "impersonator": self.impersonator,
                    "ipAddress": self._get_client_ip(request),
                    "operation": request.audit["operation"],
                    "operationText": request.audit.get("operationText", ""),
                    "eventTime": self._milliseconds_since_epoch(),
                    "allowed": self._get_allowed(request, response),
                    "service": get_app_name(request),
                    "url": request.path,
                }
            )
        )
Example #5
0
  def _log_message(self, operation, request, response=None):
    audit_logger = get_audit_logger()

    allowed = True
    status = 200
    if response is not None:
      allowed = response.status_code != 401
      status = response.status_code

    audit_logger.debug(JsonMessage(**{
      'username': self._get_username(request),
      'impersonator': self.impersonator,
      'ipAddress': self._get_client_ip(request),
      'operation': operation,
      'eventTime': self._milliseconds_since_epoch(),
      'allowed': allowed,
      'statusCode': status,
      'service': get_app_name(request),
      'url': request.path
    }))
Example #6
0
def test_one_audit():
  log_tmp = tempfile.NamedTemporaryFile("w+t")

  # KB
  reset = [
      AUDIT_EVENT_LOG_DIR.set_for_testing(log_tmp),
      AUDIT_LOG_MAX_FILE_SIZE.set_for_testing('25KB')
  ]

  audit_logger = get_audit_logger()
  audit_handler = audit_logger.handlers[0]

  assert_equal(25 * 1024 ** 1, audit_handler.maxBytes)
  assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers)
  assert_true(isinstance(audit_handler, AuditHandler), audit_logger.handlers)

  audit_logger = get_audit_logger()
  assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers) # Not adding handler twice

  # Cleanup
  audit_logger.removeHandler(audit_handler)

  for r in reset:
    r()

  # MB
  reset = [
      AUDIT_EVENT_LOG_DIR.set_for_testing(log_tmp),
      AUDIT_LOG_MAX_FILE_SIZE.set_for_testing('25MB')
  ]

  audit_logger = get_audit_logger()
  audit_handler = audit_logger.handlers[0]

  assert_equal(25 * 1024 ** 2, audit_handler.maxBytes)
  assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers)
  assert_true(isinstance(audit_handler, AuditHandler), audit_logger.handlers)

  audit_logger = get_audit_logger()
  assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers) # Not adding handler twice

  # Cleanup
  audit_logger.removeHandler(audit_handler)

  for r in reset:
    r()

  # GB
  reset = [
      AUDIT_EVENT_LOG_DIR.set_for_testing(log_tmp),
      AUDIT_LOG_MAX_FILE_SIZE.set_for_testing('25GB')
  ]

  audit_logger = get_audit_logger()
  audit_handler = audit_logger.handlers[0]

  assert_equal(25 * 1024 ** 3, audit_handler.maxBytes)
  assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers)
  assert_true(isinstance(audit_handler, AuditHandler), audit_logger.handlers)

  audit_logger = get_audit_logger()
  assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers) # Not adding handler twice

  # Cleanup
  audit_logger.removeHandler(audit_handler)

  for r in reset:
    r()
Example #7
0
def test_one_audit():
  with tempfile.NamedTemporaryFile("w+t") as log_tmp:

    # KB
    reset = [
        AUDIT_EVENT_LOG_DIR.set_for_testing(log_tmp.name),
        AUDIT_LOG_MAX_FILE_SIZE.set_for_testing('25KB')
    ]

    audit_logger = get_audit_logger()
    audit_handler = audit_logger.handlers[0]

    assert_equal(25 * 1024 ** 1, audit_handler.maxBytes)
    assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers)
    assert_true(isinstance(audit_handler, AuditHandler), audit_logger.handlers)

    audit_logger = get_audit_logger()
    assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers) # Not adding handler twice

    # Cleanup
    audit_logger.removeHandler(audit_handler)

    for r in reset:
      r()

    # MB
    reset = [
        AUDIT_EVENT_LOG_DIR.set_for_testing(log_tmp.name),
        AUDIT_LOG_MAX_FILE_SIZE.set_for_testing('25MB')
    ]

    audit_logger = get_audit_logger()
    audit_handler = audit_logger.handlers[0]

    assert_equal(25 * 1024 ** 2, audit_handler.maxBytes)
    assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers)
    assert_true(isinstance(audit_handler, AuditHandler), audit_logger.handlers)

    audit_logger = get_audit_logger()
    assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers) # Not adding handler twice

    # Cleanup
    audit_logger.removeHandler(audit_handler)

    for r in reset:
      r()

    # GB
    reset = [
        AUDIT_EVENT_LOG_DIR.set_for_testing(log_tmp.name),
        AUDIT_LOG_MAX_FILE_SIZE.set_for_testing('25GB')
    ]

    audit_logger = get_audit_logger()
    audit_handler = audit_logger.handlers[0]

    assert_equal(25 * 1024 ** 3, audit_handler.maxBytes)
    assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers)
    assert_true(isinstance(audit_handler, AuditHandler), audit_logger.handlers)

    audit_logger = get_audit_logger()
    assert_equal(len(audit_logger.handlers), 1, audit_logger.handlers) # Not adding handler twice

    # Cleanup
    audit_logger.removeHandler(audit_handler)

    for r in reset:
      r()