Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
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 diaadia 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
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. Entendese 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 DialIn 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 EAPMD5, EAPTTLS (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
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 constatouse 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, email 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,
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 comunicarse 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
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,
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), resolveuse 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
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). Optouse então pelo uso de ferramentas de uso difundido por várias empresas e com bastante documentação disponível. Adotaramse 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
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 aptget install slapd ldaputils libldap2 libdb4.6”.
6.1.2 OpenLDAP Configuração
Utilizando a opção de instalação pelo comando “aptget”, 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? Optouse 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
(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
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. Preferiuse 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
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 EAPMD5. Outros utilizam mecanismos mais complexos com o uso de certificados digitais, como o EAPTLS (EAP – Transport Layer Security), e ainda tunelamento, como o EAPTTLS (EAP Tunneled Transport Layer Security) e o PEAP (Protected EAP). Existem outros tipos, porém optouse 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, realizouse a configuração e testes com o EAPTTLS e Linux, pois estes não são proprietários, podendo se tornar uma boa solução futura. Tanto o PEAP quanto o EAPTTLS utilizam certificados digitais apenas do lado servidor. Já o EAPTLS 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: “aptget 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 libssldev”).
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 desejarse criar um certificado, o mesmo poderá ser criado através do software openSSL, instalado através do comando “aptget install openssl”. Abaixo segue um exemplo da criação de um certificado autoassinado (X509):
• Geração da chave privada RSA de tamanho 1024, protegida por uma senha e criptografada com o tripleDES: “openssl genrsa des3 out chaveprivada.key 1024”
• Geração do certificado autoassinado (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”
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/Sitesavailable/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/Sitesavailable/innertunnel: apresenta a mesma estrutura do arquivo default, sendo somente para os tipos EAPPEAP e EAPTTLS, pois estes utilizam tunneis na
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/innertunnel: 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=%{%{StrippedUserName}:%{UserName}})"#### 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: AccessRequest packet from host 172.19.52.5 port 60136, id=50, length=131
UserName = "marcosh"NASIPAddress = 192.168.0.1NASPort = 0CalledStationId = "001b11e6124b"CallingStationId = "00197d6e8392"NASIdentifier = "DI624"FramedMTU = 1380NASPortType = Wireless802.11EAPMessage = 0x0201000c016d6172636f7368MessageAuthenticator = 0x85279b0cfc8cd2adbbd0edc61d5ac74f
• Envio de mensagem de desafio de acesso:
Sending AccessChallenge of id 50 to 172.19.52.5 port 60136
EAPMessage = 0x010200061920MessageAuthenticator = 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 EAPMessage = 0xa73082038fa0030201020209
MessageAuthenticator = 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 DI624 da marca DLINK. 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
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, notase 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
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) alertandoo 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 (PEAPWindows) com RADIUS
Figura 11: Tentativa de acesso autenticado (PEAPWindows) com RADIUS
Figura 12: Tentativa de acesso autenticado (PEAPWindows) com RADIUS
Figura 13: Tentativa de acesso autenticado (PEAPWindows) com RADIUS
Figura 14: Tentativa de acesso autenticado (PEAPWindows) 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.
Figura 15: Tentativa de acesso autenticado (LinuxTTLS) com RADIUS
Figura 16: Tentativa de acesso autenticado (LinuxTTLS) com RADIUS
8 Futuras melhorias
Primeiramente, devese 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, tornase interessante o uso do EAPTTLS 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 EAPTLS, com certificados do lado cliente e servidor, inibindo assim a possibilidade de ataques do tipo “Man in the middle” por exemplo. Por fim, desejase 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.
[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.wifiplanet.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.