RADIUS - Guia rápido
Antes de começar a aprender sobre o Radius, é importante que você entenda:
- O que é AAA?
- O que é NAS?
Portanto, vamos primeiro ter uma ideia básica sobre esses dois tópicos.
O que é AAA?
AAA significa autenticação, autorização e contabilidade.
Autenticação
Refere-se à confirmação de que um usuário que está solicitando um serviço é um usuário válido.
Realizado através da apresentação de uma identidade e credenciais.
Exemplos de credenciais incluem senhas, tokens de uso único, certificados digitais e números de telefone (chamando / ligando).
Autorização
Refere-se à concessão de tipos específicos de serviço (incluindo "nenhum serviço") aos usuários com base em sua autenticação.
Pode ser baseado em restrições, por exemplo, restrições de horário, restrições de localização física ou restrições contra vários logins do mesmo usuário.
Os exemplos de serviços incluem filtragem de endereço IP, atribuição de endereço, atribuição de rota, criptografia, QoS / serviços diferenciais, controle de largura de banda / gerenciamento de tráfego, etc.
Contabilidade
Refere-se ao rastreamento do consumo de recursos de rede pelos usuários.
As informações típicas coletadas na contabilidade incluem a identidade do usuário, a natureza do serviço prestado, quando o serviço começou e quando terminou.
Pode ser usado para gerenciamento, planejamento, faturamento, etc.
O servidor AAA fornece todos os serviços acima aos seus clientes.
Protocolos AAA
Radius é um protocolo AAA para aplicações como Acesso à Rede ou Mobilidade IP. Além do Radius, temos os seguintes protocolos em AAA:
Sistema de controle de acesso ao controlador de acesso ao terminal (TACACS)
TACACS é um protocolo de autenticação remota usado para se comunicar com um servidor de autenticação comumente usado em redes Unix. O TACACS permite que um servidor de acesso remoto se comunique com um servidor de autenticação para determinar se o usuário tem acesso à rede.
TACACS +
O TACACS + fornece controle de acesso para roteadores, servidores de acesso à rede e outros dispositivos de computação em rede por meio de um ou mais servidores centralizados. Ele usa TCP e fornece serviços separados de autenticação, autorização e contabilidade. Funciona na porta 49.
DIÂMETRO
Diâmetro é uma substituição planejada de Raio.
O que é servidor de acesso à rede?
O Network Access Server (NAS) é um elemento de serviço que os clientes discam para obter acesso à rede. Um NAS é um dispositivo que possui interfaces com o backbone e com o POTS ou ISDN, e recebe chamadas de hosts que desejam acessar o backbone por meio de serviços dial-up. NAS está localizado no ponto de presença de um provedor de Internet para fornecer acesso à Internet a seus clientes.
Um servidor de acesso à rede é:
Um único ponto de acesso a um recurso remoto.
Um servidor de acesso remoto, porque permite o acesso remoto a uma rede.
Um ponto de entrada inicial para uma rede.
Um gateway para proteger o recurso protegido.
Exemplos incluem:
Verificação de acesso à Internet usando ID de usuário e senha.
VoIP, FoIP e VMoIP exigem um número de telefone ou endereço IP válido.
O cartão pré-pago de telefone usa o número do cartão pré-pago.
A figura a seguir mostra uma arquitetura básica do Radius.
RADIUS é um protocolo para transportar informações relacionadas à autenticação, autorização e configuração entre um servidor de acesso à rede que deseja autenticar seus links e um servidor de autenticação compartilhado.
RADIUS significa Serviço de usuário de discagem com autenticação remota.
RADIUS é um protocolo AAA para aplicações como acesso à rede ou mobilidade IP
Funciona em ambas as situações, Local e Móvel.
Ele usa protocolo de autenticação de senha (PAP), protocolo de autenticação de handshake de desafio (CHAP) ou protocolos de protocolo de autenticação extensível (EAP) para autenticar usuários.
Procure no arquivo de texto, servidores LDAP, banco de dados para autenticação.
Depois que os parâmetros dos serviços de autenticação foram devolvidos ao NAS.
Notifica quando uma sessão é iniciada e interrompida. Esses dados são usados para fins de cobrança ou estatísticas.
SNMP é usado para monitoramento remoto.
Ele pode ser usado como um proxy.
Aqui está um diagrama de rede simples de raio:
Aqui está uma lista de todos os principais recursos do Radius:
Modelo Cliente / Servidor
NAS funciona como um cliente para o servidor Radius.
O servidor Radius é responsável por obter solicitações de conexão do usuário, autenticar o usuário e, em seguida, retornar todas as informações de configuração necessárias para o cliente entregar o serviço ao usuário.
Um servidor Radius pode atuar como um cliente proxy para outros servidores Radius.
Segurança de rede
As transações entre um cliente e um servidor são autenticadas por meio do uso de uma chave compartilhada. Essa chave nunca é enviada pela rede.
A senha é criptografada antes de ser enviada pela rede.
Mecanismos de autenticação flexível
O Radius suporta os seguintes protocolos para fins de autenticação:
Protocal Ponto a Ponto - PPP
Protocolo de autenticação de senha - PAP
Protocolo de autenticação de handshake de desafio - CHAP
Login UNIX Simples
Protocolo Extensível
O raio é extensível; a maioria dos fornecedores de hardware e software Radius implementa seus próprios dialetos.
O protocolo sem estado, usando UDP, é executado na porta 1812.
Antes que o cliente comece a se comunicar com o servidor Radius, é necessário que a chave secreta seja compartilhada entre o cliente e o servidor e o cliente deve ser configurado para usar o servidor Radius para obter o serviço.
Assim que o Cliente estiver configurado corretamente, então:
O cliente começa com solicitação de acesso.
O servidor envia Access-Accept, Access-Reject ou Access-Challenge.
O Access-Accept mantém todos os atributos necessários para fornecer serviço ao usuário.
Códigos de raio (decimais) são atribuídos da seguinte forma:
- 1 solicitação de acesso
- 2 Acesso-Aceitar
- 3 Acesso-Rejeitar
- 4 Solicitação de contabilidade
- 5 Contabilidade-Resposta
- 11 Acesso-desafio
- 12 Status-Server (experimental)
- 13 Status-Cliente (experimental)
- 255 reservados
- Nenhum conceito Keep Alive - bom ou ruim ??
Os códigos 4 e 5 estão relacionados à Funcionalidade de contabilidade do Radius. Os códigos 12 e 13 são reservados para uso possível.
O formato do pacote do Radius é mostrado abaixo:
Code:Tem 1 octeto (1 byte) de comprimento e identifica vários tipos de pacotes. Normalmente 1 octeto significa 1 byte.
Identifier: Novamente, isso tem 1 octeto de comprimento e ajuda na correspondência de respostas com solicitações.
Length:Tem 2 octetos de comprimento e especifica o comprimento do pacote, incluindo código, identificador, comprimento e autenticador. (O pacote mínimo é de 20 octetos e o máximo é de 4.096 octetos).
Authenticator: Isso tem 16 octetos e é preenchido no caso de algumas solicitações e respostas.
List of Attributes: Existe uma lista de mais de 63 atributos e um atributo Radius também terá um formato definido que é descrito no próximo capítulo.
Um atributo Radius consiste nas seguintes três partes:
Type:1 octeto de comprimento, identifica vários tipos de atributos. É um código de atributo listado abaixo.
Length: 1 octeto de comprimento, comprimento do atributo incluindo o tipo.
Value: 0 ou mais octetos de comprimento, contém informações específicas para o atributo.
Lista de atributos RADIUS
Código | Atributos |
---|---|
1 | Nome do usuário |
2 | Senha do usuário |
3 | CHAP-senha |
4 | Endereço NAS-IP |
5 | NAS-Port |
6 | Tipo de serviço |
7 | Framed-Protocol |
8 | Endereço IP com moldura |
9 | Framed-IP-Netmask |
10 | Framed-Routing |
11 | Filter-Id |
12 | Framed-MTU |
13 | Framed-Compression |
14 | Host-IP de login |
15 | Serviço de login |
16 | Porta de login-TCP |
17 | (não atribuído) |
18 | Responder à mensagem |
19 | Callback-Number |
20 | Callback-Id |
21 | (não atribuído) |
22 | Framed-Route |
23 | Framed-IPX-Network |
24 | Estado |
25 | Classe |
26 | Específico do fornecedor |
27 | Sessão expirada |
28 | Idle-Timeout |
29 | Ação de rescisão |
30 | Called-Station-Id |
31 | Calling-Station-Id |
32 | Identificador NAS |
33 | Proxy-State |
34 | Serviço de login-LAT |
35 | Login-LAT-Node 3 |
36 | Login-LAT-Group |
37 | Framed-AppleTalk-Link |
38 | Framed-AppleTalk-Network |
39 | Framed-AppleTalk-Zone |
40-59 | (reservado para contabilidade) |
60 | CHAP-Challenge |
61 | NAS-Port-Type |
62 | Limite de porta |
63 | Login-LAT-Port |
Exemplo de solicitação de raio
Vamos dar uma olhada em um exemplo de solicitação Radius:
O NAS em 192.168.1.16 envia um pacote UDP de solicitação de acesso ao servidor RADIUS para um usuário chamado Nemo que efetua login na porta 3 com a senha "arctangent".
O Request Authenticator é um número aleatório de 16 octetos gerado pelo NAS.
A senha do usuário é 16 octetos preenchidos no final com nulos, XORed com D5 (segredo compartilhado | Solicitar autenticador).
01 00 00 38 0f 40 3f 94 73 97 80 57 bd 83 d5 cb 98 f4 22 7a 01 06 6e 65 6d 6f 02 12 0d ser 70 8d 93 d4 13 ce 31 96 e4 3f 78 2a 0a ee 04 06 c0 a8 01 10 05 06 00 00 00 03
1 Código = Solicitação de Acesso (1)
1 identificador = 0
2 Comprimento = 56
16 Solicitar Autenticador
Lista de Atributos
6 Nome de usuário = "Nemo"
18 Usuário-Senha
6 NAS-IP-Address = 192.168.1.16
6 NAS-Port = 3
Exemplo de resposta de raio
Aqui está um exemplo de pacotes de resposta:
O servidor Radius autentica o Nemo e envia um pacote UDP de aceitação de acesso ao NAS informando-o ao telnet do Nemo para o host 192.168.1.3
O Autenticador de Resposta é uma soma de verificação MD5 de 16 octetos do código (2), id (0), Comprimento (38), o Autenticador de Solicitação de cima, os atributos nesta resposta e o segredo compartilhado.
02 00 00 26 86 fe 22 0e 76 24 ba 2a 10 05 f6 bf 9b 55 e0 b2 06 06 00 00 00 00 01 0f 06 00 00 00 00 0e 06 c0 a8 01 03
1 Código = Acesso-Aceitar (2)
1 identificador = 0 (o mesmo que na solicitação de acesso)
2 Comprimento = 38
16 Response Authenticator
Lista de atributos:
6 Tipo de serviço (6) = Login (1)
6 Serviço de login (15) = Telnet (0)
6 Host de IP de login (14) = 192.168.1.3
Diâmetro é uma substituição planejada de RADIUS. É um protocolo AAA para aplicações como acesso à rede e mobilidade IP. Listados abaixo estão alguns pontos que você precisa saber sobre o diameter:
Destina-se a funcionar em situações AAA locais e em roaming.
O diâmetro é apenas o dobro do protocolo predecessor, Radius.
Ele usa TCP ou SCTP e não UDP.
Ele usa segurança de nível de transporte (IPSEC ou TLS).
Possui identificador de 32 bits em vez de 8 bits.
Ele oferece suporte ao modo sem estado e também com estado.
Suporta reconhecimento de camada de aplicativo, define failover.
Oferece melhor suporte de roaming.
Ele usa AVPs.
Diâmetro permite definir novos comandos e atributos. É fácil estender.
O que vem a seguir?
Agora você tem um conhecimento básico de raio e diâmetro. Para obter mais conhecimento sobre esses protocolos, você precisa examinar vários RFCs e outros recursos mencionados na seção Recursos.