Project

General

Profile

Troubleshooting

User Accounts from the RADIUS Server Cannot Log In

This can be due to a number of issues. View the related logs with the following search to determine why users cannot log in:

index=_internal ( (UserManagerPro OR HTTPAuthManager) AND sourcetype="splunkd" ) OR sourcetype="radius_auth*" 

Roles are Not Being Loaded from the RADIUS Server

Incorrect vendor code or attribute ID is the most common reasons for roles not being loaded from the RADIUS server. Use the following search to view the attributes that are loaded when a user successfully authenticates (note that you will need to successfully login using a RADIUS server user to see the attributes):

index=_internal "Received the following fields upon login" sourcetype="radius_auth" 

Splunk is Still Using the Credentials from my Local Account

Users will be authenticated via RADIUS unless they have a local account. Splunk gives local accounts priority over scripted auth users and therefore will not use RADIUS for accounts where a local account already exists.

Authentication Test on Setup Screen Fails Indicating "Unable to validate credentials against the server ..."

The logs likely provide more details regarding why the authentication attempt failed. You can see the relevant logs by searching for the sourcetype "radius_auth" in the internal index:

index=_internal sourcetype="radius_auth"

The log message will probably look something like "Exception triggered when attempting to contact the RADIUS server" and should include details regarding why the authentication attempt failed.

The Setup Screen Fails Indicating That The REST Handler Failed (on Splunk 6.0+)

This is due to a bug in Splunk which causes it to no longer tell users that the input was invalid. Most likely, something is wrong with the input. Likely problems are: the test user account information could not validate (if provided) or the attribute ID for getting the roles information is incorrect.

I have users listed in Splunk that no longer exist; how do I remove them?

The RADIUS app has no way to know whether or not users have been removed from the RADIUS server. This means you may have users listed in Splunk even though they wouldn't be able to authenticate (since the RADIUS would reject them). These can be removed by using the clearradiuscache search command that is included with version 1.4 and later.

To use it, assign the necessary Splunk who is going to run the search command account the permission "clear_radius_user_cache" (or use an account with "admin_all_objects").

Next, run the search command to clear the cache of the given users. You can run it on individual user accounts or you can have the command delete entries for users that have not authenticated for a certain time.

Below is an example that drops users that have not authenticated within the last 30 days:

| clearradiuscache days_ago=30

You can also run a test just to see what entries the command would remove before running it:

| clearradiuscache days_ago=30 test=1

You can also remove a particular users from the list too:

| clearradiuscache user="bob" 
Here are some things you ought to know:
  • The user account you removed from the RADIUS app cache will not be removed from Splunk user's list instantly. Just wait for a few minutes them to be removed from Splunk's list.
  • Removing an entry from the cache does not prevent them from re-authenticating. Instead, it just prevents Splunk from listing them in its user list. If the user authenticates again, a new entry will be created.
  • A saved-search is included which will remove the entries automatically once a user has not authenticated within 90 days. You can modify the search to purge entries if you want it to remove entries quicker (like after 30 days of inactivity). See the search titled "Prune Old RADIUS Cache Entries".
  • Cached entries created by the RADIUS app before version 1.4.0 do not have the date of last login and will need to be manually removed by username (e.g. '| clearradiuscache user="bob"')