To configure RSSO agent look here: http://docs.forticare.com/fos50hlp/50/index.html#page/FortiOS%205.0%20Help/RADIUS-SSO.063.05.html
To configure RSSO groups look here: http://docs.forticare.com/fos50hlp/50/index.html#page/FortiOS%25205.0%2520Help/RADIUS-SSO.063.08.html#ww1368148
An example of use: http://docs.forticare.com/fos50hlp/50/index.html#page/FortiOS%25205.0%2520Help/RADIUS-SSO.063.10.html#ww1369337
Currently, RSSO allows for following attributes:
rsso - enable/disable RADIUS based single sign on feature
rsso-radius-server-port - UDP port to listen on for RADIUS accounting packets
rsso-radius-response - enable/disable sending radius response packets
rsso-validate-request-secret - enable/disable validating RADIUS request shared secret
rsso-secret - RADIUS shared secret for responses / validating requests
rsso-endpoint-attribute - RADIUS Attribute used to hold End Point name
rsso-endpoint-block-attribute - RADIUS Attribute used to hold endpoint to block
sso-attribute - RADIUS Attribute used to match the single sign on group value
sso-attribute-key - key prefix for the single sign on group value in the 'sso-attribute'
rsso-context-timeout - timeout value for RADIUS server database entries (0 = infinite)
rsso-log-period - minimum time period to use for event logs
rsso-log-flags - events to log
rsso-flush-ip-session - enable/disable flush user IP sessions on RADIUS accounting stop
Following config should be used for our setup:
Enable in the interface port settings(Global-Network-Interface) the option to listen to accounting messages. Then configure through CLI or a combination of Web Interface and CLI the following:
edit "RSSO_Agent"
set rsso enable
set rsso-radius-server-port 1813
set rsso-radius-response enable
set rsso-validate-request-secret enable
set rsso-secret ENC *****
set rsso-endpoint-attribute User-Name
set rsso-endpoint-block-attribute Called-Station-Id
set sso-attribute Vendor-Specific
set sso-attribute-key '6'
set rsso-context-timeout 28800
set rsso-log-period 0
set rsso-log-flags protocol-error profile-missing context-missing accounting-stop-missed accounting-event endpoint-block radiusd-other
set rsso-flush-ip-session disable
next
--- Set the shared secret between Radius server and Fortigate unit.
--- We need to classify the users based on their user names. Since we know that all our authentications come from a single AD service, a user that has two, three, four devices/sessions should have the same quota for all devices.
---- Remember that our Aerohive units send Radius accounting packets to Fortigate. These packets contain Vendor specific attributes that contain group numbers.
However, we have been told by Fortigate support that two of them are there by mistake! That means that: sso-attribute-key and sso-attribute with value Vendor-Specific should not be available as options.This also means that Fortinet's implementation of Radius accounting parser is not feature complete and takes into account only basic attributes.
Moreover, the support states that:
- "RSSO uses only build in parameter set, and cannot be used in the same policy with FSSO users. You can use it with two different rules with FSSO if you don't use FSSOguest users" - this means that FSSO-Guest and RSSO are not compatible and FSSO and RSSO need to be separated in different policies.
- "Web filter work for all users, but Quota work only for "authenticated" users. That's mean it will not work for RSSO users,until we will allow for RSSO users to be "authenticated" users in next releases, and will not work for BYOD non-authenticated users." - this means that users authenticated with RSSO are not authenticated at all! In fact, in the current release(FortiOS 5.0 Build 0128) RSSO seems to be totally useless functionality. What can it do?
"1. RSSO is nt really "authenticated" users, like FSSO or LDAP for now. This option allow you to assign specific IP's to corresponding groups. The only limitation between LDAP user and FSSO user is using quota.
Since it is not "authenticated", you cannot use it with FSSO users in the same policy. This is a new feature, and will be extended in next releases." - Now everything is clear! After three months of suffering we got it. It was never made to work as authentication method similar to FSSO, LDAP etc. It is simply a way for large providers to assign IPs based on Radius records. Why the documentation says nothing? Why your own engineers do not know nothing about it?
"2. The Vendor-Specific was added by mistake, and cannot work by design. For "Vendor-Specific" you need tree parameters:
a. Attribute - It's Vendor-Specific in our case.
b. VS Attribute - This is not exist in our firmware.
c. attribute key - Used for parsing Attribute parameter, if Radius send not "
Since we cannot configure "VS Attribute", "Vendor-Specific" will never work. This option will be removed from our firmware.
Update from 09 May 2013: VendorSpecific sso-attribute is still in the latest built (v5.0,build0179 (GA Patch 2)) but it does not work.
Update from 28 May 2013: Confirmed with Fortinet support - the VendorSpecific attribute will be removed and will not work (the only question is when).