Radius Single Sign-On (RSSO)

O FortiOS disponibiliza a autenticação de forma transparente através do RSSO para ambientes utilizando Radius, esse modo de operação realiza um Single Sign-ON (SSO) através de mensagens de Accounting Start e Accounting Stop para realizar o Logon e Logoff dos usuários, essas mensagens são enviadas pelo servidor que realizou o logon do usuário, exemplo um usuário realiza o logon em um serviço de WIFI e esse por sua vez envia ao FortiGate a mensagem de Accounting Start contendo algumas informações, como o nome do usuário, endereço IP, Grupo que pertence entre outros, com base nessas informações o FortiOS autentica o usuário de forma automática, sem a necessidade de interação por parte deste.


Essas informações enviadas são conhecidas como atributos (attributes) do Radius,  FortiOS por padrão utiliza a informação enviadas nos atributos Calling-Station-Id como o nome do usuário, Class é utilizado para identicação do
grupo, Framed-IP-Address IP do usuário, o atributo Acct-Status-Type informa se é uma informação de logon (Start) ou logo (Stop).
Os atributos enviados podem variar dependendo do dispositivo que emite essas mensagens, deste modo o FortiOS permite a alteração dos atributos utilizados para identificar o nome de usuário e grupo através das opções rsso-endpoint-attribute e sso-attribute respectivamente disponível via CLI na configuração do
Servidor Radius, abaixo é apresentado os valores padrões do FortiOS :

config user radius
   edit “RSSO-Server”
    set rsso-endpoint-attribute Calling-Station-Id
    set sso-attribute Class
  next
end

 

Com base nisso podemos utilizar qualquer base de autenticação e criar inclusive o nosso próprio modulo de autenticação baseado no RSSO.

Exemplo necessitamos autenticar um usuário com base em um ID único, como por exemplo um numero de associado ou um código localizado em uma base SQL ou outra.

Não é o intuito deste post escrever ou apresentar o código para checagem deste “ID” na base e executar o scripts de envio das mensagens de accounts, por tanto irei apenas apresentar a configuração do FortiGate.

Deixamos para lá o “lerolero” e vamos a pratica.

A configuração inicial no FortiOS 5.4  se dá habilitando a interface que vai receber as mensagens de radius em Network > Interface > Edite a interface  > Administrative Access e habilite a opção RADIUS Accounting como mostra a imagem abaixo:

interface-network

Após isso vamos configurar o RSSO Agent em User & Device Single Sing-On > Create New:RSSO-Agent

Para facilitar o entendimento irei alterar os campos de autenticação como mostrado abaixo:

config user radius
edit “RSSO-Agent”
set rsso-endpoint-attribute User-Name
set sso-attribute Filter-Id
next
end

A senha utilizada deve ser a mesma que será configurada no agente do RSSO.

Temos ainda realizar a configuração do grupo do RSSO em User & Device > User Group > Create new grupo-rsso

E por ultimo devemos criar a regra que será utilizada para autenticar os usuários enviados pelo Radius Agent, em Policy & Objects > IPv4 policy > Create NeCOm policy-RSSO

Com a política pronta, basta basta aguardar o envio das mensagens pelo autenticador para validarmos os usuários logados no FortiOS.

user-monitor-rsso

Com o auxilio do debug do daemon de autenticação do radius podemos ver o que ocorre no momento do recebimento da mensagem de account start.

debug-rsso

É isso, espero que tenham gostado. + Adicionar nova categoria

WIlliam Costa

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *