| m (Shin moved page Pass-Through Authentication to Pass-Through Authentication (PTA)) | |||
| Line 1: | Line 1: | ||
| __FORCETOC__ | __FORCETOC__ | ||
| === RADIUS > Settings > PTA === | === RADIUS > Settings > PTA === | ||
| + | A pass-through authentication enables the RADIUS server to confer with another entity(e.g. windows security database, oracle, and so on) to validate the user's username and password.<ref>Jim Geier, Implementing 802.1X Security Solutions for Wired and Wireless Networks</ref> | ||
| − | imRAD  | + | The imRAD directly connects to a customer database, and then executes a query to validate a user. | 
| − | + | By this setting, a user can be authenticated without migration the user information from a customer database to the imRAD database.<br> | |
| − | + | You can add up to 4 entities and we support the following. | |
| + | <pre> | ||
| + | * MariaDB | ||
| + | * MySql | ||
| + | * Oracle 11g ~ 19c | ||
| + | * Microsoft SQL Server 2014 ~ 2019 | ||
| + | * Tibero 6 | ||
| + | * PostgreSQL 12 | ||
| + | * SYBASE | ||
| + | </pre> | ||
| + | |||
| + | The imRAD decrypts the password in the ACCESS-REQUEST from a user, and then executes a stored function with two arguments after connecting a remote databgase. | ||
| + | One argument is the User-Name and another is the User-Password decrypted as plaintext.<br> | ||
| + | So, You must prepare a stored function to validate a user. | ||
| + | |||
| + | If a ACCESS-REQUEST is encrypted to a [[RADIUS Authentication testing | EAP method ]] of which can not decrypt the User-Password attribute, the imRAD RADIUS can not get the correct result. | ||
| − | ====  | + | If more than 2 PTAs exist, the imRAD RADIUS executes each query until validate a user. | 
| − | + | ||
| − | + | ==== Edit PTA ==== | |
| + | You can add a new entity by click "Add" button at the left bottom below the PTA list. If there are 4 entities, It does not show the "Add" button. If you want to change or delete a entity, click the [[File:popup.png]] icon in front of each entity. | ||
| {| class="wikitable" | {| class="wikitable" | ||
| − | !  | + | ! Item!! Required !! Description | 
| |- | |- | ||
| − | |  | + | | style='width:150px' | Name || No || It is the display name of a remote entity to distinguish it from others. | 
| |- | |- | ||
| − | | DBMS  | + | | DBMS Type || Yes || Choose one of them. | 
| |- | |- | ||
| − | |  | + | | Server address || Yes || Input the IP address of the database. | 
| |- | |- | ||
| − | |  | + | | Port || Yes || Input the port number to connect the database. | 
| |- | |- | ||
| − | |  | + | | Username || Yes || Input a username to access the database. | 
| |- | |- | ||
| − | |  | + | | Password || Yes || Input a password to access the database.<ref>The imRAD strongly encrypts the input password and save it.</ref> | 
| |- | |- | ||
| − | |  | + | | Database || Yes || If a DBMS is Oracle, Input a SID. Otherwise, input the name of database or schema that executes a stored function. | 
| |- | |- | ||
| − | |  | + | | PTA Query  || Yes || Input a query to validate a user. Please refer to the below "Stored Function examples" for details. | 
| |- | |- | ||
| |} | |} | ||
| − | ===== Stored  | + | ===== Stored Function examples ===== | 
| − | + | When a user is valid, the result must be ''''OK'''' in a "SELECT" query which calls a stored function.<br> | |
| − | User- | + | You have to input the User-Name argument as "'''##SU_NAME##'''" and the User-Password argument as "'''##U_PWD##'''" | 
| <pre> | <pre> | ||
| − | #  | + | # Using a user defined Mysql stored function that returns 'Y' when the User-Name and User-Password match. | 
| SELECT 'OK' WHERE test(##SU_NAME##, ##U_PWD##) = 'Y' | SELECT 'OK' WHERE test(##SU_NAME##, ##U_PWD##) = 'Y' | ||
| − | #  | + | # Using a user defined Oracle stored function(i.e. FNC_USER) that returns 1 when the User-Name and User-Password match. | 
| SELECT 'OK' FROM DUAL WHERE FNC_USER(##SU_NAME##, ##U_PWD##) = 1 | SELECT 'OK' FROM DUAL WHERE FNC_USER(##SU_NAME##, ##U_PWD##) = 1 | ||
| − | #  | + | # Using a user defined MS-SQL stored function that returns 'OK' when the User-Name and User-Password match. | 
| SELECT dbo.fnc_mssql_user(##SU_NAME##, ##U_PWD##) | SELECT dbo.fnc_mssql_user(##SU_NAME##, ##U_PWD##) | ||
| </pre> | </pre> | ||
| − | =====  | + | ===== Advanced ===== | 
| − | + | * NAS-Identifier: If you choose a NAS-Identifier, a ACCESS-REQUEST only from the [[NAS-Identifier]] passes to this PTA. | |
| + | |||
| <br><hr> | <br><hr> | ||
Revision as of 17:32, 6 April 2021
RADIUS > Settings > PTA
A pass-through authentication enables the RADIUS server to confer with another entity(e.g. windows security database, oracle, and so on) to validate the user's username and password.[1]
The imRAD directly connects to a customer database, and then executes a query to validate a user.
By this setting, a user can be authenticated without migration the user information from a customer database to the imRAD database.
You can add up to 4 entities and we support the following.
* MariaDB * MySql * Oracle 11g ~ 19c * Microsoft SQL Server 2014 ~ 2019 * Tibero 6 * PostgreSQL 12 * SYBASE
The imRAD decrypts the password in the ACCESS-REQUEST from a user, and then executes a stored function with two arguments after connecting a remote databgase.
One argument is the User-Name and another is the User-Password decrypted as plaintext.
So, You must prepare a stored function to validate a user.
If a ACCESS-REQUEST is encrypted to a EAP method of which can not decrypt the User-Password attribute, the imRAD RADIUS can not get the correct result.
If more than 2 PTAs exist, the imRAD RADIUS executes each query until validate a user.
Edit PTA
You can add a new entity by click "Add" button at the left bottom below the PTA list. If there are 4 entities, It does not show the "Add" button. If you want to change or delete a entity, click the  icon in front of each entity.
 icon in front of each entity.
| Item | Required | Description | 
|---|---|---|
| Name | No | It is the display name of a remote entity to distinguish it from others. | 
| DBMS Type | Yes | Choose one of them. | 
| Server address | Yes | Input the IP address of the database. | 
| Port | Yes | Input the port number to connect the database. | 
| Username | Yes | Input a username to access the database. | 
| Password | Yes | Input a password to access the database.[2] | 
| Database | Yes | If a DBMS is Oracle, Input a SID. Otherwise, input the name of database or schema that executes a stored function. | 
| PTA Query | Yes | Input a query to validate a user. Please refer to the below "Stored Function examples" for details. | 
Stored Function examples
When a user is valid, the result must be 'OK' in a "SELECT" query which calls a stored function.
You have to input the User-Name argument as "##SU_NAME##" and the User-Password argument as "##U_PWD##"
# Using a user defined Mysql stored function that returns 'Y' when the User-Name and User-Password match. SELECT 'OK' WHERE test(##SU_NAME##, ##U_PWD##) = 'Y' # Using a user defined Oracle stored function(i.e. FNC_USER) that returns 1 when the User-Name and User-Password match. SELECT 'OK' FROM DUAL WHERE FNC_USER(##SU_NAME##, ##U_PWD##) = 1 # Using a user defined MS-SQL stored function that returns 'OK' when the User-Name and User-Password match. SELECT dbo.fnc_mssql_user(##SU_NAME##, ##U_PWD##)
Advanced
- NAS-Identifier: If you choose a NAS-Identifier, a ACCESS-REQUEST only from the NAS-Identifier passes to this PTA.