FreeRADIUS - Noções básicas - Parte III

Terceira parte do artigo sobre noções básicas de FreeRADIUS.

[ Hits: 9.278 ]

Por: Perfil removido em 15/07/2015


Seções de processamento de pacotes



As seções de processamento formam o motor que impulsiona as políticas do servidor. Quando o servidor recebe uma requisição ou envia uma resposta, uma ou mais seções de processamento são executadas. O comportamento do servidor e as informações que entram nas respostas, são determinadas unicamente pela forma como as seções são processadas.

O processamento de uma requisição, depende de quatro peças de informação:
  • Os dados associados com a requisição;
  • O conteúdo da seção de processamento;
  • Uma ação em cada tabela associada a uma seção de processamento;
  • O algoritmo de processamento em si.

O conteúdo de uma seção de processamento é composto por declarações escritas na (como diria Sheldon Cooper) "não linguagem" chamada Unlang. Esse conjunto de instruções é usado por FreeRADIUS para processar requisições e funciona como uma pseudolinguagem de programação.

O manual de Unlang pode ser encontrado em:
Obviamente, para uma instalação básica de FreeRADIUS, não é necessário entender as seções de processamento em detalhes profundos. Vejamos termos e definições básicos.

Requisições

Um número de listas de atributos é associado a cada requisição recebida no servidor (?). As listas são nomeadas. O significado dos nomes dessas listas é dado pela tabela abaixo. Atributos são referenciados por seus nomes na lista, seguidos de dois pontos e seu nome literal de atributo. Por exemplo: request:User-Name

Cada lista serve a um propósito particular. Os módulos podem editar uma ou mais listas. Por exemplo, o módulo mschap adiciona o atributo MS-CHAP na lista reply. O administrador pode usar Unlang para editar a lista diretamente.

A tabela a seguir, relaciona as listas associadas com uma requisição RADIUS:
Cada requisição é passada através de uma ou mais seções de processamento. As seções e seus significados são dados na tabela a seguir:
Cada seção de processamento possui uma lista de módulos para executar um conjunto de declarações Unlang. A lista é processada na ordem de apresentação: de cima para baixo.

Em alguns casos, as listas não são processadas até o fim; algumas partes podem ser puladas ou o processamento pode retornar ao início da lista. Por exemplo, se durante a análise da requisição um pacote rejeitar (reject) for enviado, em função de uma regra da política, não há motivo para continuar o processando nesta lista.

Quando um módulo é executado, um código de retorno como reject, noop ou ok, é enviado como resultado. Esses códigos de retorno controlam o processamento da lista. A tabela a seguir exibe os nomes dos códigos de retorno e seus significados:
    Próxima página

Páginas do artigo
   1. Seções de processamento de pacotes
   2. Tabela de ação
   3. Contabilidade
Outros artigos deste autor

Trabalhando com permutações em ordem lexicográfica crescente

Network Mapper - Nmap

Checando vulnerabilidades com o Nikto

Rodando o macOS com Docker, qemu, e KVM

Introduzindo um pouco mais a fundo o shell script (revisado)

Leitura recomendada

VPN FreeSWan IPSec

Gerenciamento centralizado de usuários de rede com GOSA

Instalação do APT no SuSE 9.3

Impressoras/scanners e multifuncionais Insigne GNU/Linux

Cluster Beowulf

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts