MXS-421 Log event in case of authentication failure
- CDC authenticator - MySQL authenticator - PAM authenticator
This commit is contained in:
parent
6dd479104f
commit
d0c74b5c8f
@ -32,6 +32,7 @@
|
||||
#include <sys/stat.h>
|
||||
#include <cdc.h>
|
||||
#include <maxscale/alloc.h>
|
||||
#include <maxscale/event.hh>
|
||||
#include <maxscale/modulecmd.h>
|
||||
#include <maxscale/modutil.h>
|
||||
#include <maxscale/paths.h>
|
||||
@ -267,8 +268,9 @@ cdc_auth_authenticate(DCB *dcb)
|
||||
}
|
||||
else if (dcb->service->log_auth_warnings)
|
||||
{
|
||||
MXS_NOTICE("%s: login attempt for user '%s', authentication failed.",
|
||||
dcb->service->name, client_data->user);
|
||||
MXS_LOG_EVENT(maxscale::event::AUTHENTICATION_FAILURE,
|
||||
"%s: login attempt for user '%s', authentication failed.",
|
||||
dcb->service->name, client_data->user);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <maxscale/protocol/mysql.h>
|
||||
#include <maxscale/authenticator.h>
|
||||
#include <maxscale/alloc.h>
|
||||
#include <maxscale/event.hh>
|
||||
#include <maxscale/poll.h>
|
||||
#include <maxscale/paths.h>
|
||||
#include <maxscale/secrets.h>
|
||||
@ -312,13 +313,15 @@ mysql_auth_authenticate(DCB *dcb)
|
||||
{
|
||||
if (dcb->path)
|
||||
{
|
||||
MXS_WARNING("%s: login attempt for user '%s'@[%s]:%s, authentication failed.",
|
||||
dcb->service->name, client_data->user, dcb->remote, dcb->path);
|
||||
MXS_LOG_EVENT(maxscale::event::AUTHENTICATION_FAILURE,
|
||||
"%s: login attempt for user '%s'@[%s]:%s, authentication failed.",
|
||||
dcb->service->name, client_data->user, dcb->remote, dcb->path);
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_WARNING("%s: login attempt for user '%s'@[%s]:%d, authentication failed.",
|
||||
dcb->service->name, client_data->user, dcb->remote, dcb_get_port(dcb));
|
||||
MXS_LOG_EVENT(maxscale::event::AUTHENTICATION_FAILURE,
|
||||
"%s: login attempt for user '%s'@[%s]:%d, authentication failed.",
|
||||
dcb->service->name, client_data->user, dcb->remote, dcb_get_port(dcb));
|
||||
}
|
||||
|
||||
if (is_localhost_address(&dcb->ip) &&
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
#include <sstream>
|
||||
#include <security/pam_appl.h>
|
||||
#include <maxscale/event.hh>
|
||||
|
||||
using maxscale::Buffer;
|
||||
using std::string;
|
||||
@ -169,11 +170,13 @@ bool validate_pam_password(const string& user, const string& password, const str
|
||||
case PAM_USER_UNKNOWN:
|
||||
case PAM_AUTH_ERR:
|
||||
// Normal failure, username or password was wrong.
|
||||
MXS_WARNING(PAM_AUTH_ERR_MSG, user.c_str(), pam_strerror(pam_handle, pam_status));
|
||||
MXS_LOG_EVENT(maxscale::event::AUTHENTICATION_FAILURE,
|
||||
PAM_AUTH_ERR_MSG, user.c_str(), pam_strerror(pam_handle, pam_status));
|
||||
break;
|
||||
default:
|
||||
// More exotic error, log as error.
|
||||
MXS_ERROR(PAM_AUTH_ERR_MSG, user.c_str(), pam_strerror(pam_handle, pam_status));
|
||||
// More exotic error
|
||||
MXS_LOG_EVENT(maxscale::event::AUTHENTICATION_FAILURE,
|
||||
PAM_AUTH_ERR_MSG, user.c_str(), pam_strerror(pam_handle, pam_status));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -414,4 +417,4 @@ bool PamClientSession::extract(DCB *dcb, GWBUF *buffer)
|
||||
break;
|
||||
}
|
||||
return rval;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user