19
Segurança de redes sem fio, uma proposta com serviços integrados de autenticação LDAP e RADIUS. Marcos Heyse Pereira Curso de Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, 13 de Novembro de 2009 Resumo O objetivo deste trabalho é propor uma arquitetura de segurança de redes wireless (sem fio) para ser utilizada na instituição pública de ensino IFSC (Instituto Federal de Santa Catarina) – Campus Joinville, visando à utilização de ferramentas gratuitas de software e o baixo custo de hardware. Para isto, será utilizado o serviço de autenticação RADIUS em conjunto com o serviço de diretórios LDAP. Além do conceito teórico, serão abordadas algumas possibilidades de topologias a serem utilizadas na solução, tanto quanto suas necessidades para a implantação, além das configurações principais e seu funcionamento. Por fim, será contemplada neste estudo uma análise da solução adotada e a descrição dos resultados obtidos, além da sugestão de futuras melhorias aplicáveis. 1 Introdução As redes sem fio estão cada vez mais presentes no dia-a-dia das pessoas. Sua versatilidade e avanço tecnológico provocou um crescimento exponencial de seu uso. Ela permitiu aos usuários acessarem os dados enquanto estão em movimento, o que pode levar a ganhos de produtividade [1]. Além disso, o uso da tecnologia wireless é muito abrangente, podendo ser utilizado até mesmo em mecanismos de voz e som, por exemplo, tudo isso com mobilidade, rápida instalação e custo reduzido. Porém, uma de suas principais vantagens, a facilidade de acesso, pode trazer alguns problemas, especialmente com relação à segurança. Quando comparada com outras formas de transmissões possíveis (rede cabeada ou fibra ótica, por exemplo) uma transmissão sem fio é facilmente interceptada, pois o meio físico é o próprio ar. As informações que trafegam por este tipo de rede são mais expostas a ataques se 

Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

Segurança de redes sem fio, uma proposta com serviços integrados de 

autenticação LDAP e RADIUS.

Marcos Heyse Pereira

Curso de Especialização em Redes e Segurança de Sistemas

Pontifícia Universidade Católica do Paraná

Curitiba, 13 de Novembro de 2009

Resumo

O objetivo deste trabalho é propor uma arquitetura de segurança de redes wireless (sem fio)  

para   ser   utilizada   na   instituição   pública   de   ensino   IFSC   (Instituto   Federal   de   Santa  

Catarina) – Campus Joinville, visando à utilização de ferramentas gratuitas de software e o 

baixo custo de hardware. Para isto, será utilizado o serviço de autenticação RADIUS em 

conjunto  com o serviço de diretórios  LDAP.  Além do conceito   teórico,   serão abordadas  

algumas   possibilidades   de   topologias   a   serem   utilizadas   na   solução,   tanto   quanto   suas  

necessidades para a implantação, além das configurações principais e seu funcionamento.  

Por fim, será contemplada neste estudo uma análise da solução adotada e a descrição dos  

resultados obtidos, além da sugestão de futuras melhorias aplicáveis.

1 Introdução

As   redes   sem   fio   estão   cada   vez   mais   presentes   no   dia­a­dia   das   pessoas.   Sua versatilidade  e avanço tecnológico  provocou um crescimento  exponencial  de seu uso.  Ela permitiu aos usuários acessarem os dados enquanto estão em movimento, o que pode levar a ganhos de produtividade [1]. Além disso, o uso da tecnologia  wireless é muito abrangente, podendo ser utilizado até mesmo em mecanismos de voz e som, por exemplo, tudo isso com mobilidade, rápida instalação e custo reduzido. Porém, uma de suas principais vantagens, a facilidade de acesso, pode trazer alguns problemas, especialmente com relação à segurança. Quando comparada com outras formas de transmissões possíveis (rede cabeada ou fibra ótica, por  exemplo)  uma  transmissão sem fio  é   facilmente   interceptada,  pois  o  meio  físico  é  o próprio ar. As informações que trafegam por este tipo de rede são mais expostas a ataques se 

Page 2: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

não forem devidamente tratadas sob o ponto de vista de segurança em redes wireless, podendo ser acessadas sem maiores dificuldades por hackers que podem aproveitar vulnerabilidades para   ler,  modificar   ou   adicionar   informações   que  deveriam   ser   sigilosas.  Esta   segurança muitas vezes é esquecida ou deixada de lado em favor de um acesso rápido e sem dificuldades ao meio.

O presente estudo visa propor uma arquitetura de segurança a ser aplicada na rede de área local sem fio (WLAN) do Instituto Federal de Santa Catarina – Campus Joinville, através do   uso   das   ferramentas   gratuitas  FreeRADIUS  (para   realizar   a   autenticação   segura)   e OpenLDAP  (para   centralizar   os   cadastros   dos   usuários),   visando   o   baixo   custo   na implementação. Será feita uma análise de possíveis topologias e a escolha das ferramentas para a implantação desta solução, e por fim, os resultados obtidos.

2 O que é LDAP e RADIUS 

O   LDAP   (Lightweight   Directory   Access   Protocol)   é   um   protocolo   para   acessar serviços de diretório distribuídos que atuam de acordo com modelos de dados e serviço X.500 [2], em que os dados se encontram em forma de uma árvore de nós, onde cada nó consiste de um conjunto  de  atributos   com seus   respectivos  valores.  Entende­se  por  diretórios,  dados especializados que serão acessados de forma similar ao SQL, normalmente em um banco de dados relacional. Atualmente está na versão 3, especificado em várias RFC apresentadas e agrupadas  na RFC 4510 [2].  Seu principal  uso é  corporativo,  onde  funcionários  acessam vários serviços (webmail, intranet, estações de trabalho, sistemas da empresa, etc) de forma centralizada com um único login e senha do usuário, sendo estes armazenados e coletados através do acesso aos diretórios do LDAP.

Já o RADIUS (Remote Authentication Dial­In User Service) é um protocolo utilizado para realizar autenticação segura a partir de um servidor de rede central para usuários remotos que querem ter acesso a um sistema ou serviço de rede [3]. O   RADIUS   disponibiliza   acesso   à   rede   através   de   um   protocolo  Authorization,  Authentication, and Accounting (AAA) e pode autenticar usuários e sistemas [4]. O AAA tem três fases: Autenticação:  As  credenciais  do  usuário   são comparadas   com as   existentes  no  banco  de dados;Autorização: O acesso ao recurso é aceito ou recusado;Contabilidade: As informações são coletadas para realizar análise, auditorias, etc.

Normalmente  em redes  wireless,  o  RADIUS está  presente  nos  Access  Points  que possuem segurança com autenticação nos padrões 802.1X ou 802.11i, pois ambos realizam o processo de autenticação através de um servidor RADIUS. Nos dois padrões, a autenticação entre  o   suplicante   (estação  de   trabalho)  o   autenticador   (neste   caso,  o  Access  Point)   e   o servidor   de   autenticação   é   feita   através   do  Extensible   Authentication   Protocol  (EAP), podendo toda a comunicação ser realizada com a implementação de protocolos de segurança como EAP­MD5, EAP­TTLS (EAP ­ Tunneled Transport Layer Security), etc [5]. 

A   figura   1   descreve   o   processo   de   autenticação   dos   padrões  802.1X  ou  802.11i. Primeiramente o suplicante tenta se associar a um autenticador que ao detectar o pedido na sua porta, envia uma requisição EAP para o usuário se identificar.   O suplicante responde enviando a resposta com sua identidade EAP ID. O autenticador repassa a identidade para o servidor de autenticação através de uma requisição de acesso RADIUS. O servidor autentica a identidade e envia um desafio de acesso RADIUS ao autenticador. A informação é repassada 

Page 3: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

ao suplicante com uma requisição de autenticação EAP. O suplicante por sua vez responde ao autenticador com os dados de identificação do usuário. A informação é repassada ao servidor através de uma requisição de acesso RADIUS. Após análise das informações, caso o usuário possua acesso a rede, é enviado um RADIUS Access Accept (Acesso aceito) ao autenticador que por sua vez encaminha ao suplicante como um EAP SUCCESS, que passa a ter acesso liberado na rede [6].

Figura 1: Forma de autenticação utilizando o padrão IEEE802.1X [6]

3 Perfis de acesso a rede

Dentro  do   Instituto   constatou­se   que  há   quatro   tipos  de  públicos   específicos   que realizarão o uso a rede wireless: os servidores docentes (professores), os servidores técnicos administrativos, os alunos e os visitantes. Inicialmente a rede wireless será disponibilizada somente   para   os   professores   e   técnicos   administrativos.   Posteriormente   deverá   ser disponibilizada também para os alunos e demais visitantes. Com este quadro, serão criados perfis específicos de acesso a rede.

O primeiro perfil de acesso deve possuir permissão de acesso a todos os recursos da rede interna, como impressoras, área de arquivos,  intranet, e­mail da instituição, etc. Além disso,  podem acessar  os   recursos  externos  disponíveis  na  web,  em conformidade  com as políticas do Instituto. Neste perfil se encaixam tanto os servidores docentes quanto os técnicos administrativos.

O segundo perfil  de acesso deve restringir  o acesso a rede interna,  sendo possível somente o acesso aos recursos externos, conforme definidas nas políticas de segurança do Instituto. Neste perfil serão alocados os alunos e visitantes, pois um cuidado maior deverá ser considerado a fim de evitar acessos indevidos das informações da instituição.

4 Topologias ­ Propostas

Para a escolha das propostas apresentadas neste capítulo, foram consideradas a atual estrutura do campus e o orçamento, a fim de evitar grandes alterações na estrutura atual e um custo excessivo na implementação da solução.  A figura 2 mostra a estrutura atual do campus, 

Page 4: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

que será utilizada como base das propostas apresentadas. Como se pode notar, o instituto já possui um servidor LDAP em funcionamento, por isso, a implementação do serviço RADIUS será mais bem detalhada neste estudo.

Figura 2:  Topologia atual do IFSC – Campus Joinville

4.1 Topologias – Proposta com VLANs

A figura 3 exemplifica este cenário. A rede é segmentada através do uso de VLANs (Virtual LANs) para separar a rede wireless da rede cabeada, sendo que ambos fazem parte da LAN. Para isso, se faz necessário a utilização de equipamentos switchs que ofereçam suporte a VLANs. 

No modelo, é criada uma VLAN para cada tipo de rede (cabeada e sem fio). Estes switchs estão conectados a um switch principal através de uma porta trunk. O switch principal possui três conexões, sendo duas normais que atendem aos servidores DHCP de cada VLAN (responsáveis pela distribuição de endereços IP de cada VLAN) e uma trunk para comunicar­se com o firewall interno.

  O firewall   interno controla  o acesso aos servidores privados da rede.  Suas regras impedirão a tentativa de acesso aos servidores por parte de clientes da rede wireless. O acesso somente  será   concedido  aos  clientes  que se autenticarem em uma conexão VPN (Virtual Private  Network)  através  do servidor  VPN. Somente  usuários  que pertencem ao primeiro perfil de acesso (docentes e técnicos administrativos) poderão estabelecer conexões VPN. 

O servidor LDAP estará disponível para requisições de consulta à sua base pela rede interna e excepcionalmente para o servidor RADIUS (já que ele precisará efetuar consultas), não sendo bloqueado o acesso pelo firewall interno. Já o servidor RADIUS estará interligado 

Page 5: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

ao switch da rede wireless, para uma comunicação mais apurada. Os equipamentos Access Point serão ligados em modo repetidor através de outro Access Point ou através do switch de rede wireless.

Figura 3:  Proposta de topologia com VLANs

4.2 Topologias – Proposta com somente Access Points

A segunda proposta apresenta um modelo parecido com o primeiro,  porém, sem a utilização de segmentação através  de VLANs. Apesar de ser um modelo  um pouco mais modesto,   ele   procura   manter   a   preocupação   relacionada   à   segurança   no   acesso   das informações internas a partir da rede sem fio. 

Nesta topologia,  as duas redes são separadas pelo  firewall  interno.  A comunicação entre a rede cabeada e os servidores privados é direta, pois não existe um firewall entre eles. Porém, o acesso aos servidores privados pela rede sem fio é bloqueado pelo firewall interno, 

Page 6: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

sendo   possível   o   acesso   somente   através   do   estabelecimento   da   uma   conexão   VPN, exatamente como na primeira proposta. O servidor LDAP estará disponível para requisições de consulta à sua base pela rede interna e excepcionalmente para o servidor RADIUS (já que ele  precisará  efetuar  consultas),  não sendo bloqueado o acesso pelo firewall   interno.  Já  o servidor RADIUS estará interligado ao switch da rede wireless, para uma comunicação mais apurada. Os equipamentos Access Point serão ligados em modo repetidor através de outro Access Point ou através do switch de rede wireless.

 

Figura 4: Proposta de topologia com somente Access Points

4.3 Topologias – Modelo escolhido

Dentre as duas propostas apresentadas (outras opções poderiam ser criadas), resolveu­se adotar o segundo modelo devido à desnecessidade da compra de switchs com suporte a VLANs, o que reduzirá significativamente o custo de implementação. Futuramente, poderá ser adotado o modelo de VLANs, uma vez que não será necessário uma mudança tão grande na estrutura e topologia.

5 Infraestrutura de software e hardware escolhida

Page 7: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

A equipe de TI (Tecnologia da Informação) do Instituto Federal de Santa Catarina – Campus Joinville, que é uma autarquia pública de educação, busca atender às recomendações do TCU (Tribunal de Contas da União), para que seja adotado o software livre nos órgãos públicos. Por isso, foram pesquisadas fontes de software livre para as soluções de acesso a serviços de diretório  (LDAP),  servidor  de VPN e autenticação segura para  redes  sem fio (RADIUS). Optou­se então pelo uso de ferramentas de uso difundido por várias empresas e com bastante documentação disponível. Adotaram­se as seguintes ferramentas:

• OpenLDAP ­ servidor LDAP• OpenVPN ­ servidor VPN• FreeRADIUS ­ servidor RADIUS

Para   o   atendimento   do   escopo   deste   estudo,   serão   apresentados   os   softwares OpenLDAP  e  FreeRADIUS.   Todos   os   serviços   serão   rodados   em   Linux,   através   da distribuição Debian. De acordo com a Diretoria de Tecnologia da Informação e Comunicação do IFSC, foi escolhida esta distribuição devido à preocupação especial pela segurança que ela oferece,  pois  os  pacotes  de softwares  e  atualizações  são disponibilizados  nos  repositórios apenas após severos testes das equipes de desenvolvimento.  Nem sempre se tem a última versão do software, porém, existe uma chance maior de se ter um sistema sempre estável.

A configuração de hardware necessária a esta implementação é relativamente básica, devido   à   instituição   ainda   ser   nova   e   ainda   possuir   poucos   cursos.   Além   disso,   a implementação inicial da solução atenderá somente a professores e técnicos administrativos, o que   reduz  muito   a   quantidade  de   acessos  à   rede   sem  fio.  O  único   servidor   que   exigirá processamento otimizado será o RADIUS, pois muitas requisições simultâneas poderão gerar ineficiência   e   espera   por   parte   dos   usuários,   necessitando   um   processamento   rápido   de autenticação. Serão necessários os seguintes equipamentos:

• Servidor   LDAP:   Computador   com   processador   de   dois   núcleos,   2   Gigabytes   de memória RAM, 3 discos rígidos de 250 Gigabytes com implementação de RAID 5 via hardware.

• Servidor   VPN:   Computador   com   processador   de   dois   núcleos,   4   Gigabytes   de memória RAM, 2 discos rígidos de 250 Gigabytes com implementação de RAID 0 via hardware.

• Servidor RADIUS: Computador com processador de quatro núcleos, 4 Gigabytes de memória RAM, 2 discos rígidos de 250 Gigabytes com implementação de RAID 0 via hardware.Além disso,  os   equipamentos  Access  Point  deverão   suportar  o  padrão  802.1X  ou 

802.11i,   pois   só   assim   será   possível   a   configuração   da   segurança   com   autenticação   em servidor RADIUS.

6 Instalação e configuração do OpenLDAP e FreeRADIUS

Nesta   seção   serão   abordadas   a   instalação   e   configuração   básica   dos   programas OpenLDAP e FreeRADIUS. Como a instituição já possui o servidor LDAP, será demonstrada mais detalhadamente a configuração do segundo programa, uma vez que o LDAP participará como auxiliar durante o processo de autenticação RADIUS.

6.1 OpenLDAP ­ Introdução

Page 8: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

O  OpenLDAP  é   uma   implementação  open   source  (código   aberto)   do   protocolo Lightweight Directory Access Protocol (LDAP), que inclui  um servidor  daemon  (slapd) e bibliotecas de acesso ao protocolo [7].  Tecnicamente, o OpenLDAP consiste em um conjunto de entradas hierarquicamente organizado. Cada entrada pertence a certas classes de objeto e contém vários pares do tipo “chave=valor” chamado atributos. [8] O campus já faz o uso deste  software desde 2006, sendo neste   tempo provado seu bom funcionamento.  Por esta razão, serão abordados três procedimentos: instalação, configuração básica e acesso à base, sendo esta última demonstrada com a base de dados existente atualmente na instituição. 

6.1.1 OpenLDAP ­ Instalação

Para realizar a instalação do servidor LDAP, é necessário instalar o pacote “slapd”, além de algumas bibliotecas para acesso ao LDAP e banco de dados, e por fim instalar um pacote de utilitários do LDAP. A instalação no Linux Debian poderá  ser feito baixando e compilando os arquivos fonte através dos comandos “./configure | make | make install”  ou então pela instalação direta (incluindo as bibliotecas e utilitários) com o comando “sudo apt­get install slapd ldap­utils libldap2 libdb4.6”. 

6.1.2 OpenLDAP ­ Configuração

Utilizando   a   opção  de   instalação  pelo   comando   “apt­get”,   o  programa  “Debconf” (presente  no  Debian)   será   executado  automaticamente  e  auxiliará  na  pré­configuração  do sistema com algumas perguntas, conforme abaixo:  

(####   Não   deverá   omitir   a   configuração   do   servidor,   pois   assim,   o   sistema   será   pré­configurado)

• Omit OpenLDAP server configuration? No • DNS domain name: ifsc.edu.br  (#### Nome do domínio que será utilizado)• Organization name? ifsc.edu.br (#### Nome da organização)• Administrator password: XXXXXX  (#### Senha do administrador do LDAP)• Confirm password: XXXXXX  (#### Repetir senha)

(#### Tipo de base de dados. O Berkeley Data Base (BDB) é o padrão e mais usado, embora existam outros como por exemplo o GDBM)

• Database backend to use: BDB (#### Remover base de dados se desinstalar o servidor LDAP? Optou­se por não remover)

• Do you want the database to be removed when slapd is purged? No(#### Deverá ser habilitado o protocolo LDAP versão 2 somente caso necessário para fins  de compatibilidade. Caso contrário responda que não para aumentar a segurança)

• Allow LDAPv2 protocol? No

O  OpenLDAP  possui   dois   arquivos   de   configuração   principais.   Abaixo   serão apresentados  os   arquivos  e   as   configurações   que  precisaram  ser   alteradas  para   se   tornar possível o acesso pelos clientes.

• /etc/ldap/ldap.conf:  Pequeno   arquivo   com   configurações   comuns   para   todos   os clientes. Nele serão habilitadas as consultas à base LDAP, seja via linha de comando 

Page 9: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

(ldapsearch) ou via interface gráfica.  Para isto deverá  ser configurado o parâmetro “BASE”  com   o   domínio   configurado   na   instalação,   além   do   endereço  (URI)  do servidor que será utilizado para efetuar as consultas, neste caso, a própria máquina.

BASE  dc=ifsc, dc=edu, dc=brURI ldap://127.0.0.1/

• /etc/ldap/slapd.conf:  Principal arquivo de configuração, onde se encontram todos os parâmetros pré­configurados na instalação e muitos outros, tais como: parâmetros de permissão de acesso, controles de requisições e segurança.   Abaixo são apresentados os principais parâmetros do arquivo que foram configurados.

### Inclusão dos schemas de objetos prontos do LDAP para a fácil             ### criação dos objetos e atributos

include         /etc/ldap/schema/core.schemainclude         /etc/ldap/schema/cosine.schemainclude         /etc/ldap/schema/nis.schemainclude         /etc/ldap/schema/inetorgperson.schema

### A não inclusão de índices pode resultar em alguns casos uma consulta   ### não retornar valores quando deviam. Foi adicionado um índice para a            ### busca indexada pelo atributo UID, ou seja, pelo nome do usuário LDAP

index           objectClass eqindex           uid         eq

### Parâmetros que foram pré­configurados na instalação, além da configuração  ### do usuário administrador (admin) e sua senha criptografada com MD5

database        bdbsuffix             "dc=ifsc,dc=edu,dc=br"rootdn           "cn=admin,dc=ifsc,dc=edu,dc=br"rootpw           "{MD5}XXXXXXXXXXXXXX"

### Configuração de acesso ao atributo (senha do usuário): 1 – permissão somente ### de autenticação com usuário anônimo; 2 ­ de escrita apenas para o próprio### usuário que detém a senha; 3 – nenhuma permissão para os demaisaccess to attrs=userPasswordby anonymous authby self writeby * none

b

### Configuração de acesso a todos os  demais atributos: 1 – permissão de ### escrita para o usuário administrador do LDAP (Admin); 2 – Permissão ### de leitura para os demais usuáriosaccess to *by dn="cn=admin,dc=ifsc,dc=edu,dc=br" writeby * read

Page 10: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

6.1.3 OpenLDAP – Acesso à base

O   acesso   LDAP   pode   ser   realizado   de   duas   maneiras.   A   primeira   é   através   de execução em linha do comando, com a escrita e leitura de arquivos com extensão “.ldif”, sendo que estes deverão ser previamente configurados e carregados pelo servidor através do comando  “ldapadd”.  A segunda forma é através de um  browser  gráfico. As figuras 5 e 6 mostram a configuração e o acesso à base de dados do campus respectivamente. Preferiu­se demonstrar na base já existente no instituto, pois a mesma possui uma estrutura hierárquica completa, permitindo assim um melhor entendimento do protocolo LDAP. Foi utilizado para o acesso o software “LDAPadmin”.

Figura 5:  Configuração do cliente LDAPadmin

Figura 6: Acesso à base com o cliente LDAPadmin

Page 11: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

6.2 FreeRADIUS ­ Introdução

O FreeRADIUS é o servidor RADIUS mais amplamente utilizado no mundo. É a base para múltiplas ofertas comerciais e também amplamente utilizado na comunidade acadêmica. O servidor é rápido, rico em funcionalidades, modular e escalável [9]. Por esta razão foi o software escolhido para tal finalidade.

Antes  de  iniciar  a   instalação  do  FreeRADIUS,  vale   lembrar  que  o padrão 802.1X suporta vários tipos de autenticação EAP segura, sendo altamente recomendável a escolha de um tipo. Alguns utilizam algoritmos de função  hash  de criptografia como, por exemplo, o EAP­MD5. Outros utilizam mecanismos mais complexos com o uso de certificados digitais, como o EAP­TLS (EAP – Transport Layer Security),  e ainda tunelamento,  como o EAP­TTLS (EAP ­ Tunneled Transport Layer Security) e o PEAP (Protected EAP). Existem outros tipos, porém optou­se por escolher o PEAP como solução, devido à sua compatibilidade com sistemas  operacionais  Windows  (O PEAP foi  desenvolvido  pela  Microsoft),   sendo que  o instituto ainda possui estes sistemas em quase todas as máquinas clientes. Porém, realizou­se a configuração e testes com o EAP­TTLS e Linux, pois estes não são proprietários, podendo se tornar uma boa solução futura. Tanto o PEAP quanto o EAP­TTLS utilizam certificados digitais apenas do lado servidor. Já o EAP­TLS deve utilizar obrigatoriamente certificados digitais tanto no lado cliente quanto no servidor, o que inviabiliza o uso sem que a instituição possua uma completa infraestrutura de chave pública (PKI) [5].

6.2.1 FreeRADIUS ­ Instalação

A instalação do pacote  FreeRADIUS  no Linux Debian   é bem simples, podendo ser baixado e em seguida executado o pacote com a extensão .DEB com o comando “dpkg –i  pacote.deb” ou através da instalação direta com o comando: “apt­get install freeradius”. A compilação dos fontes também é simples, através dos comandos de rotina: ./configure | make | make install.  Para ser possível o RADIUS utilizar  protocolos de segurança, deverá  estar previamente instalada a biblioteca de desenvolvimento SSL (“aptitude install libssl­dev”). 

6.2.2 FreeRADIUS – Criação de certificados

A instalação padrão do FreeRADIUS já realiza a criação da CA (Certificate Authority) e do certificado digital do servidor (armazenados na pasta /../raddb/certs/), além de deixar os arquivos de configuração pré configurados para o uso de autenticação segura. No caso de qualquer   forma   desejar­se   criar   um   certificado,   o   mesmo   poderá   ser   criado   através   do software openSSL,  instalado através do comando “apt­get install openssl”. Abaixo segue um exemplo da criação de um certificado auto­assinado (X­509): 

• Geração   da   chave   privada   RSA   de   tamanho   1024,   protegida   por   uma   senha   e criptografada com o triple­DES: “openssl genrsa ­des3 ­out chaveprivada.key 1024”

• Geração  do  certificado  auto­assinado   (X.509)   a  partir  da  chave  privada  gerada   (é necessário digitar novamente a senha relativa à chave privada criada): “openssl req ­new ­key chaveprivada.key ­x509 –out certificado.crt”

Page 12: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

6.2.3 FreeRADIUS – Configurações

O FreeRADIUS oferece uma infinidade de opções de configuração para ser aplicado de  acordo com cada ambiente  organizacional  e  situação.  Por  esta   razão,  serão abordadas apenas   as   principais   configurações,   além   das   alterações   que   foram   necessárias   para   a realização   do   cenário   proposto   neste   estudo.   Abaixo   estão   os   principais   arquivos   de configuração do RADIUS e as alterações realizadas (quando necessário) nos mesmos.

• Radiusd.conf:  arquivo   principal   de   configuração,   onde   são   feitas   as   inclusões (INCLUDE)   dos   outros   arquivos   de   configuração.   Além   disso,   ele   possui   vários parâmetros importantes para o controle e redução da chance de ataques como, por exemplo,   o   parâmetro  max_attributes  (número   máximo   de   atributos   no   pacote RADIUS) que se muito alto permitirá ataques DoS (Denial of Service) para esgotar os recursos do servidor.  

• Clientes.conf:  define quem possuirá  permissão para tentar se autenticar ao servidor RADIUS. Normalmente é permitido o acesso à faixa de IPs onde estão configurados os   dispositivos   Access   Points.   Abaixo,   será   liberada   toda   a   faixa   172.19.x.x.   O parâmetro obrigatório “secret” é uma senha que será compartilhada na comunicação entre o Access Point e o servidor, sendo que esta mesma senha deverá ser configurada no equipamento de rede sem fio.

client 172.19.0.0/16 {secret             = 123shortname     = APs

}

• Eap.conf:  contém as configurações dos tipos de EAP (PEAP, TLS, TTLS, etc). As configurações   já   estão   pré­definidas,   inclusive   com   os   certificados   já   criados automaticamente na instalação. Foram alteradas apenas duas opções. A configuração geral do EAP “default_eap_type” está definindo o PEAP como tipo padrão de EAP, enquanto   o   parâmetro   específico   do   PEAP   “default_eap_type”  define   que   a comunicação   dos   dados   criptografados   (após   o   estabelecimento   do   tunnel   de comunicação com utilização de certificado) será por meio do método de autenticação MSCHAPV2.

eap {default_eap_type = peap

}

peap {default_eap_type = mschapv2

}

• /../rabbd/Sites­available/default:  neste   arquivo   poderão   ser   definidas   várias configurações para as fases de autenticação e autorização, conforme cada tipo de EAP. Não foi necessária a alteração deste arquivo.

• /../rabbd/Sites­available/inner­tunnel: apresenta a mesma estrutura do arquivo default, sendo somente para os tipos EAP­PEAP e EAP­TTLS, pois estes utilizam tunneis na 

Page 13: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

comunicação.   Nele,   foi   habilitado   o   módulo   de   autorização   com   o   LDAP, descomentando a linha “ldap” dentro da seção “autorization { }”.

• /../rabbd/modules/inner­tunnel:  as   configurações   do   modulo   LDAP   são   realizadas aqui. Dentro da seção ldap { } foram adicionados seguintes parâmetros:

ldap {#### endereço IP do servidorserver = 172.19.XX.XX  #### identidade do administrador do servidor LDAPidentity = "cn=admin,dc=ifsc,dc=edu,dc=br"#### senha do administrador LDAPpassword = XXXXXXXXXXXXXXXXXXXXX#### Base do domíniobasedn = "dc=ifsc,dc=edu,dc=br"#### Máscara para determinar o nome do usuário LDAP (suplicante)filter = "(uid=%{%{Stripped­User­Name}:­%{User­Name}})"#### Máscara de filtro da basebase_filter = "(objectclass=radiusprofile)"

}

6.2.4 FreeRADIUS – Inicialização do serviço

Uma das grandes vantagens do  FreeRADIUS  é  a opção de executá­lo em modo de depuração, através da inicialização do servidor com o parâmetro –X (“rabbid –X”). Além de exibir   todo   o   processo   de   tentativas   de   requisição,   apontando   os   acontecimentos   que ocorreram com sucesso ou erros, ele serve para apurar erros na configuração do programa, ou até  mesmo acompanhar  e descobrir se existem tentativas de acesso indevidas.  Abaixo são apresentados alguns trechos do log gerado:

• O   servidor   recebe   uma   requisição   de   acesso   RADIUS   com   a   identificação   do suplicante (usuário), além de informações do Access Point (NAS):

Listening on proxy address * port 1814Ready to process requests.rad_recv: Access­Request packet from host 172.19.52.5 port 60136, id=50, length=131

User­Name = "marcosh"NAS­IP­Address = 192.168.0.1NAS­Port = 0Called­Station­Id = "00­1b­11­e6­12­4b"Calling­Station­Id = "00­19­7d­6e­83­92"NAS­Identifier = "DI­624"Framed­MTU = 1380NAS­Port­Type = Wireless­802.11EAP­Message = 0x0201000c016d6172636f7368Message­Authenticator = 0x85279b0cfc8cd2adbbd0edc61d5ac74f

• Envio de mensagem de desafio de acesso:

Sending Access­Challenge of id 50 to 172.19.52.5 port 60136

Page 14: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

EAP­Message = 0x010200061920Message­Authenticator = 0x00000000000000000000000000000000State = 0x49bc59f149be40c53f5aa2b9ba76470c

• Estabelecimento de conexão com certificado e finalização da requisição com sucesso:

[peap] >>> TLS 1.0 Handshake [length 085e], Certificate  [peap]     TLS_accept: SSLv3 write certificate A EAP­Message = 0xa73082038fa0030201020209

Message­Authenticator = 0x00000000000000000000000000000000State = 0x49bc59f148bf40c53f5aa2b9ba76470c

Finished request 1.Going to the next request

7  Implantação e Testes da solução

A implantação se dará através dos servidores LDAP e RADIUS (com a inicialização dos   seus   respectivos   serviços:   “slapd   ­x”   e  “rabbid   –X”),  das   configurações   dos equipamentos Access Point (para se autenticarem ao servidor RADIUS) e dos clientes (que realizarão o acesso à rede sem fio).  

7.1 Configuração dos Access Points

A configuração destes equipamentos normalmente é bem simples. A figura 7 exibe as configurações para o equipamento DI­624 da marca D­LINK. Depois de definir o tipo de autenticação para “EAP”, é possível preencher as configurações do servidor RADIUS, com o endereço IP do servidor, a porta de acesso e a senha secreta (a mesma senha informada no arquivo clients.conf do servidor RADIUS.

Figura 7: Configuração do Access Point

7.2 Configurações do cliente Windows (PEAP)

Para realizar o acesso à rede wireless através do PEAP, algumas pequenas alterações deverão ser realizadas nas configurações de rede sem fio do usuário. As figuras 8 e 9 ilustram 

Page 15: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

as  propriedades  de   rede  alteradas.  A primeira   janela  demonstra  que  está   sendo  utilizado segurança WPA com algoritmo AES de criptografia para esta conexão. Já a segunda janela da figura 8 mostra que o tipo de EAP foi alterado para PEAP no lugar de TLS. Ao entrar nas propriedades do EAP (figura 9), foi retirada a opção de validar o certificado do servidor, pois o  mesmo não   foi  validado  em uma entidade  certificadora.  Além disso,  nota­se  que   será utilizado   o   método   de   autenticação   MSCHAPV2,   conforme   já   configurado   no   servidor RADIUS.

Figura 8: Configurações da rede sem fio com PEAP

Figura 9: Configurações da rede sem fio com PEAP

Page 16: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

7.3 Testes do cliente Windows (PEAP)

Os acontecimentos relativos ao acesso à rede sem fio estão apresentadas nas figuras 10 à 14. O usuário enxerga o Access Point de maneira idêntica a como se fosse efetuar um acesso sem autenticação RADIUS. Porém, após a tentativa de acesso, um aviso aparece (devido a uma requisição de ID EAP enviada pelo autenticador)  alertando­o de que será  necessário informar as credencias do usuário (login e senha do LDAP) para obter o acesso. Após o envio das credenciais, se tudo estiver correto, a conexão será autorizada e estabelecida.

Figura 10: Tentativa de acesso autenticado (PEAP­Windows) com RADIUS 

Figura 11: Tentativa de acesso autenticado (PEAP­Windows) com RADIUS

Figura 12: Tentativa de acesso autenticado (PEAP­Windows) com RADIUS

Page 17: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

Figura 13: Tentativa de acesso autenticado (PEAP­Windows) com RADIUS

Figura 14: Tentativa de acesso autenticado (PEAP­Windows) com RADIUS

Depois   de   estabelecida   a   conexão,   a   requisição   do   servidor   RADIUS   é   finalizada   e   a comunicação ficará somente entre o usuário e o Access Point.

7.4 Configurações e teste do cliente Linux (TTLS)

Para   a   realização   deste   cenário,   foi   necessária   apenas   a   alteração   do   arquivo   de configuração “Eap.conf”, mudando o parâmetro “default_eap_type”  de  “peap”  para“ttls”. Assim, o servidor RADIUS já passa a realizar a comunicação através do tipo TTLS. 

O acesso através do Linux pode ser visualizado nas figuras 15 e 16. A configuração da conexão já é realizada no momento da tentativa de acesso. Em seguida basta ignorar a escolha de certificado para obter o acesso.

Page 18: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

Figura 15: Tentativa de acesso autenticado (Linux­TTLS) com RADIUS

Figura 16: Tentativa de acesso autenticado (Linux­TTLS) com RADIUS

8 Futuras melhorias

Primeiramente, deve­se ter em mente que a busca por melhorias e atualizações de uma solução  deve   ser  permanente,   com o   intuito  de  diminuir   as  brechas   existentes.  Contudo, algumas melhorias poderão já ser descritas como um planejamento futuro de ações. 

A adoção do modelo em VLANs é uma delas, podendo ser implantada quando houver disponibilidade dos recursos necessários. Com o uso do Linux nas máquinas clientes, torna­se interessante o uso do EAP­TTLS no lugar do PEAP no futuro. Outra possibilidade seria a de o Instituto gerar certificados como uma Autoridade Certificadora, podendo assim implementar o tipo de autenticação EAP­TLS, com certificados do lado cliente e servidor, inibindo assim a possibilidade de ataques do tipo “Man in the middle” por exemplo. Por fim, deseja­se a busca de uma solução hotspot para tornar o serviço de wireless mais transparente e apresentável.

9 Considerações finais  

Após a instalação desta solução, foi possível verificar a importância do uso continuo de novas tecnologias a fim de buscar sempre o melhor nível de controle e segurança possível, porém, em concordância com a facilidade de acesso. 

Tenho a certeza que esta solução foi uma ótima escolha, pois além de possibilitar um acesso seguro a uma rede que pode em situações normais ser facilmente explorada (wireless), ainda garante os quesitos fundamentais da segurança (Confidencialidade, Disponibilidade e Integridade),  além de proporcionar funções avançadas como, por exemplo,  o não repúdio, através da leitura dos logs de acesso no servidor RADIUS e a contabilidade, presente neste serviço.

As comunicações sem fios têm desfrutado de um crescimento constante ao longo das duas últimas décadas. De controle remoto de televisões ao uso de satélites para sistemas de comunicação, as redes sem fios têm mudado o modo como vivemos[10]. Porém, devido ao aumento das diversas ameaças, cada vez mais frequentes na internet, penso que a única forma proteger nossas informações e de nos proteger de ataques, é adotando cada vez mais soluções de segurança e tecnologia, alem é claro, de criar políticas de segurança eficazes, aplicando a toda a organização.

Bibliografia

[1] GAST, Matthew et al. 802.11® Wireless Networks: The Definitive Guide. Editora O’Reilly, abril. 2002.

Page 19: Segurança de redes sem fio, uma proposta com serviços ...jamhour/RSS/TCCRSS08A/Marcos Heys… · O LDAP (Lightweight Directory Access Protocol) é um protocolo para acessar serviços

[2] Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map. Disponível em: http://tools.ietf.org/html/rfc4510

[3] HASSELL, Jonathan et al. RADIUS. Editora O’Reilly, outubro. 2002.

[4] SANCHES, Carlos Alberto et al. Projetando Redes WLAN: Conceitos e Práticas. 1 edª. São Paulo: Editora Érica, 2005. 

[5] BAUER, Mick. Paranoid Penguin ­ Securing WLANs with WPA and FreeRADIUS, Part I, Março, 2005. Disponível em: http://www.linuxjournal.com/article/8017

[6] PHIFER, Lisa. 802.1x Port Access Control for WLANs. 2003. Disponível em: http://www.wi­fiplanet.com/tutorials/article.php/3073201. 

[7] OPENLDAP.ORG, Community developed LDAP software. 2009. Disponível em: http://www.openldap.org/. 

[8] DOCELIC, OpenLDAP instalation on Debian, Março, 2002. Disponível em: http://freeradius.org/. 

[9] FREERADIUS.ORG, The world's most popular RADIUS Server. 2009. Disponível em: http://freeradius.org/. 

[10] KHAN, Jahanzeb; KHWAJA, Anis. Building Secure Wireless Networks with 802.11. Editora Wiley, 2003.