Authentication refers to the process of verifying user identity before allowing access. The configuration object which controls authentication in cOS Stream is the AuthenticationProfile object. Each profile defines a specific set of parameters for performing authentication.
To enable authentication, authentication profiles must be associated with other configuration objects. For example, an IPsec interface can have a profile associated with it so that roaming clients that connect through the IPsec tunnel, trigger the authentication described by the profile.
An AuthenticationProfile object has the following key properties:
Agent Type
This is the type of authentication that will be used. The choices are:
BASIC - This is the default and indicates standard username/password authentication. For example, the profile associated with the RemoteMgmtSSH object should have this agent type to allow administration SSH access.
EAP - This option is used in I-WLAN scenarios with IKEv2 IPsec tunnels. It encompasses three types of EAP payloads:
Any of these EAP types can be explicitly disabled in the AuthenticationProfile object. For example, to disable MD5, the property AllowEAP_MD5 would be given a value of No.
LocalUserDB
This is the LocalUserDatabase that will be used to authenticate users. If no local database is used, it should be set to an empty string: LocalUserDB="".
RemoteServer
This is a list of one or more RadiusServer that will be used for authentication. They can be used instead of a user database.
RemoteLoadBalance
This is the algorithm that is used to spread RADIUS requests amongst multiple RADIUS servers.
AuthOrder
If both a local database and RADIUS server(s) are specified, this determines which to use first for authentication.
MultipleLogins
This determines if multiple logins by the same username are allowed. If they are, the maximum number of logins is controlled by the MaxMultipleSessions property. The possible options are:
SessionTimeout
The amount of time with no activity before the session is disconnected.
LoginAttempts
The maximum number of attempts to login before a username is locked out.
MaxLockoutTime
The time that a username is prevented from trying to log in once a lockout occurs.
BruteForceAttackPrevention
This sets a rate limit on the number of retries that can be attempted from the same IP address. This is enabled by default.
Example 17.1. Creating an Authentication Profile with a Local User Database
This example creates an authentication profile called int_auth that will reference a local user database called int_users that has already been defined. No RADIUS servers will be used.
Command-Line Interface
System:/>
add AuthenticationProfile int_auth
LocalUserDB=int_users
Example 17.2. Creating an Authentication Profile with RADIUS Servers
This example creates an authentication profile called ext_auth that will reference two RADIUS servers called rad1_server and rad2_server. A local database will not be used.
Command-Line Interface
System:/>
add AuthenticationProfile ext_auth
LocalUserDB=""
RemoteServer=rad1_server,rad2_server