• Nenhum resultado encontrado

Desenvolvimento de um ambiente de gerDesenvolvimento de um ambiente de gerenciamento centralizado para autenticação, autorização e auditoria em um cenário de rede heterogênea

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de um ambiente de gerDesenvolvimento de um ambiente de gerenciamento centralizado para autenticação, autorização e auditoria em um cenário de rede heterogênea"

Copied!
186
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Desenvolvimento de um ambiente de gerenciamento centralizado

para autenticação, autorização e auditoria em um cenário de rede

heterogênea

Luís Fernando Cordeiro

Florianópolis – SC

2012/2

(2)

UNIVERSIDADE FEDERAL DE SANTA CATARINA

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA

CURSO DE SISTEMAS DE INFORMAÇÃO

Desenvolvimento de um ambiente de gerenciamento centralizado

para autenticação, autorização e auditoria em um cenário de rede

heterogênea

Luís Fernando Cordeiro

07238071

Florianópolis – SC

2012/2

Trabalho de conclusão de curso

apresentado como parte dos

requisitos para a obtenção do

grau de Bacharel em Sistemas

de Informação.

(3)

Luís Fernando Cordeiro

Desenvolvimento de um ambiente de gerenciamento centralizado

para autenticação, autorização e auditoria em um cenário de rede

heterogênea

Trabalho de conclusão de curso apresentado como parte dos requisitos para

obtenção do grau de Bacharel em Sistemas de Informação.

__________________________________________________

Profa. Dra. Carla Merkle Westphall

Orientadora

__________________________________________________

Prof. Dr. Carlos Becker Westphall

__________________________________________________

Edison Tadeu Lopes Melo

(4)

Resumo

O presente trabalho de conclusão de curso possui como tema o estudo, o

desenvolvimento e a implantação de um sistema de autenticação centralizado para

equipamentos de rede, utilizando como base tecnologias padronizadas e livres. Ao

longo do trabalho, são apresentadas as análises realizadas sobre os principais

protocolos que envolvem as áreas de Autenticação, Autorização e Contabilização

(AAA) (METZ,1999), como RADIUS (IETF 2865, 2000) e TACACS+ (METZ,1999).

Além da parte teórica, foram desenvolvidas duas aplicações, uma para suporte e

outra para a gerência do ambiente. Foram realizados ainda testes com uma

aplicação já consolidada no mercado, a qual se mostrou muito completa mas pouco

adaptável a ambientes de rede heterogêneas. Por fim, denota-se do estudo da nova

estrutura que além de suportar uma variedade maior de equipamentos, é possível

customizar ainda mais o ambiente e expandir o seu uso para computadores

pessoais e servidores, sendo eles Windows ou Linux, o que será indicado como

trabalhos futuros.

Palavras-chave:

openLDAP, TACACS+, AAA, Gerenciamento de

Identidades.

(5)

Lista de Figuras

Figura 1 - Modo de Autenticação de Três Partes. Fonte: Todorov (2007) ... 15  

Figura 2 - Troca de mensagens usando RADIUS. Fonte: CISCO (2008) ... 18  

Figura 3 - Troca de mensagens usando TACACS+. Fonte: CISCO (2008) ... 19  

Figura 4 - Comparação entre o X.500 e o LDAP ... 24  

Figura 5 - Exemplo de uma árvore de diretório LDAP ... 25  

Figura 6 - Exemplo dos atributos de um objeto ... 26  

Figura 7 - Processo de autenticação atual ... 30  

Figura 8 - Arquitetura do ambiente proposto ... 32  

Figura 9 - Infraestrutura de rede dos servidores ... 34  

Figura 10 - Fluxo dos dados no ambiente proposto ... 36  

Figura 11 - Exemplo de Configuração de usuários no tac_plus ... 40  

Figura 12 - Exemplo de uma entrada LDAP com suporte ao TAC_PLUS MAVIS .... 43  

Figura 13 - Exemplo de configuração de níveis de privilégios ... 44  

Figura 14 - Exemplo de configurações de grupos de equipamentos ... 45  

Figura 15 - Definições de especificações de tempo e ACLs ... 46  

Figura 16 - Roteador Cisco 7606 ... 49  

Figura 17 - Switch 3Com 5500G ... 49  

Figura 18 - D-Link DGS 3100 PoE ... 50  

Figura 19 - Cisco WLC 5500 ... 51  

Figura 20 - Interface de Logs - logs de comandos ... 53  

Figura 21 – Interface de Logs - logs de acessos ... 54  

Figura 22 - Interface de Logs - logs de acessos 2 ... 55  

Figura 23 - Interface de gerência - visão inicial ... 56  

Figura 24 - Interface de gerência - acompanhamento de comandos ... 57  

Figura 25 - Interface de gerência - adicionar usuário ... 58  

(6)

Lista de Abreviaturas

TACACS – Terminal Access Controller Access-Control System

RADIUS – Remote Authentication Dial in User Service

LDAP – Lightweight Directory Access Protocol

IEEE – Institute of Eletrical and Eletronics Engineers

AAA – Authentication, Authorization and Accounting

ISP – Internet Service Provider

NAS – Network Access Server

PAP – Password Authentication Protocol

(7)

Sumário

1. Introdução ... 7

1.1 Objetivo ... 9

1.1.1 Objetivo Geral ... 9

1.1.2 Objetivos Específicos ... 9

1.2 Justificativa ... 10

1.3 Organização do Trabalho ... 10

2. Conceitos Básicos ... 11

2.1 Autenticação, Autorização e Contabilização (AAA) ... 12

2.1.1 Autenticação ... 13

2.1.2 Autorização ... 15

2.1.3 Contabilização ... 16

2.2 Protocolos de Autenticação para equipamentos ... 17

2.2.1 RADIUS ... 17

2.2.2 TACACS+ ... 18

2.2.3 Diferenças entre RADIUS e TACACS+ ... 20

3. Tecnologias ... 22

3.1 openLDAP ... 23

3.2 TAC_PLUS ... 27

3.3 MAVIS ... 27

4. Estudo de Caso – Rede UFSC ... 29

4.1 Projeto ... 29

4.1.1 Cenário Atual ... 29

4.1.2 Cenário Proposto ... 31

4.2. Desenvolvimento ... 36

4.2.1 Cisco ACS ... 37

4.2.2 TAC_PLUS ... 39

4.3. Implantação ... 48

4.3.1 Estrutura Física ... 48

4.3.2 Implantação em Números ... 51

4.3.3 Gerência do Ambiente ... 52

4.3.4 Adequação com normas de segurança ... 60

5. Considerações Finais ... 62

5.1 Trabalhos Futuros ... 63

Referências ... 65

(8)

1. Introdução

Com o crescente número de usuários da rede UFSC, os equipamentos de

rede estão em constante mudança, seja por melhoria da infraestrutura, seja pelas

novas configurações que lhes são aplicadas.

Com esse quadro de modernização, esses equipamentos ganharam suporte a

novos protocolos, dentre os quais estão alguns que são usados para a gerência de

identidades de usuários, como o TACACS+ (METZ, 1999) e o RADIUS (IETF 2865,

2000).

Assim, é importante a utilização mais adequada das ferramentas baseadas

nos protocolos TACACS+ e RADIUS, a fim de aproveitar todas as vantagens

oferecidas, bem como permitir uma gerência mais segura dos ativos de rede.

Em um ambiente tão crítico e complexo como o de gerência da rede UFSC,

onde um comando errado pode acarretar em problemas de conectividade para

usuários e serviços, é preciso ter o maior controle possível do que é feito e por quem

é feito.

Para tanto, verifica-se a necessidade do uso de uma aplicação que realize o

gerenciamento das identidades dos usuários, para garantir que cada pessoa com

acesso ao equipamento faça apenas o que lhe é permitido e não tenha acesso total,

como acontece normalmente.

Tendo por base situações como esta, foi proposto um framework estrutural

que provê um conjunto de três funções de segurança, o AAA (Authentication,

Authorization e Accounting) (METZ, 1999). Baseado nesse framework, é possível

definir quem terá acesso (Autenticação), quais as ações que poderão ser feitas

depois de sua autenticação (Autorização), o horário que estas ações podem ser

(9)

feitas, bem como a geração de todos os logs das ações efetuadas para fins de uma

possível auditoria (Contabilização).

O presente trabalho é fundamentado nesse framework e no problema da

ausência de controle no atual ambiente de gerência da rede UFSC, que é apenas

usado nos roteadores, a fim de propor uma solução que poderá ser aproveitada para

uma variedade maior de equipamentos, desde que tenham suporte ao protocolo

TACACS+, possibilitando, assim, que o AAA seja utilizado, quando possível.

Outras questões muito importantes que envolvem a estrutura em análise diz

respeito à criticidade da aplicação, já que o acesso à gerência dos equipamentos

estará diretamente relacionada com o bom funcionamento dos servidores, à

carência de redundância dos serviços, para que, caso aconteça algum problema

com um servidor, ter um outro no mesmo estado para assumir os serviços, e à falta

de uma gerência proativa do ambiente, o que pode gerar contratempos caso

aconteçam problemas de um processo parar ou o disco encher e o administrador

não ser avisado, por exemplo.

Este trabalho tem por objeto realizar o estudo das principais tecnologias de

autenticação para equipamentos de rede, analisando seus funcionamentos e

características. Também será desenvolvida uma interface Web para a gerência do

ambiente e visualização dos logs dos usuários.

(10)

1.1 Objetivo

1.1.1 Objetivo Geral

O objetivo geral deste trabalho é projetar, desenvolver e implantar um

ambiente de autenticação centralizada para os administradores/operadores da rede

UFSC, construindo um ambiente com alta disponibilidade, diante da criticidade da

aplicação, e com segurança na troca de informações. Pretende-se utilizar apenas

implementações livres de tecnologias padrões como o OpenLDAP (BUTCHER,

2007) e o TAC_PLUS (HUBBER, 2011), que são alternativas a softwares

proprietários de empresas como Microsoft e Cisco, respectivamente.

1.1.2 Objetivos Específicos

Os objetivos específicos que podem ser citados neste trabalho são:

• Estudar o framework estrutural AAA;

• Estudar os protocolos RADIUS, TACACS+ e LDAP;

• Desenvolver uma interface web para a gerência do ambiente, cadastro de

novos usuários, grupos e equipamentos;

• Gerar alertas de status dos serviços associados com o ambiente (gerência

proativa);

(11)

1.2 Justificativa

A rede UFSC está em pleno crescimento, tanto de usuários quanto de

equipamentos e serviços. Gerenciar todos esses equipamentos, sem um controle

rigoroso, tanto de acesso, quanto de modificações, pode ser um grande problema.

Um outro problema que é enfrentado pelos administradores é que são

contratados estagiários para ajudar na gerência e melhoria da infraestrutura da rede,

e estes, quando acaba o período de estágio, conhecem todas as senhas de acesso

aos equipamentos. Existem outros mecanismo de bloqueio de acesso de fora da

rede de gerência, mas mesmo assim é um ponto de falha gravíssimo alguém

externo à organização ter as credenciais para acesso aos equipamentos.

Além disso, a universidade cada vez mais é cobrada pela Controladoria Geral

da União para melhorar suas práticas de gestão de recursos de Tecnologia da

Informação baseando-se por exemplo, na ISO/IEC 27001 (ABNT, 2006).

Percebendo estas necessidades, este estudo tem como objetivos pesquisar,

desenvolver e implantar um ambiente onde problemas como os citados não

ocorram, utilizando tecnologias livres.

1.3 Organização do Trabalho

Este trabalho está dividido em cinco capítulos. O capítulo 2 se refere as

fundamentações teóricas sobre os conceitos básicos de AAA, RADIUS e TACACS+.

No capítulo 3 serão descritas as principais tecnologias utilizadas durante o estudo e

implementação do novo ambiente. O capítulo 4 confronta o cenário atual com o

proposto, justificando a implementação do novo sistema. Apresenta os resultados

obtidos com o novo ambiente, bem como as principais configurações necessárias

(12)

para o seu funcionamento. Por fim, no capítulo 5, serão apresentadas as

considerações finais e sugestões para trabalhos futuros.

2. Conceitos Básicos

Este capítulo tem o objetivo de descrever conceitos sobre os protocolos e

tecnologias referentes ao tema de autorização, autenticação e contabilização,

auxiliando no entendimento dos estudos realizados.

De acordo com TODOROV (2007), as informações são ativos importantes das

organizações e pessoas. A divulgação, modificação imprópria ou indisponibilidade

das informações podem gerar grandes prejuízos para a organização ou ao indivíduo.

Um ativo de informação é uma parte atômica que tem significado para o indivíduo ou

à organização, de modo que cada entidade, dentro de suas possibilidades, tenta

proteger essas informações.

Ambas as entidades tem tipicamente três requisitos para a proteção de ativos

de informação, que de acordo com a ISO/IEC 27001 (ABNT, 2006) são:

• Confidencialidade – Propriedade de que a informação não esteja

disponível ou revelada a indivíduos, entidades ou processos não

autorizados;

• Integridade – Propriedade de salvaguarda da exatidão e completeza de

ativos;

• Disponibilidade – Propriedade de estar acessível e utilizável sob

demanda por uma entidade autorizada.

Na linha de evolução da segurança, MATOS (1999) sugere que, à medida

que se desenvolveram as redes de computadores e as informações passaram a

(13)

trafegar livremente por elas, as preocupações acerca da segurança deixaram de

envolver apenas a parte física, ou seja, o acesso indevido ao prédio/sala onde a

máquina se encontrava, e passaram a cuidar do risco de acesso não autorizado aos

dados, criando a necessidade de proteção pela rede.

Nesse sentido, SOARES (1995) elucida que segurança na área da tecnologia

de computadores e rede

“[...] está relacionada à necessidade de proteção contra o acesso ou

manipulação, intencional ou não, de informações confidenciais por

elementos não autorizados, e a utilização não autorizada do

computador ou de seus dispositivos periféricos. A necessidade de

proteção deve ser definida em termos das possíveis ameaças e riscos

dos objetivos de uma organização, formalizada nos termos de uma

política de segurança.”.

Para CISCO ... (2006), o AAA é uma forma segura e eficaz de fazer o referido

controle de segurança, através do qual é possível configurar o controle de acesso

aos equipamentos de rede e servidores.

NAKHJIRI (2005) entende que o AAA são três blocos importantes usados na

construção da arquitetura de uma rede, que ajuda a proteger tanto os

administradores quanto os clientes contra fraudes, ataques, gestão de recursos

inadequados e perda de informação.

2.1 Autenticação, Autorização e Contabilização (AAA)

Segundo METZ (1999), provedores de serviços de Internet (ISPs) têm mais a

se preocupar do que somente garantir o acesso à rede aos seus clientes. É preciso

ter proteção contra ataques que possam prejudicar a disponibilidade do serviço.

Devem ser estabelecidos níveis de autorização, controle de acesso e fazer o registro

de todas as ações feitas durante a conexão.

(14)

Enfrentar esses desafios de forma simplificada e escalável é a principal tarefa

da Autenticação, Autorização e Contabilização (METZ,1999). O AAA, por sua vez,

nada mais é do que um framework estrutural para coordenar todas essa áreas sob

várias tecnologias de redes e plataformas.

Alguns dos benefícios de usar o AAA em equipamentos de rede são:

• Aumento da flexibilidade e controle do acesso a configuração;

• Escalabilidade;

• Métodos de autenticação padronizados como RADIUS, TACACS+ e

Kerberos.

2.1.1 Autenticação

Para TODOROV (2007), o processo de autenticação, geralmente, consiste

em duas fases distintas: a identificação e a autenticação.

• Identificação – provê a identificação do usuário ao sistema de

segurança. Esta identidade é geralmente fornecida através de um ID

único de usuário. O sistema de segurança normalmente procura por

todos os seus objetos abstratos que ele conhece e encontra o objeto

específico para os privilégios que o usuário atual está se submetendo;

• Autenticação – é o processo de validar a identidade do usuário. O fato

de o usuário dizer que é alguém, não necessariamente significa que

isso é verdade. Para ter certeza que o usuário é quem ele diz ser, o

usuário deve fornecer informações que comprovem sua identidade ao

sistema. As evidências fornecidas por um usuário em um processo de

autenticação são chamadas credenciais. Em sistemas computacionais,

(15)

as credenciais frequentemente tomam a forma de uma senha, a qual é

um segredo conhecido apenas pelo indivíduo e o sistema.

NAKHJIRI (2005) e TODOROV (2007) ressaltam que são tipicamente três

componentes interagindo em um processo de autenticação, como demostra a Figura

1:

• Usuário – é o usuário que tenta o acesso. É o responsável por

informar as credenciais, para provar sua identidade;

• Autenticador – é o responsável por toda interação com o usuário. Não

tem autoridade nenhuma para barrar por ele mesmo o acesso de um

suplicante ao serviço, podendo ser comparado com um guarda que

fica na porta de entrada de um prédio, verificando a identidade das

pessoas que desejam entrar. No modelo AAA é também conhecido

como NAS (Network Access Server), que, neste contexto, é

considerado um cliente;

• Servidor de Autenticação – é quem realmente tem a autoridade e

acesso à base de dados, para poder autorizar ou não o acesso do

cliente ao sistema.

(16)

Figura 1 - Modo de Autenticação de Três Partes. Fonte: Todorov (2007)

2.1.2 Autorização

Segundo CISCO ... (2006), a autorização provê o método de controle de

acesso. A autorização do AAA trabalha montando uma lista de atributos, que

descreve quais ações o usuário é autorizado a realizar.

“Autorização é definida como o ato de determinar se um privilégio especial

pode ser concedida para o apresentador de uma credencial particular.” (NAKHJIRI,

2005, p.7).

TODOROV (2007) ressalta que a autorização só entra em funcionamento

depois que o usuário estiver devidamente identificado e com as credenciais

validadas para ganhar acesso aos serviços.

(17)

2.1.3 Contabilização

A contabilização, conforme CISCO ... (2006), fornece o método de coleta e

envio de informações sobre as ações do usuário, sendo esses dados utilizados para

contabilizar, auditar e reportar. Possibilita saber os serviços que os usuários estão

acessando, como também a quantidade de recursos de rede que estão usando.

“Usuários são responsáveis pelas suas ações em um sistema.

Usuários podem ser autorizados para acessar um recurso; se eles

acessam, o sistema operacional ou a aplicação precisa fornecer uma

trilha de auditoria que fornece dados históricos sobre quando e como

um usuário acessou um recurso. Por outro lado, se um usuário tentou

acessar um recurso, sem que ele tenha permissão para tal, uma trilha

de auditoria ainda é necessária para determinar uma tentativa de violar

o sistema de autorização e, em alguns casos, as políticas de

autenticação.” (NAKHJIRI, 2005, p.8).

NAKHJIRI (2005) continua seu pensamento afirmando que as ações do

usuário devem ser registradas em caso de sucesso ou falha, bem como suas

tentativas de autenticação no sistema. Isso torna a contabilização muito útil a partir

de uma perspectiva de segurança.

Para TODOROV (2007), existe uma variedade de aplicações que são

definidas para o uso de contabilização, dentre as quais são citadas as seguintes:

• Auditoria: ato de verificar a conformidade das políticas de uso,

diretrizes de segurança e assim por diante;

• Análise de Tendências: utilizado na previsão de uso futuro para fins de

planejamento de capacidade.

(18)

2.2 Protocolos de Autenticação para equipamentos

Sistemas de autenticação, que utilizam protocolos como RADIUS e

TACACS+, estão sendo implementados com sucesso. Este capítulo descreve

algumas características de cada um desses protocolos.

2.2.1 RADIUS

RADIUS é um sistema distribuído cliente/servidor que previne as redes contra

acesso não autorizado (CISCO, 2006). Foi desenvolvido em meados de 1990 pela

Levingston Enterprise, com o fim de prover autenticação e auditoria para os

equipamentos de rede da organização (METZ, 1999).

Segundo o RFC 2865 (IETF, 2000), os seus atributos funcionais consistem

em:

• Modelo Cliente/Servidor – o equipamento de acesso à rede (NAS)

opera como um cliente do RADIUS. O cliente é o responsável por

passar as informações do usuário ao servidor RADIUS e depois agir de

acordo com a resposta retornada. O servidor RADIUS é o responsável

por receber o pedido de conexão do usuário, fazer a autenticação e

retornar todas as configurações necessárias ao cliente, para que este

consiga fornecer o serviço ao usuário, como mostra a Figura 2;

• Segurança de Rede – Transações entre o servidor RADIUS e o NAS

são autenticadas por uma chave compartilhada, que nunca é enviada

pela rede. As senhas dos usuários são enviadas cifradas entre o

cliente e o servidor para evitar o roubo em redes inseguras;

• Mecanismo de Autenticação Flexível – Um servidor RADIUS pode

suportar vários mecanismos de autenticação como PAP e CHAP;

(19)

• Protocolo Extensível – Novos valores de atributos podem ser

adicionados sem prejudicar as implementações existentes do

protocolo.

Figura 2 - Troca de mensagens usando RADIUS. Fonte: CISCO (2008)

Porém, o RADIUS deixa a desejar quando o assunto é segurança.

“Proteção de segurança no RADIUS é bastante primitivo. Duas funções

principais são fornecidas, uma é esconder o atributo (principalmente

senha) e o outro é autenticar certas mensagens. Ambas são realizadas

usando funções de hash MD5 e um segredo é compartilhado entre o

servidor RADIUS e o cliente (NAS).” (NAKHJIRI,2005, p131).

2.2.2 TACACS+

Outro protocolo que provê os serviços de AAA é o Terminal Access Controller

Access Control Protocol (TACACS). Originalmente descrito na RFC 1492 (IETF,

1993), foi reestruturado ao longo dos anos pela CISCO e é suportado por vários

servidores, roteadores e outros dispositivos encontrados nas redes empresarias de

hoje. A versão atual é chamada de TACACS+, que reflete as melhorias feitas no

protocolo original (METZ,1999).

(20)

De acordo com HARRIS (2007) o TACACS tem três gerações: TACACS;

XTACACS; TACACS+. Na verdade, o TACACS+ não é uma nova geração, é um

novo protocolo que provê funcionalidades similares. Por ser um protocolo totalmente

diferente, não é compatível com o TACACS ou XTACACS.

Para CISCO ... (2006), TACACS+ é uma aplicação de segurança que provê a

validação centralizada dos usuários que estão tentando acessar equipamentos de

rede ou servidores de acesso à rede. O Protocolo possibilita a instalação separada e

modular dos serviços de autenticação, autorização e contabilização. Outro ponto

muito importante, é que toda a troca de informações entre o equipamento de acesso

e o daemon é cifrado.

(21)

A Figura 3 mostra todo o fluxo de comunicação entre um cliente e o servidor

TACACS+. Cada serviço, ou seja, autenticação, autorização e contabilização tem

um momento específico dentro deste fluxo. Para a autenticação, primeiro o cliente

faz uma requisição de acesso, o servidor retorna requisitando o nome de usuário e

depois a senha. Já para a autorização e a contabilização, para cada requisição

existe uma resposta. Quando o pacote inicial de verificação de acesso ao shell é

executado, é feita uma requisição de autorização, o servidor verifica se a permissão

existe e retorna o resultado. Com isso é enviado também uma requisição para início

de execução de contabilização, mesmo que o comando seja negado. Verificado se o

usuário tem permissão de acesso ao shell, inicia-se a requisição do comando e seus

parâmetros. Para cada requisição de comando é feita uma requisição de

contabilização, para gravar as ações do usuário. Ao fim desse fluxo é feita uma

requisição para parar o processo de contabilização. É importante ressaltar que esse

fluxo é feito para cada comando executado no equipamento.

2.2.3 Diferenças entre RADIUS e TACACS+

De uma forma resumida, para CISCO ... (2008), as principais diferenças entre

RADIUS e o TACACS+ são descritas na sequência:

Protocolo de Transporte:

O RADIUS utiliza UDP, ao passo que o TACACS+ usa TCP. TCP oferece

algumas vantagens em relação ao UDP, tais como:

• TCP oferece transporte orientado à conexão, enquanto o UDP oferece

o melhor esforço de entrega;

• TCP é mais escalável e adaptável para redes em crescimento ou

bastante congestionadas;

(22)

• Usando TCP é possível indicar se o servidor está com problemas ou

está desligado, já com UDP essa diferenciação não é possível.

Cifragem dos Pacotes

O RADIUS cifra apenas a senha do usuário no pacote de requisição de

acesso do cliente ao servidor. O resto do pacote é enviado sem estar cifrado. O

TACACS+, por sua vez, permite que todo o corpo do pacote seja criptografado,

sendo excluído apenas um cabeçalho, o qual possui um campo que indica se o resto

do pacote é cifrado ou não.

Autenticação e Autorização

RADIUS combina a autenticação e autorização. O pacote de acesso aceito do

servidor RADIUS para o cliente contém informações de autorização, dificultando o

desacoplamento dessas duas funções.

O TACACS utiliza a arquitetura AAA, na qual cada funcionalidade pode ser

usada independentemente. Isso possibilita o emprego de diferentes soluções de

autenticação, sendo possível ainda usar a autorização e a contabilização do

TACACS+. Um exemplo disso seria o uso da autenticação via Kerberos e o

TACACS+ para as funcionalidades de autorização e contabilização.

Suporte a Multiprotocolos

TACACS+ oferece suporte a multiprotocolos, já RADIUS não suporta:

• AppleTalk Remote Access protocol

(23)

• Novell Asynchronous Services Interface (NASI)

• X.25 Pad

Gerência de Equipamentos

A utilização do RADIUS não permite um controle mais profundo de quais

comandos podem ou não ser executados em um equipamento.

O TACACS+ oferece dois métodos de autorização de comandos. No primeiro

método, é possível definir um nível de privilégio para o usuário. Assim, o

equipamento verifica se o usuário tem nível de privilégio suficiente para executar um

comando ou não. Por padrão, os níveis de privilégio vão de 0 a 15, no qual zero

significa nenhum privilégio e quinze significa privilégio total. O outro método

destina-se a especificar os atributos dos usuários ou grupos e quais comandos eles terão

permissão de executar, deixando a verificação da permissão ou não do comando a

encargo do servidor TACACS+.

3. Tecnologias

Para o desenvolvimento do ambiente proposto, foram utilizadas apenas

tecnologias livres, que estão disponíveis livremente na Internet.

O openLDAP, que será usado para o armazenamento dos usuários, o

TAC_PLUS, que é a implementação de código aberto do protocolo TACACS+ e

interage com o openLDAP por meio do MAVIS.

Outras tecnologias foram usadas para o desenvolvimento do ambiente,

principalmente na interface administrativa do sistema, como javascript, JQuery,

AJAX, JSON, HTML, PHP e no servidor onde são armazenados todos os logs, foi

usado o MySQL como sistema gerenciador de banco de dados, mas como não

fazem parte do objetivo central, não serão explicadas.

(24)

3.1 openLDAP

O Lightweight Directory Access Protocol (LDAP) de uma forma simplificada, é

um protocolo para pesquisar e atualizar diretórios. Segundo a RFC 2251 (IETF,

1997), que define a versão três do protocolo, o LDAP segue o modelo de serviços de

diretório X.500, que é uma árvore de nós, cada um consistindo de um conjunto de

atributos com seus respectivos valores. O modelo X.500 era muito complexo para

ser suportado em desktops e através da Internet, então o LDAP foi criado para

prover este serviço.

Segundo CARTER (2003), diretórios são frequentemente confundidos com

bancos de dados. Ambos têm características em comum como rapidez em leitura e

extensibilidade de esquemas. A maior diferença é que diretórios são desenvolvidos

para terem mais operações de leitura do que escrita, já bancos de dados assumem

que essas operações ocorrem com mesma frequência. Em consequência a isto,

estruturas de diretórios não implementam transações e locks, como as bases de

dados.

Para CARTER (2003), serviços de diretórios podem assumir muitas formas,

mas cinco características, pelo menos, são verdadeiras:

• Otimizadas para leitura;

• Implementam modelos distribuídos de armazenamento de informações;

• Pode estender os tipos de informação que armazena;

• Recursos avançados de pesquisa;

• Replicação consistente entre servidores de diretórios.

O serviço de diretório X.500 ganhou o título de “pesado”. Nele, toda a

comunicação entre cliente e servidor é feita usando o a pilha do protocolo Open

(25)

System Interface (OSI), e como trabalha na camada de aplicação, o cabeçalho de

rede fica muito pesado.

Já o LDAP é considerado leve, como o próprio nome sugere, em comparação

com o X.500 pois utiliza mensagens com baixa sobrecarga, mapeadas diretamente

na camada TCP da pilha do protocolo TCP/IP.

A figura 4 ilustra essa comparação entre os dois serviços e suas respectivas

pilhas.

Figura 4 - Comparação entre o X.500 e o LDAP

Modelos LDAP representam os serviços providos pelo servidor, vistos por um

cliente. São modelos abstratos que descrevem as várias facetas de um diretório

LDAP. De acordo com a RFC 2251, um diretório LDAP é dividido em dois

componentes: modelo protocolo e modelo de dados.

O modelo de dados assume que o servidor garante acesso à árvore de

informações do diretório. A árvore é feita de várias entradas, estas, por sua vez,

possuem informações relevantes ao objeto.

(26)

Já o modelo protocolo basicamente define a forma de interação entre cliente e

servidor. O cliente faz uma requisição de uma operação sobre o diretório, o servidor

faz o processamento e retorna o resultado.

Até este momento foram apresentadas apenas algumas características dos

diretórios, em especial do LDAP. A partir de agora o foco será na estrutura da árvore

e dos objetos. Para tal considere como base as Figuras 5 e 6.

Figura 5 - Exemplo de uma árvore de diretório LDAP

O Distinguished Name (DN) é usado para identificar uma entrada de forma

não ambígua e única em um serviço de diretórios. Esse atributo é composto por uma

sequência de Relative Distinguished Name (RDN) e cada RDN corresponde a um

ramo na árvore do diretório, desde a raiz até a entrada à qual o DN faz referência.

Na

árvore

usada

como

exemplo,

um

DN

possível

é

(27)

Figura 6 - Exemplo dos atributos de um objeto

Na Figura 6, podemos visualizar os atributos e seus respectivos valores em

um objeto. Para fins de um melhor entendimento do desenvolvimento desde

trabalho, destacamos os atributos objectClass. Para a RFC 2251, um atributo

objectClass especifica as classes de um objeto, e permite determinar quais atributos

são válidos para uma entrada.

Segundo BUTCHER (2007) para utilizar um objectClass, o openLDAP utiliza

schemas, que são arquivos onde são definidos as diferentes classes dos objetos e

seus atributos que o openLDAP deve suportar, entre outras coisas. Usando estes, o

OpenLDAP pode determinar quais entradas são permitidas armazenar, se qualquer

entrada de dado é válida, e como as entradas devem ser idealmente armazenadas.

Uma outra possibilidade é a criação de schemas para uma maior customização dos

elementos de uma árvore LDAP.

Depois dessa visão geral sobre o openLDAP e seu funcionamento, que para

este projeto será usado como backend do ambiente, entraremos em detalhes das

tecnologias utilizadas para prover os serviços de AAA.

(28)

3.2 TAC_PLUS

De acordo com HUBBER (2011), principal desenvolvedor do projeto, o

tac_plus é um daemon dirigido a eventos do TACACS+, ou seja, seu funcionamento

esta extremamente relacionado ao envio e recebimento de eventos. Provê os

serviços de autenticação, autorização e contabilização para roteadores Cisco e

outros equipamentos de rede, desde que suportem o protocolo. É uma reformulação

do código-fonte original do TACACS da Cisco. Alguns dos principais recursos

incluem:

• Flexibilidade de backends externos para perfis de usuários (LDAP,

Active Directory e RADIUS);

• Multiplexação das conexões – múltiplos clientes por processo;

• Escalabilidade – sem limite de usuários, servidores ou clientes;

• Suporte aos protocolos IPv4 e IPv6;

• Compilado com a especificação mais recente do protocolo TACACS+;

Para poder oferecer a já falada flexibilidade de backend, o tac_plus usa um

outro módulo chamado MAVIS e que será explicado a seguir.

3.3 MAVIS

O Modular Attribute-Value Interchange System (MAVIS) é uma biblioteca que

provê um protocolo extensível e modular para as tarefas de autenticação e

autorização. Também funciona como um subsistema de autenticação modular,

usado pelo daemon tac_plus. Esta biblioteca contem vários módulos para o uso de

diversos backends e um deles é para serviço de diretório, seja o openLDAP ou o

Active Directory da Microsoft.

(29)

Para poder usar todas suas vantagens é só adicionar um novo arquivo de

schema no servidor LDAP e em cada objeto que poderá fazer uso das

funcionalidades do tac_plus, adicionar o objectClass “tacacsAccount“ e seus

respectivos atributos.

(30)

4. Estudo de Caso – Rede UFSC

A partir deste capítulo passa-se a discorrer sobre o ambiente proposto. Serão

abordadas três fases: Projeto, Desenvolvimento e Implantação.

No Projeto será analisado o ambiente atual e apresentado uma solução que

resolva suas limitações. No Desenvolvimento será exposto com mais detalhes as

configurações do ambiente. Já na Implantação serão apresentados os resultados de

desenvolvimento.

4.1 Projeto

Nesta seção será descrito e analisado o ambiente atual, listando as

deficiências que motivaram às modificações e melhorias que são descritas no

ambiente proposto.

4.1.1 Cenário Atual

O ambiente de autenticação atual é simples e tem problemas de segurança.

Da forma como é usado, a autenticação é bastante limitada e o uso de

contabilização e autorização é implementada apenas nos equipamentos de core

(núcleo) da rede. A Figura 7 mostra como é o fluxo da informação em um processo

de autenticação. Nos roteadores existe um agente externo, que é o servidor Cisco,

participando da autenticação e também da autorização, como indica o número 2.

(31)

Figura 7 - Processo de autenticação atual

Já para os demais equipamentos, indicados pelo número 1, não existe

nenhum sistema atuante no processo de autenticação, sendo que os usuários são

autenticados na base de dados local destes equipamentos. Pelo fato da

autenticação ser feita dessa forma, vários problemas são gerados, dentre eles:

• Se não for criada uma credencial para cada usuário, todas as pessoas

que terão acesso precisam saber a senha do usuário administrador;

• Se cada pessoa tiver sua credencial, é necessário o acesso em todos

os equipamentos e criar na base local a conta para o usuário;

• Caso seja necessário trocar alguma senha, seja de administrador ou

de um usuário, é preciso acessar cada equipamento e fazer a

mudança;

(32)

• Caso seja preciso retirar o acesso de um usuário de um equipamento,

ou de todos, é necessário remover as credenciais de cada

equipamento onde existir o registro;

• No caso de equipamentos que suportam o serviço de autorização e

não existir a política de cada usuário ter uma credencial, todo mundo

terá o mesmo nível de privilégio, desde pessoas com mais experiência

aos mais inexperientes;

• Nos equipamentos que suportam o serviço de contabilização,

principalmente os de core (núcleo), se todos usarem as credenciais de

administrador, não é possível saber quem executou determinado

comando no equipamento, pois todos usuários fazem o login com a

mesma conta.

• Faltou falar da trilha de auditoria tanto no que se refere para toda a

estrutura AAA

Assim, o principal problema do cenário atual é a gerência das identidades dos

usuários, já que para fazer qualquer alteração, tanto para mudança de senha,

quanto para permitir um novo usuário, será obrigatório o acesso em cada

equipamento para fazer essas alterações. Por outro lado este ambiente tem um

ponto muito importante que é o funcionamento independente de outros sistemas,

reduzindo assim os pontos de falha.

4.1.2 Cenário Proposto

Tentando resolver todos as deficiências expostas, foi elaborado um ambiente

com características que possibilite, além de todas as principais funcionalidades do

(33)

AAA, uma alta disponibilidade e confiabilidade, como mostra o desenho esquemático

da Figura 8.

Figura 8 - Arquitetura do ambiente proposto

Na infraestrutura proposta, existem dois servidores virtualizados, um

funcionando como master e outro como slave. Os softwares adotados utilizam

daemons, que, conforme OLIVEIRA, CARISSIMI e TOSCANI (2001), são processos

do sistema, e realizam as tarefas do próprio sistema, e não do usuário. Em cada

servidor foram instalados os daemons:

• LDAP e TACACS+ - utilizados para fazer a gerência das identidades,

todas as regras e permissões para as autorizações e interação com os

equipamentos de rede;

• MySQL – utilizado para armazenamento todos os logs gerados na

utilização do sistema, tanto na parte de contabilização quanto das

interfaces administrativas;

(34)

• Apache – servidor web para hospedar a aplicação de administração e

monitoramento do ambiente.

Os servidores são independentes entre si, ou seja, se um comutador de rede

for configurado para utilizar o servidor master, e outro equipamento for configurado

para o slave, ambos devem ter os mesmos resultados. Isso é possível pois todos os

arquivos de configurações, bases de dados do MySQL e os diretórios LDAP são

replicados bidirecionalmente entre as máquinas. Para isso, no MySQL e no LDAP

foram configurados os serviços de replicação dos próprios daemons.

Já os arquivos de configurações, principalmente os do TACACS+, são

sincronizados utilizando o softwares Unison File Synchronizer. De acordo com

PIERCE (2009), principal desenvolvedor do projeto, o Unison é uma ferramenta de

sincronização de arquivos, disponível para Unix e Windows. Permite a réplica de

arquivos e diretórios usando diferentes tipos de ferramentas como por exemplo CVS,

Coda e Rsync.

Para acesso às máquinas, foi definido que cada servidor teria configurada

uma interface de rede para acesso roteado, ou seja, quando os endereços IP de

quem está fazendo o acesso não pertencem ao mesmo segmento de rede do

servidor. Além da interface roteada, vão ser configuradas interfaces em cada rede

de gerência de equipamentos. Isso possibilita o acesso aos equipamentos mesmo

que haja problemas na rede a nível de roteamento, já que os switches, roteadores e

servidores de autenticação estarão em camada dois (enlace) no modelo TCP/IP. O

acesso ficará comprometido apenas em casos de problemas no meio físico, como

por exemplo rompimento de fibra ou cabo de rede. A Figura 9 exemplifica as

configurações de rede dos servidores.

(35)

Figura 9 - Infraestrutura de rede dos servidores

Supondo que o servidor AAA tenha as seguintes interfaces de rede

configuradas:

• rede1 – IP: 10.0.1.1

• rede2 – IP: 10.0.2.1

• Interface Roteada – IP: 10.0.5.1

Qualquer equipamento pertencente a rede 10.0.1.0/24 fará toda a

comunicação pela interface 10.0.1.1. O mesmo ocorre para equipamentos com IPs

pertencentes a rede 10.0.2.0/24, que farão acesso pela interface 10.0.2.1.

Caso um usuário ou equipamento com o IP 10.0.6.5 queira fazer acesso ao

sistema, toda a comunicação acontecerá pela interface 10.0.5.1 pois o servidor não

tem nenhuma interface configurada para a rede 10.0.6.0/24, sendo necessário o uso

de roteamento.

(36)

Além disso, será usado um outro daemon, o UCARP, que servirá para fazer

com que a disponibilidade do ambiente seja transparente ao usuário. Para DENIS

(2010), o UCARP é uma implementação portátil do protocolo CARP (Common

Address Redundancy Protocol). Com ele é possível, por exemplo, configurar uma

máquina para responder ao IP 10.0.5.1, a outra ao IP 10.0.5.2 e criar uma interface

virtual que responda no endereço 10.0.5.3. O próprio daemon, quando recebe uma

requisição no seu endereço, é o responsável por fazer o “roteamento” e enviar os

pacotes para o servidor que estiver com o melhor tempo de resposta. Isto é muito

útil, pois caso aconteça algum problema com um servidor de exemplo 192.168.1.2, e

ele estiver configurado como master, o daemon encaminha todo o tráfego para o

servidor com o IP 192.168.1.3 sem que o usuário perceba.

Uma outra mudança significativa em relação ao ambiente anterior é no que

diz respeito ao fluxo dos dados no ambiente, após o usuário informar suas

credenciais. Diferente do que era, onde para a grande maioria dos equipamentos

não havia nenhum sistema de suporte as funcionalidades de AAA, agora todas as

requisições são recebidas por um servidor, que faz todo o processamento e retorna

as informações necessárias. Esse processo pode ser melhor visualizado na Figura

10.

(37)

Figura 10 - Fluxo dos dados no ambiente proposto

Nesse caso os equipamentos acabam funcionando como suplicantes,

repassando as credenciais ou informações do usuário para o autenticador (servidor

AAA). Esse comportamento é que possibilita ao servidor AAA analisar as

informações, e de acordo com as configurações do daemon autenticar, autorizar e

gerar logs de tudo que é feito nesse processo de interação do usuário com o

equipamento.

Uma outra funcionalidade do ambiente é a possibilidade de integração da

autenticação de máquinas Windows e Linux, independente de serem estações de

trabalho ou servidores. Isso possibilita que com apenas uma credencial o usuário

possa acessar o sistema de autenticação nos comutadores de rede e também nas

suas máquinas pessoais e/ou servidores.

4.2. Desenvolvimento

Apresentados o funcionamento do ambiente, bem como o propósito que se

pretende alcançar com o presente trabalho, neste momento, passa-se a discorrer

(38)

sobre duas ferramentas que possuem mecanismos capazes de solucionar as

necessidades verificadas anteriormente. Foram analisadas duas ferramentas para

desenvolver o projeto proposto:

• Cisco Secure Access Control Server 5.1 (ACS) (CISCO, 2012);

• TAC_PLUS (HUBBER, 2011).

Como a ferramenta desenvolvida pela Cisco possui algumas limitações, que

serão explicadas no texto, foi escolhida a solução utilizando o TAC_PLUS MAVIS

para uso no projeto.

4.2.1 Cisco ACS

Segundo CISCO...(2012), o Secure Access Control Server (ACS) é um

servidor de segurança baseado em políticas que fornece os padrões de

autenticação, autorização e contabilização (AAA) para uma rede. Facilita o

gerenciamento administrativo de aplicações e dispositivos, sejam eles Cisco ou não.

Também serve de ponto de integração entre o controle de acesso à rede e o

gerenciamento de identidade.

Dentro do contexto dos dois principais protocolos do AAA – RADIUS e

TACACS+ – o ACS tem as seguintes áreas funcionais:

• No framework do protocolo RADIUS, o ACS controla o acesso cabeado

ou wireless por usuários e máquinas à rede e gerencia os recursos de

rede utilizados por meio de contabilização. Suporta múltiplos métodos

de autenticação do RADIUS incluindo PAP, CHAP, MSCHAPv1,

MSCHAPv2 e outros da família de protocolos EAP como EAP-MD5,

LEAP, PEAP, EAP-FAST e EAP-TLS;

(39)

• Já no framework do protocolo TACACS+, o ACS facilita o

gerenciamento administrativo de equipamentos como switches, pontos

de acesso wireless, roteadores e gateways, como também serviços

como acesso dial-up, VPN (Virtual Private Network) e firewall, sendo

Cisco ou não.

O ACS é o responsável por identificar usuário e dispositivos que tentam

acessar a rede. Essa identificação pode ocorrer diretamente no repositório interno

de identidades para fazer autenticação local, mas também existe a possibilidade do

uso de repositórios externos como:

• LDAP

• Active Directory

• RSA SecurID Token Server

• RADIUS Identity Server

Outro detalhe importante são os recursos necessário para a instalação da

aplicação. De acordo com CISCO...(2011), existem duas formas para a instalação

do ACS, usando uma máquina virtual no hipervisor VMWare ou em um hardware

específico da Cisco. Caso seja instalado o ACS no formato de uma máquina virtual,

o sistema operacional é um Linux Red Hat 5 e é exigido pelo menos 500 GB de

espaço de disco para funcionar nas configurações mínimas de avaliação do sistema.

Estas características do ACS acabam se transformando em problemas pois

necessitam de muitos recursos, tanto de hardware como financeiros para a compra

de software. Para a instalação do ambiente proposto, com todos os componentes já

citados, seria necessária a aquisição de duas licenças do ACS 5.1 e pelo menos 2

(40)

TB de capacidade de armazenamento, que é o recomendado pela Cisco para o uso

em ambiente de produção.

Outra limitação que acabou deixando muito a desejar diz respeito ao suporte

à equipamentos de outras empresas, já que o ACS não suporta, quando instalado

sem nenhum modificação, o uso de autorização em equipamentos que não são da

Cisco. Comparando com a realidade da rede UFSC, onde existe uma

heterogeneidade nos equipamentos, este é o principal ponto negativo, pois desta

forma a solução só funcionaria de maneira satisfatória nos equipamentos de core da

rede, da mesma forma que é feito atualmente. Para os demais equipamentos, o ACS

funcionaria apenas para suporte à autenticação.

4.2.2 TAC_PLUS

Considerando que já foi exposto o conceito do daemon TAC_PLUS na seção

3.2, foram feitos dois testes distintos:

• Compilação padrão

• Compilação TAC_PLUS MAVIS

Da forma padrão o TAC_PLUS é limitado. Uma das principais limitações é

que todos os usuários, dispositivos e demais diretivas precisam estar cadastrados

no arquivo de configurações do daemon. Isso é um grande problema já que para

adicionar cada novo usuário ao sistema é necessário que um administrador edite o

arquivo de configurações e depois reinicie o daemon. Se por acaso alguém estiver

executando algum comando no equipamento exatamente na hora em que o daemon

é reiniciado, o comando será negado, por exemplo. Caso o usuário não esteja

cadastrado no arquivo de configurações, é possível fazer login utilizando o PAM

(Pluggable Authentication Modules) do servidor linux. Desta maneira também é

(41)

necessário ter um registro no arquivo de configurações mostrando que, para aquele

usuário específico, as informações serão fornecidas pelo sistema operacional. Um

exemplo dessa configuração pode ser visto na Figura 11, onde o usuário luís é

autenticado via PAM e o usuário joão via arquivo de configuração.

Figura 11 - Exemplo de Configuração de usuários no tac_plus

Utilizando a compilação padrão, o PAM é uma peça fundamental ao sistema

pois é através dele que o TAC_PLUS tem a possibilidade do uso de recursos

externos para a autenticação, como por exemplo o LDAP. O funcionamento é bem

simples:

(42)

1. Quando o usuário está configurado para autenticar via PAM, o daemon

busca as credenciais do usuário da base local do sistema operacional.

2. É instalada uma biblioteca ao PAM que permite que ele verifique as

credenciais de um usuário em um diretório LDAP.

3. Essa biblioteca é configurada para que sempre a primeira opção de

busca seja feita na base local, e caso não seja encontrado o usuário, a

busca é feita no diretório LDAP.

Essa obrigatoriedade do uso do PAM deixa todo o sistema um tanto quanto

inflexível, pois centraliza tudo no arquivo de configurações, ao invés de ter uma

forma simples de possibilitar a gerência de todo o daemon.

Outra limitação é não possibilitar que um usuário tenha várias políticas de

acesso. Dessa forma o usuário terá o mesmo nível de privilégio para todos os

equipamentos que ele tiver acesso. Caso o usuário em questão seja um estagiário,

ou qualquer outro que deve ter níveis de acesso distintos, e precise de acesso total

a algum tipo de equipamento, seja ele de borda ou core, existem duas opções:

• Criar uma Access Control List (ACL) onde é negado o acesso a

equipamentos de maior criticidade, como por exemplo os de core, e

vinculá-la às suas definições no arquivo de configurações. Dessa

forma o usuário não terá acesso ao equipamento;

• Permitir o acesso ao equipamento com todos os privilégios garantidos

pelas configurações. A Figura 11 ilustra um caso onde os dois

usuários têm o mesmo nível de privilégio para todos os equipamentos,

já que não existe nenhuma ACL associada com nenhum deles. Os

níveis de privilégios são garantidos pela variável member. Na variável

(43)

pertence a este grupo. No caso mostrado na Figura 11, os dois

usuários cadastrados pertencem ao mesmo grupo GrupoTeste,

portanto têm o privilégio de executar os mesmos comandos como por

exemplo show, traceroute, ping, logout e exit.

Usando o TAC_PLUS MAVIS (explicado na seção 3.3) algumas dessas

limitações são atendidas. Primeiramente, o daemon tem suporte nativo a agentes

externos como:

• Active Directory;

• LDAP;

• RADIUS.

Caso a autenticação esteja configurada para acontecer via Active Directory ou

LDAP, a solução torna-se ainda mais completa, pois permite que sejam definidos

atributos específicos nos registros do diretório e não somente no arquivo de

configurações. O exemplo da Figura 12 mostra a adição dos três novos atributos -

tacacsClient, tacacsMember e tacacsProfile – que são responsáveis por possibilitar

a flexibilidade necessária com o seu uso.

(44)

Figura 12 - Exemplo de uma entrada LDAP com suporte ao TAC_PLUS MAVIS

tacacsClient

Define o endereço IP ou segmento de rede de onde o daemon pode aceitar a

conexão do usuário. Funciona de forma semelhante a um firewall, analisando a

origem da requisição e permitindo, ou não, o acesso ao equipamento. Na Figura 12

o usuário tem acesso somente a partir da rede 150.162.248.0/24, ou seja, se esse

usuário específico tentar se conectar pela rede 150.162.161.0/24, mesmo não

havendo um firewall instalado no servidor, o acesso será negado. É possível

também especificar o endereço IP exato para o acesso, como por exemplo

150.162.248.43/32.

tacacsMember

Atributo responsável pela definição das políticas de acesso. As sintaxes

permitidas são as seguintes:

(45)

• nível de privilégio@grupo de equipamentos.

Tanto o nível de privilégio quanto o grupo de equipamentos são configurados

no arquivo de configurações do daemon. Cada nível de privilégio é composto por

uma lista de comandos possíveis de serem executados para aquele nível. A Figura

13 exemplifica a configuração dos níveis de privilégios.

Figura 13 - Exemplo de configuração de níveis de privilégios

Como mostrado na Figura 13, usuário que possuem o atributo tacacsMember

como admin_1, terão permissão de executar todos os comandos existentes no

equipamento pois o padrão da configuração é permitir tudo. Já para os casos onde o

(46)

atributo for operador_2, o padrão para esse nível é negar (default command =

deny) o comando, exceto para os casos de comandos listados pelos campos cmd,

que são usados para especificar alguns comandos com permissão.

Foram definidos 4 níveis de privilégios para atender as demandas de

autorização do ambiente:

• admin_1 – acesso total, sem restrições;

• admin_2 – pode ver todas as configurações. Alterar apenas ACLs,

Interfaces e VLAN;

• operador_1 – pode ver todas as configurações, exceto running-config.

Alterar apenas Interface;

• operador_2 – apenas ver configurações de rotas, arp, interface, log,

VLAN, processos, spanning-tree;

• Todos os níveis podem executar os comandos de ping e traceroute.

No caso dos grupos de equipamentos, podem ser definidos endereços IP de

um ou mais equipamentos, ou segmentos de rede, e a chave secreta que é usada

para autenticar o equipamento no servidor TACACS+. Um exemplo simples da

configuração de grupos pode ser visto na Figura 14.

(47)

Cada escopo marcado como host define o grupo. Pode ter um ou mais

address, que são os endereços IP dos equipamentos deste grupo e uma key, que é

a chave de autenticação no daemon que deve ser configurada igual no equipamento

pertencente ao grupo.

tacacsProfile

Usado para definir mais algumas variáveis ao registro. Utilizando este atributo

é possível definir tempo de validade do registro, caso seja necessário liberar o

acesso por um tempo determinado, fazer restrições de acesso por horário e também

fazer o uso de ACLs para restringir ou permitir o acesso a outros equipamentos.

Alguns exemplos dessas definições podem ser vistas na Figura 15.

Figura 15 - Definições de especificações de tempo e ACLs

No exemplo de usuário mostrado na Figura 12, o atributo tacacsProfile possui

duas definições, uma definindo a validade das credenciais e outra uma

especificação de tempo, indicando o período do dia que o acesso será liberado. A

(48)

acl acl_horario_padrao, mostrada na Figura 15, para a qual a credencial está

configurada, restringe o acesso para apenas os dias da semana, em horário

comercial, das 8 as 18 horas.

Todas essas possibilidades acabam deixando o sistema muito mais dinâmico

e simples, pois não será mais necessário fazer acesso ao servidor e editar o arquivo

de configurações sempre que for preciso criar/editar/excluir uma credencial. Desta

forma foi criada uma nova necessidade, o desenvolvimento de uma aplicação para

fazer a gerência de todo o ambiente.

(49)

4.3. Implantação

Esta seção tem o objetivo de descrever o ambiente de implantação, bem

como a estrutura e os equipamentos suportados. Também serão apresentados os

resultados da implantação e os sistemas de gerência e acompanhamento de logs

que foram desenvolvidas.

4.3.1 Estrutura Física

No desenvolvimento deste ambiente, foi trabalhado com dois tipos de

infraestrutura:

• Servidores;

• Comutadores de rede.

Para a infraestrutura de servidores foram criadas duas máquinas virtuais,

hospedadas em um ambiente com o hipervisor VMWare. Cada uma possui dois

processadores virtuais Intel® Xeon® de 3.33GHz, capacidade de armazenamento

de 24 GB e 2GB de memória. Além destas características de hardware, cada

servidor tem associado a ele cinco interfaces de rede, para possibilitar o uso dos

recursos descritos na seção 4.2, quando é descrito a forma de acesso aos

servidores.

No caso da infraestrutura dos equipamentos de rede, a rede UFSC dispõe

principalmente dos seguintes modelos de equipamentos:

(50)

Figura 16 - Roteador Cisco 7606

Uso: Core da rede.

Principais Características: Faz o roteamento de toda a rede. Possui

interfaces 1Gb e 10Gb via fibra óptica para fazer a conexão tanto ao PoP-SC,

quanto aos principais equipamentos de distribuição da UFSC, seja para rede

cabeada ou sem fio.

Suporte ao ambiente: implementa autenticação, autorização e

contabilização.

• 3Com SuperStack® 4 5500G (Figura 17)

Figura 17 - Switch 3Com 5500G

Uso: Usados principalmente para a distribuição dos centros da UFSC.

Principais Características: Interfaces 1Gb via fibra óptica ou cabo UTP.

(51)

Suporte ao ambiente: implementa autenticação, autorização e

contabilização.

• D-Link DGS 3100-24/48 PoE

Figura 18 - D-Link DGS 3100 PoE

Uso: Equipamentos usados principalmente para acesso dos usuários (borda).

Principais Características: Interfaces 1Gb via cabo UTP, sendo que as

quatro ultimas podem ser optado pelo uso de fibra óptica. São utilizados modelos de

24 e 48 portas e alguns com a opção de PoE (Power over Ethernet).

Suporte ao ambiente: implementa autenticação e autorização com apenas

dois tipo de privilégio, acesso total ou somente leitura.

(52)

Figura 19 - Cisco WLC 5500

Uso: Faz o controle centralizado dos pontos de acesso sem fio Cisco.

Principais Características: Permite a gerência de múltiplos pontos de

acesso de forma centralizada.

Suporte ao ambiente: implementa autenticação, autorização e

contabilização.

Além destes equipamentos citados, alguns outros modelos também estão

operando com pelo menos a autenticação pelo ambiente. Estes equipamentos são:

• Cisco Catalyst 3560

• Cisco Catalyst 2960G

• D-Link DES 3526

• D-Link DES 3028P

• Edge-Core ES3526XA

4.3.2 Implantação em Números

A SeTIC controla por volta de 850 equipamentos de rede, dos quais, cerca de

630 são gerenciáveis, ou seja, possibilita aplicar configurações. Destes,

aproximadamente 400 já estão, ou têm suporte, pelo menos para o uso de

autenticação pelo sistema proposto. Esse número é baseado apenas em

(53)

equipamentos Cisco, 3Com e D-Link, sem contar os equipamentos de outras

fabricantes como SMC, Dell, Enterasys e HP, onde ainda não foram feitos os testes

de suporte.

De todos esses comutadores suportados pelo sistema, dois são usados como

roteadores principais, quatro são controladores da rede sem fio, cinco são switchs

de distribuição de centro e o restante é considerado de borda ou distribuição local.

4.3.3 Gerência do Ambiente

Foram desenvolvidas duas aplicações para a gerência do ambiente:

• Logs - para acompanhamento em tempo real dos comandos

executados nos equipamentos;

• Gerência – para gerenciar as identidades e permissões de acesso ao

sistema.

Para o desenvolvimento da aplicação de logs foram usadas as linguagens de

programação perl, para analisar e inserir os logs gerados pelo TAC_PLUS MAVIS

em uma base MySQL, e o PHP para a criação da interface onde os administradores

possam acompanhar/auditar as ações feitas no sistema.

Referências

Documentos relacionados

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron & Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Desde logo, a nossa compreensão e interpretação da importância funcional e ritual das lamentações públicas das carpideiras e dos carpideiros egípcios é sublinhada pelo

No presente estudo, catorze animais (34,15%) apresentavam algum tipo de parentesco procedente de oito diferentes propriedades rurais (26,66%), ora relacionado à vaca, ora ao touro,

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

c.4) Não ocorrerá o cancelamento do contrato de seguro cujo prêmio tenha sido pago a vista, mediante financiamento obtido junto a instituições financeiras, no