-
-
Notifications
You must be signed in to change notification settings - Fork 436
Unauthorized agents should be recorded into logs #5725
Copy link
Copy link
Closed
Labels
bugUndesired behaviourUndesired behaviourconfirmedBug is confirm by dev teamBug is confirm by dev teamresolvedA fixed issueA fixed issue
Milestone
Description
If you dont have a reverse DNS or IP set for the remote poller to verify the main poller
an error reporting you are not authorized to use this service should appear
However I am seeing it does not
here is the function
if (get_nfilter_request_var('action') == 'runquery') {
db_force_remote_cnn();
}
$poller_db_cnn_id = $remote_db_cnn_id;
} else {
$poller_db_cnn_id = false;
}
if (!remote_client_authorized()) {
print 'FATAL: Client authorization failed. You are not authorized to use this service';
exit;
}
set_default_action();
function remote_client_authorized() {
global $config, $poller_db_cnn_id;
/* don't allow to run from the command line */
$client_addr = get_client_addr();
if ($client_addr === false) {
return false;
}
if (!filter_var($client_addr, FILTER_VALIDATE_IP)) {
cacti_log('ERROR: Invalid remote agent client IP Address. Exiting');
return false;
}
$client_name = gethostbyaddr($client_addr);
if ($client_name == $client_addr) {
cacti_log('NOTE: Unable to resolve hostname from address ' . $client_addr, false, 'WEBUI', POLLER_VERBOSITY_MEDIUM);
} else {
$client_name = remote_agent_strip_domain($client_name);
}
$pollers = db_fetch_assoc('SELECT * FROM poller WHERE disabled = ""', true, $poller_db_cnn_id);
if (cacti_sizeof($pollers) > 1) {
foreach($pollers as $poller) {
if (remote_agent_strip_domain($poller['hostname']) == $client_name) {
return true;
} elseif ($poller['hostname'] == $client_addr) {
return true;
}
}
}
cacti_log("Unauthorized remote agent access attempt from $client_name ($client_addr)");
return false;
}
``
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugUndesired behaviourUndesired behaviourconfirmedBug is confirm by dev teamBug is confirm by dev teamresolvedA fixed issueA fixed issue