CENTRO DE EDUCAÇÃO PROFISSIONAL DIOMÍCIO FREITAS JONATA ARAUJ ARAUJO O MARTINS
FREERADIUS: AUTENTICAÇÃO PPPOE
Tubarão 2012
JONATA ARAUJ ARAUJO O MART M ARTINS INS
FREERADIUS: AUTENTICAÇÃO PPPOE
Projeto Projeto de Trabalho Trabalho de Conclusão Conclusão de Curso Curso apresentado ao Curso de Técnico em Redes de Computadores do Centro Centro de d e Educação Profissional Profissional Diomício Freitas.
Orientadores Orientadores:: Esp. Esp. Marcos Paulo Pa ulo Mota Esp. Esp. Mauri Maur icio Can Ca nto
Tubarão 2012
JONATA ARAUJ ARAUJO O MART M ARTINS INS
FREERADIUS: AUTENTICAÇÃO PPPOE
Projeto Projeto de Trabalho Trabalho de Conclusão Conclusão de Curso Curso apresentado ao Curso de Técnico em Redes de Computadores do Centro Centro de d e Educação Profissional Profissional Diomício Freitas.
Orientadores Orientadores:: Esp. Esp. Marcos Paulo Pa ulo Mota Esp. Esp. Mauri Maur icio Can Ca nto
Tubarão 2012
JONATA ARAUJ ARAUJO O MART M ARTINS INS
FREERADIUS: AUTENTICAÇÃO PPPOE
Trabalho de Conclusão de Curso apresentado ao Curso de Técnico em Redes de Computadores, do Centro de Educação Profiss Profiss ional Dio Dio mício Freitas.
Tubarão, Tubarão, 06 de dez de zembro de 2012. ______________________ ________________________________ _____________________ ______________________ ___________ Prof. Marcos Marcos Paul Pa ulo, o, Especialista. Especialista. Centro Centro de Educação Profissional Di D iomício Freita Fre itass ______________________ ________________________________ _____________________ ______________________ ___________ Prof. Mauricio Mauricio Can Ca nto, Especi E specialista. alista. Centro Centro de Educação Profissional Di D iomício Freita Fre itass ______________________ ________________________________ _________________________ ______________________ _______ Prof. José Valter Luciano Pereira, Coordenador. Centro Centro de Educação Profissional Di D iomício Freita Fre itass
AGRADECIMENTOS
Primeiramente ao meu amado Deus, por tudo nessa vida. Aos meus pais João Custodio Martins e Neuza de Araujo Martins, namorada Pâmela Batista Faustino, ao Portal SempreUpdate que nos momentos de ausência dedicados ao termino do curso técnico, sempre fizeram entender que o futuro, é feito a partir da constante dedicação no presente. Aos Professores do curso desde o inicio que incentivaram para que assim pudesse chegar ao fim com aproveitamento e além de trazer maiores conhecimentos. Ao Especialista Marcos Paulo e o Especialista Mauricio Canto, pelas recomendações, dedicação e acompanhamento deste trabalho durante o desenvolvimento, e a todos que, direta ou indiretamente, me apoiaram durante toda essa trajetória.
RESUMO
A necessidade de usar a internet vem crescendo cada vez mais. As redes sem fio se tornaram presentes em vários locais para trazer grandes benefícios, flexibilidade, redução de custos e de mobilidade. Atualmente, os grandes provedores estão usando as redes 802.11 padrão, levando internet para diversas áreas. Este projeto visa à implementação do protocolo r adius atualmente utilizado, trazendo estabilidade na autenticação.
Palavras-chave: 802.11, Radius, Estabilidade, Wireless.
ABSTRACT
The need to use the internet is growing increasingly. Wireless networks have become present in various locations to bring great benefits, flexibility, cost reduction and mobility. Currently, the major providers are using the 802.11 standard, leading Internet to several areas. This project aims to implement the protocol currently used radius, bringing stability authentication.
Keywords: 802.11, Radius, Stability, Wireless.
LISTA DE ILUSTRAÇÕES
Figura 1 – Topologia de rede (Estrela). .................................................................................... 17 Figura 2 – Topologia de rede (Anel). .......................................................................................17 Figura 3 – Topologia de rede (Barramento). ............................................................................ 18 Figura 4 – Camadas do modelo OSI . ........................................................................................19 Figura 5 - Modelo de Referência TCP/IP Híbrido....................................................................23 Figura 6 - Comparação entre camadas dos modelos OSI e TCP/IP. ........................................24 Figura 7 – Redes sem fio (cidade) ............................................................................................ 27 Figura 8 – Redes sem fio (residência) ......................................................................................28 Figura 9 – Arquitetura IEEE ..................................................................................................... 29 Figura 10 – Deficiências do CSMA/CA ...................................................................................31 Figura 11 – Pacote de dados radius. ......................................................................................... 35 Figura 12 – Estabelecimento sessão. ........................................................................................37 Figura 13 – Contabilidade sessão ............................................................................................. 38 Figura 14 – Modelo proposto para a rede wireless. ..................................................................42
LISTA DE QUADROS
Quadro 1 – Backup do kernel . .................................................................................................. 43 Quadro 2 – Kernel otimizado. .................................................................................................. 43 Quadro 3 – Comando para copilar o kernel . ............................................................................. 44 Quadro 4 – Comando ifconfig ................................................................................................... 45 Quadro 5 – Comando dhclient . ................................................................................................. 45 Quadro 6 – Instalação do dhcp. ................................................................................................45 Quadro 7 – Co nfiguração do dhcp para rede interna. ...............................................................46 Quadro 8 – Iniciando dhcp com o sistema................................................................................46 Quadro 9 – Configuração de endereço de rede na placa interna. .............................................46 Quadro 10 – Regra do pf. .........................................................................................................47 Quadro 11 – Configuração do ppp.conf. ..................................................................................48 Quadro 12 – Co nfiguração do arquivo radius.conf. .................................................................48 Quadro 13 – Iniciando pppoe server com o sistema................................................................. 48 Quadro 14 – Instalação do mysql . ............................................................................................. 49 Quadro 15 – Adicionando senha no mysql . ..............................................................................49 Quadro 16 – Criando o banco radius........................................................................................49 Quadro 17 – Previlégios do banco radius.................................................................................50 Quadro 18 – Instalação do apache............................................................................................ 50 Quadro 19 – Instalação do php. ................................................................................................50 Quadro 20 – Ativando módulo do apache no php.................................................................... 51 Quadro 21 – Instalação da extensão para o p hp. ......................................................................51 Quadro 22 – Ativando módulo mysql para extensão do php. ................................................... 52 Quadro 23 – Instalação do php. ................................................................................................52 Quadro 24 – Ativando módulo mysql no php. ..........................................................................53 Quadro 25 – Copiando arquivo config.default.php para config.inc.php. ................................. 53 Quadro 26 – Editando o arquivo config.inc.php.......................................................................54 Quadro 27 – Criando alias no httpd.conf. ................................................................................. 54 Quadro 28 – Instalação do freeradius ........................................................................................55 Quadro 29 – Módulo mysql para freeradius. ............................................................................55 Quadro 30 – Importação do schema sql. ..................................................................................56 Quadro 31 – Importação do schema nas...................................................................................56 Quadro 32 – Editando o arquivo sql.conf. ................................................................................ 56 Quadro 33 – Senha secreta. ...................................................................................................... 57 Quadro 34 – Debug freeradius . ................................................................................................ 57 Quadro 35 – Notebook conectado na rede local. ......................................................................58 Quadro 36 – Acessando o php via browser. ............................................................................. 58 Quadro 37 – Banco radius no php. ...........................................................................................59 Quadro 38 – Adicionando o usuário. ........................................................................................59 Quadro 39 – Adicionando IP ao usuário...................................................................................60 Quadro 40 – Adicionando máscara de sub-rede ao usuário. ....................................................60 Quadro 41 – Associando o usuário ao grupo cedup. ................................................................60 Quadro 42 – Protocolo de enquadramento do grupo cedup. ....................................................61 Quadro 43 – Protocolo de comunicação do grupo cedup. ........................................................ 61 Quadro 44 – Solicitação de autenticação através do programa NTRadPing. ...........................62 Quadro 45 – So licitação de contabilidade através do programa N TRadPing. ......................... 63 Quadro 46 – Modo de operação do ponto de acesso. ............................................................... 64
Quadro 47 – Configuração da rede wireless do ponto de acesso. ............................................64 Quadro 48 – Configuração da interface LAN do ponto de acesso. ..........................................65 Quadro 49 – Status do ponto de acesso. ...................................................................................65 Quadro 50 – Modo de operação do cliente. ..............................................................................66 Quadro 51 – Configuração wireless do cliente. ........................................................................67 Quadro 52 – Configuração da interface wan do cliente. ..........................................................68 Quadro 53 – Configuração da interface lan do cliente. ............................................................68 Quadro 54 – Status do cliente. ..................................................................................................69 Quadro 55 – Registro no arquivo ppp.log. ...............................................................................70 Quadro 56 – Tabela radacct. ..................................................................................................... 71 Quadro 57 – Tabela radpostauth. .............................................................................................. 71 Quadro 58 – Tun criado após a conexão. .................................................................................72
LISTA DE SIGLAS
AAA - Authentication, Authorization, Accounting ADSL - Assymmetric Digital Subscriber Line ATM - Asynchronous Transfer Mode BSD - Berkeley Software Distribution CHAP - Challenge Handshake Authentication Protocol CSMA/CA - Carrier Sense Multiple Access with Collision Av oidance CSMA/CD - Carrier Sense Multiple Access with Collision Detection DFWMAC - Distributed Foundation Wireless Medium Access Control DNS - Domain Name System DSSS - Direct Sequence Spread Spectrum FHSS - Frequency Hopping Spread Spectrum FTP - File Transfer Protocol GHZ - Gigahertz HDLC - High-Level Data Link Control HTTP – Hyper Text Transfer Protocol ICMP - Internet Control Message Protocol IEEE - Institute of Electrical and Eletronics Engineers IP - Internet Protocol ISO - International Organization for Standardization LAN - Local Area Network LCP - Link Control Protocol MAC - Media Access Control MBPS - Megabit por Segundo MD5 - Message-Digest algorithm 5 MHZ - Megahertz NCP - Network Control Protocol OSI - Open Systems Interconnection PAP - Password Authentication Protocol PPP - Point – To-Point Protocol PPPOA - Point-to-Point Protocol over AAL5
PPPOE - Point-to-Point Protocol over Ethernet PHP - Personal Home Page RADIUS - Remote Authentication Dial In User Service RF - Radio Frequency RFC - Request for Comments SMNP - Simple Network Management Protocol SMTP - Simple Mail Transfer Protocol SSID - Service Set IDentifier SQL - Structured Query Language TCP - Transmission Control Protocol TCP/IP - Transmission Control Protocol/ Internet Protocol UDP - User Datagram Protocol WAN - Wide Area Network
SUMÁRIO
1 INTRODUÇÃO ................................................................................................................... 15 1.1 OBJETIVO GERAL................................................................................................................. 15 1.2 OBJETIVO ESPECÍFICO .......................................................................................................... 15 2 REDES DE COMPUTADORES .......................................................................................... 16 2.1 TOPOLOGIA DE R EDES ......................................................................................................... 16 2.1.1 Estrela (Star): ................................................................................................................. 16 2.1.2 Anel (Ring): .................................................................................................................... 17 2.1.3 Barramento (Bus):.......................................................................................................... 18 2.2 PROTOCOLOS DE COMUNICAÇÃO................................................................................ 18 2.3 O MODELO OSI ................................................................................................................ 19 2.3.1 Camada Física ................................................................................................................ 20 2.3.2 Camada de Enlace .......................................................................................................... 20 2.3.3 Camada de Rede............................................................................................................. 20 2.3.4 Camada de Transporte ................................................................................................... 21 2.3.5 Camada de Sessão .......................................................................................................... 21 2.3.6 Camada de Apresentação ............................................................................................... 21 2.3.7 Camada de Aplicação ..................................................................................................... 22 2.4 A ARQUITETURA TCP/IP ..................................................................................................... 22 2.4.1 Camada de Aplicação ..................................................................................................... 24 2.4.2 Camada de Transporte ................................................................................................... 24 2.4.3 Camada Internet ............................................................................................................ 25 2.4.4 Camada de acesso a rede ................................................................................................ 26 3 REDES SEM FIO ................................................................................................................ 27 3.1 P ROTOCOLO DA R EDE SEM FIO ............................................................................................ 28 3.2 ARQUITETURA IEEE 802.11 ................................................................................................. 29 3.2.1 A camada Física ............................................................................................................. 29 3.2.2 O Protocolo da Subcamada M AC ................................................................................... 30 3.3 SERVIÇOS ........................................................................................................................... 31 4 F REE BSD ............................................................................................................................33 5 RAD I US ...............................................................................................................................33 5.1 A ARQUITETURA AAA ........................................................................................................ 33 5.2 AS VANTAGENS DO RADIUS ................................................................................................. 34 5.3 TOPOLOGIA E FUNCIONAMENTO........................................................................................... 35 5.3.1 Pacote de dados RADIUS ................................................................................................ 35 5.3.2 Estabelecimento de uma sessão ....................................................................................... 36 5.3.3 Contabilidade ................................................................................................................. 37 5.3.4 Métodos de Autenticação................................................................................................ 38 5.4 P ROTOCOLO PPP ................................................................................................................. 39 5.4.1 Os Protocolos PPPOA e PPPOE ...................................................................................... 39 6 DESENVOLVIMENTO ....................................................................................................... 41 6.1 MODELO PROPOSTO ............................................................................................................. 42 6.2 CONFIGURAÇÕES DO SISTEMA OPERACIONAL ....................................................................... 43 6.2.1 Kernel ............................................................................................................................. 43 6.2.2 I nterface s ........................................................................................................................ 44 6.2.3 Package Fil ter ................................................................................................................. 46 6.2.4 PPPOE SERVER ............................................................................................................ 47
6.3 I NSTALAÇÃO DO BANCO DE DADOS MYSQL E CONFIGURAÇÃO ................................................. 49 6.4 I NSTALAÇÃO DO SERVIDOR WEB ......................................................................................... 50 6.4.1 Apache ............................................................................................................................ 50 6.4.2 Php ................................................................................................................................. 50 6.4.3 Phpmyadmin ................................................................................................................... 52 6.5 I NSTALAÇÃO DO FREERADIUS E CONFIGURAÇÃO .................................................................... 55 6.5.1 Instalação do freeradius .................................................................................................. 55 6.5.2 Configuração do freeradius ............................................................................................. 56 6.5.3 Adicionando usuário no banco........................................................................................ 57 6.5.4 Testando com o programa NTRadPing .......................................................................... 61 6.6 CONFIGURAÇÃO DOS EQUIPAMENTOS ................................................................................... 63 6.6.1 Ponto de acesso ............................................................................................................... 63 6.6.2 Usuário ........................................................................................................................... 66 6.7 VERIFICANDO A CONEXÃO ................................................................................................... 70 6.7.1 Arquivo de log ppp.conf ................................................................................................. 70 6.7.2 Arquivo de log no banco de dados .................................................................................. 70 6.7.3 I nterface .......................................................................................................................... 72
7 CONCLUSÃO ..................................................................................................................... 73 7.1 DIFICULDADES ENCONTRADAS ................................................................................... 73 7.2 SUGESTÕES PARA TRABALHOS FUTUROS................................................................... 73 REFERÊNCIAS ........................................................................................................................ 74
15
1
INTRODUÇÃO
O grande avanço da tecnologia e a internet, fez que as empresas investisse cada vez mais em comunicações para atender uma demanda maior de usuários em diversos locais, com a melhor qualidade possível através da comunicação sem fio que ganhou o mercado por dispositivos portáteis. Acreditando nessa nova tecnologia, o IEEE ( Institute of Electrical and Eletronics Engineers ) constituiu um grupo de pesquisa para criar padrões e regulamentar as
redes sem fio, que hoje se tornou muito utilizada por grandes corporações ou usuários domésticos, por ser uma tendência moderna de se utilizar. Esse grande uso esta relacionado tanto por aspecto físico e redução de custo como também podemos destacar a mobilidade e flexibilidade de se utilizar dessa tecnologia. Este trabalho tem como finalidade de estudar os conceitos básicos, técnicos a respeito das redes sem fio e mostrar como funciona as autenticações radius.
1.1
OBJETIVO GERAL
Implementar o protocolo radius em um cenário de rede wireless para fazer autenticação de d ispositivos cadastrados.
1.2
OBJETIVO ESPECÍFICO
Implementar o servidor de autenticação freeradius baseado no sistema FreeBSD .
Configurar Acces Point para disponibilizar sinal wireless.
Configurar um roteador como cliente para receber sinal do Acces Point.
Gerenciar as informações no banco de dados mysql .
Disponibilizar serviços de rede.
16
2
REDES DE COMPUTADORES
Uma rede de computadores contém dois ou mais computadores e outros dispositivos interligados em uma infra-estrutura do qual podem compartilhar recursos físicos e lógicos. O objetivo principal de uma rede e a troca de informações e um exemplo e a internet que possamos conecta diversas redes de computadores. Segundo Kurose (2005, p.23 ) “A internet pública é uma rede de computadores mundial, isto é, uma rede que interconecta milhões de equipamentos de computação em todo o mundo”.
Com as redes de computadores, podemos facilmente trocar informações entre diversos locais, cidades, estados, países e continentes interligando entre si .
2.1
TOPOLOGIA DE REDES
A topologia de rede mostra como é a estrutura física, ou seja, a organização de uma rede e como é a interligação entre as redes de computadores. As redes se destacam em três modelos que são:
Estrela;
Anel;
Barramento;
2.1.1 Estrela (Star):
É usado cabos de par trançado e um ponto que chamamos de concentrador e ele que irar determinar a velocidade da transmissão entre outras funções. Todas as conexões parte desse ponto. È o modelo mais comum utilizado atualmente.
17
Figura 1 – Topologia de rede (Estrela). Fonte: Marina Martinez, 2012.
2.1.2 Anel (Ring):
Esse tipo de topologia utiliza o formato circular, aonde os dispositivos são interligados em série, Uma informação enviada por uma estação passa por outras estações fazendo assim que chegue ate ao seu respectivo destinatário.
Figura 2 – Topologia de rede (Anel). Fonte: Marina Ma rtinez, 2012.
18
2.1.3 Barramento (Bus):
Utiliza os cabos coaxiais, os dispositivos são ligados entre si através de um único cabo, podendo o controle ser centralizado ou distribuído.
Figura 3 – Topologia de rede (Barramento). Fonte: Marina Ma rtinez, 2012.
2.2
PROTOCOLOS DE COMUNICAÇÃO
É um Conjunto de regras estabelecido ou aceito de procedimentos, regras ou especificações formais utilizados para fazer comunicação entre diversos dispositivos sejam elas desktops, notebooks, servidores, aparelhos de celular ou qualquer outro dispositivo que se conecta em uma rede.Assim, dois ou mais dispositivos, para comunicarem numa rede, têm de falar o mesmo idioma, ou seja,utilizar o mesmo protocolo de comunicação. “O protocolo é um conjunto de regras que especificam o formato dos quadros,
pacotes de dados e mensagens trocadas entre entidades pares, dentro de uma mes ma camada. É um acordo entre partes que se comunicam, estabelecendo como se dará a comunicação.” (TORRES, p.36, 2001).”
Para essa comunicação dos protocolos, a ISO propôs que fossem organizado em camadas denominadas modelo de interconexão de sistemas aberto (OSI) para que houvesse integração de diversas redes..
19 2.3
O MODELO OSI
O modelo de referência OSI, se divide em sete camadas. Cada camada tem uma função para a comunicação de dados. Segundo Filippetti (2008, p.34),“Este modelo é uma referência, porque ele especifica todos os processos requeridos para que a comunicação de dados ocorra e divide esses processos em grupos lógicos, chamados layers (camadas)”. A figura 4 mostra como se divide essas camadas:
Figura 4 – Camadas do modelo OSI . Fonte: Cisco netwo rk academy, 2011.
20
2.3.1 Camada Física
A camada física é onde se inicia todo o processo de comunicação. Os sinais que é transmitido por cabo ou outro modo de transmissão chega a essa camada na forma de pulsos elétricos e se transforma em bits de zero e um. Para Soares (1995, p.132), “O nível físico fornece as características mecânicas,
elétricas, funcionais e de procedimentos para ativar, manter e desativar conexões físicas para transmissão de bits entre entidades de nível de enlace (ou ligação), possivelmente através de sistemas intermediários.
2.3.2 Camada de Enlace
A camada de enlace recebe os dados organizados pela Camada Física, os bits, os transforma em unidade de dado para ser passado para a camada de rede que continua o processo. O endereço físico dos dispositivos ( MAC Address ) localizasse nessa camada.
2.3.3 Camada de Rede
A Camada de Rede fica responsável pelo tráfego dos dados. Sua função e fazer roteamento dos pacotes, pega o endereço físico MAC e converte para endereço lógico (IP), Nessa camada também contém dispositivos que identificam o melhor caminho possível a ser entregue para que não haja perca. Para Tanenbaum (2003, p.43), “a qualidade do serviço fornecido (retardo, tempo em trâns ito, instabilidade, ta manho e xcessivos dos pacotes) é q uestão da camada de rede ”.
21
2.3.4 Camada de Transporte
A camada de transporte é responsável pela entrega e recebimento dos dados de forma eficiente e confiável. Essa camada também fornece serviços à camada cinco e camada três. Para Tanenbaum (2003, p.43), “A camada de transporte também determina que
tipo de serviço deve ser fornecido a camada de sessão e, em última análise, aos usuários da rede. O tipo de conexão de transporte mais popular é um canal ponto a ponto livre de erros que entrega mensagens ou bytes na ordem em que eles foram enviado. ”
2.3.5 Camada de Sessão
A camada de sessão é responsável por iniciar e finalizar as sessões de comunicação e troca de dados entre os dispositivos. Para que essa comunicação seja com sucesso e não seja comprometida é preciso que exista uma sincronização entre os mesmos.
2.3.6 Camada de Apresentação
A camada de apresentação é responsável por traduzir, organizar, fazer a compressão dos dados que recebe da camada de aplicação e que irar ser transmitido para rede. Para Tanenbaum (2003, p.47) “a camada de apresentação esta relacionada á
sintaxe e a semântica das informações transmitidas. Para tornar possível a comunicação entre computadores com diferentes representações de dados, as estruturas de dados a serem intercambiadas podem ser definidas de maneira abstrata, juntamente com uma codificação padrão que será usada durante a conexão.
22
2.3.7 Camada de Aplicação
A camada de aplicação tem a função de interagir com o usuário que está utilizando respectivo programa que solicitou a requisição, como por exemplo: Navegador, E Mail .
Segundo Tanenbaum (2003, p.47) “A camada de aplicação contem uma serie de protocolos comumente necessários para os usuários. Um protocolo de aplicação amplamente utilizado e o HTTP ( Hyper Text Transfer Protocol ), que constitui a base para a World Wide Web.
2.4
A ARQUITETURA TCP/IP
O Modelo de Referência TCP/IP ( Transmission Control Protocol/Internet Protocol ) ou popularmente pilha de protocolo foi criado pelo Departamento de Defesa
Americana em meados da década de 70, para garantir segurança na comunicação de dados ate se ocorresse uma guerra. Este modelo se define em um conjunto de diretrizes gerais e implementações de protocolos de rede específicos para permitir que computadores possam se comunicar em uma rede. O Modelo de Referência TCP/IP é formado por camadas, conforme mostra a figura 5. A camada inferior fornece serviços á camada superior.
23
Figura 5 - Modelo de Referência TCP/IP Híbrido. Fonte: Tanenbaum, 2003.
Para Soares (1995, p.142), “A arquitetura baseia-se principalmente em um serviço
de transporte orientado à conexão, fornecido pelo TCP , e em um serviço de rede nãoorientado à conexão (datagrama não confiável), fornecido pelo IP. O modelo TCP/IP compõem uma ligação com o modelo OSI para que assim funcione a troca de informações entre as camadas. A figura 6 mostra essa relação:
24
Figura 6 - Comparação entre camadas dos modelos OSI e TCP/IP. Fonte: Cisco netwo rk academy, 2011.
2.4.1 Camada de Aplicação
Para Filippetti (2008, p.32), ”é responsável pela definição, especificação e controle dos protocolos necessários para comunicação ponto a ponto pelas aplicações.A camada de aplicação é onde localiza as aplicações e protocolos que usamos no dia a dia como HTTP, SMTP, DNS, F TP entre outros. Funciona através de requisições provido através da utilização de portas para comunicação com a camada de transporte.
2.4.2 Camada de Transporte
Essa camada se espelha nas funções da camada de transporte do modelo OSI, assim definindo os protocolos que estabelecem o nível do serviço de transmissão para as
25 aplicações. Ela é a encarregada de fazer a criação de uma conexão ponto a ponto segura e dar garantia de ter entregado os dados e também é a responsável por fazer o seqüênciamento dos pacotes de dados. Segundo Tanenbaum (2003 , p.37) “A camada de transporte da internet transporta mensagens de camada de aplicação entre os lados do cliente e servidor de uma aplicação. Há dois protocolos de transporte na internet: TCP e UDP”. TCP é um dos principais protocolos, isso porque ele fornece uma entrega confiável com organização de fluxo de bytes de um programa em um computador para outro programa em outro computador. A maioria das aplicações na internet usa este protocolo. Ele foi padronizado em 1981 pela RFC 793. UDP (User Datagram Protocol) é mais simples e menos confiável,não há procedimentos de verificação no envio e recebimento de dados,não havendo a checagem de integridade. No caso o UDP se torna um pouco mais rápido, porém inutilizável em certas aplicações conforme RFC 768.
2.4.3 Camada Internet
Essa camada é responsável pela comunicação dos pacotes que são transmitidos de uma máquina para outra, esses pacotes são reconhecido como datagramas. “Esta se espelha na camada de rede do modelo OSI, é a responsável pela
transmissão lógica de pacotes através da rede, onde ela designa endereços IP`s para os dispositivos da rede. E também,é a responsável pelo roteamento dos pacotes através da rede e faz o controle de fluxo dos dados durante a comunicação de dispositivos.” (FILIPPETTI p. 48 , 2008).
O IP é o principal protocolo de comunicação utilizado para transportar pacotes através de uma rede. É o principal responsável pelo roteamento de pacotes que estabelece conexão com a internet. Este protocolo se define em um sistema de endereçamento que tem duas funções identificar e fornecer um serviço a um determinado host. Cada pacote é marcado com um cabeçalho que contém dados com a finalidade de entrega e este processo é chamado de encapsulamento. Ele foi padronizado em 1981 pela RFC 791. O ICMP ( Internet Control Message Protocol ) seu principal objetivo é ser utilizado pelo sistema operacional para enviar mensagens de erro indicando, por exemplo,
26 quando um serviço solicitado não está disponível ou que um host não pôde ser encontrado com erro de endereço de IP. ICMP pode ser usado para mensagens de pedido de retransmissão. Foi reconhecido em 1981 pela RFC 792.
2.4.4 Camada de acesso a rede
Essa camada é equivalente à camada de enlace e a física do modelo OSI, com a função de monitorar o tráfego de dados entre os dispositivos e a rede. São definidos os protocolos para a transmissão dos dados através dos meios físicos, assim como a aplicação e a análise dos endereços de hardware.
27
3
REDES SEM FIO
Com o avanço tecnológico na atualidade, nós consumidores optamos por ter um equipamento conectado via internet com total mobilidade para podermos usufruir de forma prática e segura. As redes sem fio nós proporciona essa total portabilidade e baixo custo, pois com essa tecnologia podemos interligar diversas áreas remotas dos centros urbanos reduzindo assim o custo final. Uma rede sem fio ou wireless é uma conexão que utiliza o ar como meio de transmissão sem a necessidade do uso de cabos, telefônicos, coaxiais ou ópticos. Esse avanço está presente cada vez mais em nosso dia a dia, a indústria nós traz equipamentos compatíveis com essa tecnologia. Para Bezerra (2004, p.23) ”As redes sem fio consistem em redes de comunicações por enlaces sem fio como rádio freqüência e infravermelho que permitem mobilidade contínua através de sua área de abrangência. As redes sem fio são compostas por sistemas móveis, que têm como principal e mais difundido representante as redes celulares“. A figura 7 a seguir mostra como ilustração as redes sem fio que estão presentes nas grandes cidades. A figura 8 mostra como as redes sem fios estão presentes em nossas
residências.
Figura 7 – Redes s em fio (cidade). Fonte: Rafaela Pozzebon, 2012.
28
Figura 8 – Redes sem fio (residência). Fonte: Rafaela Pozzebon, 2012.
3.1
PROTOCOLO DA REDE SEM FIO
O avanço da tecnologia wireless foi grande e rápida. E para isso ocorreu diversas necessidades de manter a compatibilidade e uma padronização dos dispositivos. “ No universo da tecnologia sem fio, e xiste uma padronização dos equipamento s de
redes sem fio que funcionam conjuntamente, ou seja, equipamentos que suportam um dos padrões sempre são compatíveis com outros dispositivos que suportam o mes mo padrão. No mundo da tecnologia, esta padronização recebe um nome de especificação, que é apr ovado por um órgão da indús tria”. (ENGST e F LEISHMAN, 2005, p.65)
O IEEE è o orgão responsável atualmente por desenvolver os padrões técnicos do protocolo wireless.
29 3.2
ARQUITETURA IEEE 802.11
3.2.1 A camada Física
O protocolo 802.11 se localiza na camada física e camada enlace do modelo OSI, Essas duas camadas é que possuem diferença em relação das outras camadas da referencia OSI. A camada física da arquitetura IEEE é parecida com a camada física do modelo OSI, Ela usa algumas técnicas de transmissão, fazendo o envio do quadro MAC .
Figura 9 – Arquitetura IEEE. Fonte: Hugo Eiji Tibana Carvalho, 2012.
As técnicas utilizadas são diferenciadas pela tecnologia e pela velocidade de transmissão. Uma técnica utiliza infravermelho e as outras utiliza métodos de RF. A tecnologia de infravermelho não é muito utilizada no mercado pois sofrem interferências da luz solar e não consegue passar por objetos opacos.
30 Os sistemas de infravermelho situam-se nas altas freqüências, exatamente abaixo da faixa de freqüência da luz visível. Sua onda de comprimento fica próximos aos 850 e 950 nm. A técnica de FHSS tem 22 modelos de salto para sem escolhidas. Esta camada e requerida para saltar em torno de ISM de 2,4 GHz, cobrindo 79 canais. Cada canal ocupa 1 MHz de largura de banda. A técnica de DSSS possui dois tipos de modulações definidos a serem aplicados ao sinal da informação, fornecendo velocidades de transferência de 1 e 2 Mbps respectivamente. Segundo Tanenbaum (2003, p.34 ), “Cada bit é transmitido como 11 chips, usando o que se denomina seqüência de Barker. Ele utiliza modulação por deslocamento de fase a 1 Mbaud, transmitindo 1 bit por baud quando opera a 1 Mbps e 2 bits por baud quando opera a 2 Mbps.”
A OFDM é uma tecnologia de modulação digital, possui uma alta eficiência de espectro, é utilizada tanto nas redes sem fio LAN 802.11a, como nas 802.11g, por se tratar em uma comunicação de alta velocidade operando assim tanto em 5-GHz e 2,4GHz usa 52 freqüências diferentes, onde 48 são para dados e 4 para sincronismo. As tecnologias 802.11b e 802.11g transmitem a 2,4 GHz e enviam dados a taxas de 11Mbps usando modulação DSSS enquanto a tecnologia 802.11a transmitem a 5GHz e 802.11g transmitem a 2,4GHz e enviam dados a taxa de até 54 Mbps usando OFDM.
3.2.2 O Protocolo da Subcamada
MA C
Em uma rede sem fio é difícil identificar colisões, É por isso que o CSMA/CA, e não o CSMA/CD é utilizado, visto que entre o começo e o fim de uma transmissão costumam ocorrer colisões no meio. No CSMA/CA, quando uma estação identifica o fim de uma transmissão, espera um tempo aleatório antes de transmitir sua informação, diminuindo assim a possibilidade de colisões. Mas esse modelo apresenta algumas deficiências. Nó oculto: Uma estação acredita que o canal está livre, mas na verdade o mesmo está ocupado por outro nó que ela não escuta.
31 Nó exposto: Uma estação acredita que o canal está ocupado, mas na verdade está livre, pois o nó que escuta não interferiria na transmissão para outro destino. Na figura a seguir ilustra essas duas deficiências:
Figura 10 – Deficiências do CSMA/CA. Fonte: Tanenbaum, 2003.
3.3
SERVIÇOS
O padrão 802.11 estabelece que as redes wireless disponibilizem nove serviços que são divididos em duas categorias, distribuição e estação. Os cinco serviços de distribuição são fornecidos pelos pontos de acesso, é responsável por lidar com as conexões que são ativas ou perdidas. Esses serviços são: 1. Associação: O dispositivo manda informações de identidade e seus recursos, se o ponto de acesso aceitar será feito a autenticação; 2. Desassociação: O dispositivo se desliga do raio de alcance do ponto de acesso; 3. Reassociação: O dispositivo muda de ponto de acesso, sem perda de dados. 4. Distribuição: O quadro é roteado e enviado ao ponto de acesso; 5. Integração: Esse serviço faz que as redes 802.11 interagem com tecnologias diferentes, cuida da conversão dos quadros. Após ocorrer a associação, tem quatro serviços intracelulares que são:
32 1. Autenticação: O dispositivo compartilha uma chave criptografada com o ponto de acesso, se essa chave conferir será registrado. 2. Desautenticação: Se o dispositivo autenticado querer deixar a rede, esse serviço encerra o envio e recebimento dos dados. 3. Privacidade: Esse serviço cuida da criptografia e a descriptografia dos dados. O algoritmo usado é o RC4. 4. Entrega de Dados: Esse serviço serve para garantir a integridade dos dados que trafegam na rede.
33 4 FREEBSD
O sistema operacional que será utilizado no projeto será o freebsd . O freebsd é um sistema operacional livre do tipo Unix descendente do BSD, que foi criado na Universidade de Berkeley em 1993. O ponto forte do sistema e a segurança e estabilidade. È amplamente utilizado em servidores de internet em todo o mundo. Os sistemas que são derivados do BSD, tem como mascote um diabinho vermelho chamado Daemon. O significado e na verdade porque os programas rodam na memória do sistema. O lema do FreeBSD é The Power to Serve , ou seja, "O Poder de servir", obviamente se referindo ao seu poder todo como servidor.
5
RADIUS
O RADIUS ( Remote Authentication Dial In User Service ) é um protocolo de autenticação de forma centralizada, utiliza a arquitetura AAA. Esse protocolo é definido pela RFC 2865.
5.1
A ARQUITETURA AAA
O RADIUS foi construído para funcionar em uma arquitetura chamada de AAA, (Authentication, Authorization, Accounting) que descreve os processos de autenticação, autorização e contabilização.
Autenticação - A autenticação verifica se os dados de login e senha são válidos para poder utilizar o sistema.
34
Autorização – Após a autenticação vem o próximo procedimento que é verificar os privilégios e recursos que o usuário registrado tem dentro do sistema.
Contabilização - É responsável por registrar todas as informações acerca da utilização dos recursos disponíveis ao usuário que foi aceito. Esses registros são gravados em arquivos de log..
5.2
AS VANTAGENS DO RADIUS
O RADIUS RADIUS nós trás uma vasta funcionalidade e vantagens que o torna um protocolo protocolo com co m um efici e ficiente ente sistema de autenticação autenticação adaptável a vari ar ias con co ndições de rede. As principais principais vantagens de de implem imple mentar em uma rede são: são:
Segurança: Todos os dados trafegados entre o cliente e o servidor são autenticados por um ( shared shared secret secret ), ), ou seja, um segredo compartilhado que jamais é enviado pela rede. Este segredo é ape nas compartilhado entre o cli c liente ente e o servidor.
Flexibilidade e Adaptabilidade : o radius torna o dispositivo com maior capacidade de autenticação e processamento fazendo que seja feita mais conexões do que o dispositivo suportasse sem esse serviço integrado.
Protocolo extensível: Podemos também implementar novos atributos e mecanismos mecanismos sem alte a lterar rar su s uas funções e seu s eu pacote pacote original. o riginal.
Compatibilidade: O protocolo radius conta ainda com uma grande compatibilidade entre os bancos de dados existentes, tornando a migração de um banco existente com facilidade e integração. E atualmente quase todos os fabricantes de hardware fazem dispos dispositiv itivos os com co mpatív pat íveis eis com esse tipo de serviço. serviço.
35 5.3
TOPOLOGIA TOPOLOGIA E FUNCIONAMENT F UNCIONAMENTO O
O RADIUS RADIUS utiliza utiliza a arquitetura servidor/cliente. O processo de funcionamento de autenticação e autorização do RADIUS RADIUS é é descrito no RFC 2865. O dispositivo que queira usar algum tipo de serviço na rede envia as suas informações informações para o NAS que que e o cliente do servidor RADIUS RADIUS , essa solicita so licitação ção de auten aute nticação é sobre a arquitetura AAA na forma de mensagem, se a mensagem for aceita ele receberá uma requisição de acesso que o servidor RADIUS irar irar disponibilizar para o dispositivo de acordo com as políticas implementadas ao RADIUS .
5.3.1 Pacote de dados R A D I U S
O pacote de dados radius é composto da seguinte forma: código, identificador, comprimento, autenticador e atributos.
Figura 11 – Pacote Pacote de dados radius radius.. Fonte: Hugo Eiji Tibana Carvalho, 2012.
O código tem tamanho de um byte e é usado para definir o tipo do pacote. Os valores para o campo código são: Requisição de Acesso ( Access-Request ), ), Acesso Aceito ( Access-Acce ), Acesso Negado ( Access-Reject ) e Desafio de Acesso ( Access-Challenge). Access-Accept pt ),
36 O identificador tem tamanho de um byte, nele é identificado as requisições e as respostas trocadas nas sessões. O comprimento tem tamanho de dois bytes e nos mostra o tamanho do pacote radius. Esses pacotes devem conter um tamanho entre 20 e 4096 bytes.
O autenticador tem o tamanho de 16 bytes e a responsabilidade de transmitir os valores incluídos que iram servir para fazer autenticações de respostas do servidor radius e ocultação de senhas transmitida na rede. O atributo é responsável por carregar informações específicas da autenticação e autorização.
5.3.2 Estabele Estabelecimen cimento to de uma uma sess s essão ão
O estabelecimento de uma sessão ocorre após ocorrer diversas séries de trocas de mensagens mensagens que tem objetiv objet ivoo receber o servi s erviço ço pela rede. Para qu q ue o NAS cliente cliente receba algum tipo de serviço, ele precisa informar suas credencias ao NAS servidor. servidor. O servidor irar checar, se for aceito será autenticado usando o radius. Essa troca de mensagens entre o cliente e servidor é transmitida através do pacote radius. A figura descreve o funcionamento.
37
Figura 12 – Estabelecimento s essão. Fonte: Hugo Eiji Tibana Carvalho, 2012.
5.3.3 Contabilidade
Esse processo está descrito no RFC 2866, Após a confirmação do usuário o NAS se comunica com o servidor RADIUS para iniciar a contabilização ( Accounting Start ) da sessão. Aqui fica registrado o IP, identificação do utilizador, o ponto de acesso, duração, quantidade de dados transferidos. Quando o usuário decide terminar a sessão, o NAS gera um registro de termino ( Accounting Stop ) para o servidor RADIUS , esse registro contem informações como período de tempo da sessão, pacotes transferidos, desconexão. Todas essas informações e bom para ter uma estatística e um controle de monitoramento do acesso. A figura mostra detalhadamente do processo de contabilidade do radius.
38
Figura 13 – Contabilidade sessão. Fonte: Hugo Eiji Tibana Carvalho, 2012.
5.3.4 Métodos de Autenticação
PAP ( Password Authentication Protocol ) - É um protocolo simples e não é seguro pois o login e senha do usuário passa pela rede sem nenhuma criptografia. CHAP (Challenge Handshake Authentication Protocol ) – Esse protocolo e mais utilizado por usar um parâmetro MD5 Hash o que torna mais seguro. O hash é uma mensagem que os dispositivos iram ter que compartilhar. Se os valores dessa messagem forem idênticas, a autenticação será realizada, caso contrario, será negada a troca de informações.
39 5.4
PROTOCOLO PPP
O protocolo ponto-a-ponto é conhecido como protocolo PPP, foi desenvolvido e padronizado pela RFC 1548 com a intenção de transportar os dados através da conexão física. Esse protocolo suporta comunicações síncro nas e assíncronas.
Comunicação Síncrona – Os dados enviados precisa de uma confirmação para poder encaminhar uma nova. O transmissor aguarda o receptor para assim continuar a troca de dados.
Comunicação Assíncrona – Os dados são organizados em blocos de informação chamados de flag , para saber onde cada bloco começa e termina e a seqüencia da transmissão. Já nesse tipo de conexão os dados enviados não precisam de uma confirmação e sim uma conclusão de envio. O transmissor pode mandar varias mensagens ao receptor estabelecimento de uma sessão ocorre após ocorrer diversas séries de trocas de ao receptor.
O PPP é dividido em três partes, que segue um diagrama de fases: 1. A primeira fase é o encapsulamento de datagramas no HDLC – ( Highlevel Data Link Control ), que faz a multiplexação a vários protocolos para
poder trabalhar no mesmo enlace. 2. A segunda fase o PPP usa o LCP ( Link Control Protocol ), que é um protocolo de controle de Link, Ele fica responsável por encontrar erros de configuração, inicia e encerra sessões, identifica se o funcionamento está correto ou tendo perdas. 3. A terceira fase entra o NCP ( Network Control Protocol ), é o que ativa e configura todos os protocolos que serão utilizados na comunicação com o PPP
5.4.1 Os Protocolos PPPOA e PPPOE
Atualmente a grande maioria dos acessos à Internet ainda é realizado utilizando modems analógicos através do protocolo PPP, por serem mais barato aos fornecedores de
40 serviços de internet e também seria inviável alterar este protocolo do modelo OSI. Para resolver alguns problemas relacionados a isso surgiu o PPPOA ( Point-to-Point Protocol over AAL5 ) e PPPOE ( Point-to-Point Protocol over Ethernet ) com encapsulamento dos frames
PPP, permitindo ape nas a troca sobre a camada física ao qual vai ser utilizada. A diferença principal entre os dois protocolos está na camada física de comunicação. O PPPOA é utilizado em redes ATM e o PPPOE em redes Ethernet . Os fabricantes de Hardware atualmente já produzem as placas de rede em modo Ethernet , pois as placas para rede ATM são produzidas com custos maiores. O PPPOA está especificado pela RFC 2364 e o PPPOE especificado pela RFC 2516.
41
6
DESENVOLVIMENTO
A plataforma utilizada nesse projeto será o Sistema Operacional Freebsd na versão 8.0 em uma máquina com o processador celeron 2.6 Ghz, memoria 1Gb DDR1, HD de 80 Gb, Uma placa de rede on-board e a outra placa de rede off-board . Os equipamentos utilizados serão dois roteadores edimax com modelos de firmwares diferentes. O primeiro roteador será definido em modo bridge, para que possamos utilizar como Ponto de Acesso, o segundo roteador será configurado como cliente para que possa se conectar ao ponto de acesso. Para um melhor entendimento deste capitulo, o mesmo será subdividido nos seguintes itens:
Modelo Proposto
Configurações do Sistema Operacional o
Kernel ;
o
Interfaces;
o
Package Filter ;
o
PPPOE SERVER;
Instalação do banco de dados mysql e configuração
Instalação do Servidor Web o
o
o
Apache;
PHP; Phpmyadmin;
Instalação e configuração do Freeradius o
Instalação do freeradius ;
o
Configuração do freeradius;
o
Adicionando usuário no banco;
o
Testando com o programa NTRadPing;
Configuração dos equipamentos o
Ponto de Acesso;
o
Usuário;
Verificando a conexão o
Arquivo de log ppp.conf;
o
Arquivo de log no banco de dados;
42 o
6.1
Interface.
MODELO PROPOSTO
A implementação deste projeto tem como intuito apenas autenticar usuários cadastros no banco de dados de um provedor de acesso, o ambiente será uma rede wireless. Na figura abaixo será ilustrado o modelo proposto para a implementação do protocolo radius.
Figura 14 – Modelo propos to para a rede wireless. Fonte: Autor, 2012.
43 6.2
6.2.1
CONFIGURAÇÕES DO SISTEMA OPERACIONAL
Kernel
Começaremos editando o kernel . É recomendado copiar o arquivo original para caso haja algum erro possamos restaurar o sistema. O kernel nativo que vem no sistema e o GENERIC no diretório /usr/src/sys/i386/conf, a copia será desse arquivo, o nome que usaremos no kernel otimizado será SERVER, Conforme mostra o quadro 1.
Quadro 1 – Backup do kernel . Fonte: Autor, 2012.
Feito o backup do arquivo, podemos então editar o kernel . Para abrir digitaremos o comando #ee SERVER, no fim do arquivo adicionaremos as variáveis como mostra o quadro 2.
Quadro 2 – Kernel otimizado. Fonte: Autor, 2012.
44
Salvaremos o arquivo editado. Dentro do diretório, executar o comando #config SERVER. O sistema informa que para prosseguir temos que entrar no diretório onde o kernel
foi construído que é /usr/srs/sys/i386/compile/SERVER. Prosseguiremos digitando o comando #makecleandepend && makedepend && make && mak einstall . Conforme no quadro 3.
Quadro 3 – Comando para copilar o kernel . Fonte: Autor, 2012.
Ao término da instrução do comando para copilar o kernel , è necessário reiniciar o sistema operacional para que o suporte aos novos dispositivos sejam carregados e passem a funcionar.
6.2.2
s Interface
Precisaremos configurar a placa de rede externa para que possamos atualizar o ports. Com o comando # ifconfig , irar listar as placas que foram detectadas, no meu caso
mostrou a placa rl0 e vr0, como segue no quadro 4. A placa que utilizarei como interface externa será a vr0. Para que receba as configurações da rede digitaremos o comando # dhclient vr0 , conforme no quadro 5.
45
Quadro 4 – Comando ifconfig . Fonte: Autor, 2012.
Quadro 5 – Comando dhclient . Fonte: Autor, 2012.
Já conectado na rede e com acesso a internet podemos então atualizar o ports, O ports é uma coleção de pacotes atualizados. Para executar a atualização digitaremos o
comando #portsnapfetch && portsnapextract && portsnapupdate . Com o ports atualizado, podemos instalar o pacote dhcp, que servirá como rede local. O local de instalação se encontra no quadro 6.
Quadro 6 – Instalação do dhcp . Fonte: Autor, 2012.
O
arquivo
de
configuração
do
dhcp
se
encontra
do
diretório,
/usr/local/etc/dhcpd.conf. A configuração será de acordo com a rede que iremos utilizar para implementar o servidor. O quadro 7 mostra as configurações a ser feita no arquivo.
46
Quadro 7 – Configuração do dhcp para rede interna. Fonte: Autor, 2012.
Para que o serviço inicie junto com o sistema vamos inserir as linhas como segue no quadro 8 dentro do arquivo /etc/rc.conf
Quadro 8 – Iniciando dhcp com o sistema. Fonte: Autor, 2012.
Através da rede local previamente configurada. Adicionaremos um endereço de rede a placa interna do servidor, inserindo as linhas do quadro 9, dentro do arquivo /etc/rc.conf.
Quadro 9 – Configuração de endereço de rede na placa interna. Fonte: Autor, 2012.
6.2.3
Package F i lt er
Após as configurações feitas nas placas, pode-se realizar a configuração de NAT na interface de comunicação aos clientes. O arquivo padrão do PF chama-se /etc/pf.conf. O
47 quadro 10, mostra a regra de NAT necessária para a tradução de endereços. O restante das regras tem como finalidade apenas permitir uma organização melhor do arquivo.
Quadro 10 – Regra do pf. Fonte: Auto r, 2012.
Para que o PF inicie junto com o sistema operacional, adicionaremos as linhas no arquivo /etc/rc.conf. pf_enable=" YES " pf_rules="/etc/pf.conf" pf_flags="" pflog_enable=" YES " pflog_logfile="/var/log/pflog" pflog_flags=""
6.2.4
PPPOE SERVER
O pppoe server é um concentrador de conexões, é a partir dele que iremos definir os tipos de autenticação aceita, tempo de checagem dos tun, endereço de rede, DNS. Essas configurações chegarão até os usuários se a autenticação for aceita. O arquivo se encontra no diretório /etc/ppp/ppp.conf . Conforme o quadro 11.
48
Quadro 11 – Configuração do ppp.conf. Fonte: Autor, 2012.
O quadro 12 mostra o arquivo radius.conf configurado a partir do endereço de rede do servidor radius e a senha secreta definida para o funcionamento.
Quadro 12 – Configuração do arquivo radius.conf. Fonte: Autor, 2012.
Adicionaremos as linhas do quadro 13, para iniciar junto com o sistema operacional no momento do boot.
Quadro 13 – Iniciando ppp oe server com o sistema. Fonte: Autor, 2012.
49 6.3
INSTALAÇÃO DO BANCO DE DADOS MYSQL E CONFIGURAÇÃO
O servidor irar armazenar dados das conexões, login, senha, entre outros dados. Esses dados armazenados precisam estar seguro e de forma organizada, utilizaremos o banco de dados Mysql , por ser um banco com excelente desempenho e estabilidade, e também ter uma grande compatibilidade com diversos aplicativos que possam ser incrementadas futuramente. Para iniciar a instalação do Mysql vamos entrar no diretório que se encontra no ports, quadro 14. Utilizaremos as configurações padrões e adicionaremos no arquivo
/etc/rc.conf, a linha mysql _enable=”YES ", para iniciar no momento do boot.
Quadro 14 – Instalação do mysql . Fonte: Autor, 2012.
Adicionaremos uma senha, para que os dados possam estar seguros, quadro 15. Após a adição da senha, restarmos o serviço com o comando #/usr/local/etc/rc.d/mysql-server restart .
Quadro 15 – Adicionando senha no mysql . Fonte: Autor, 2012.
O freeradius por padrão utiliza o banco chamado radius, será criado. Vamos acessar o mysql e digitar o comando do quadro 16, por fim conceder o radius para localhost e ide ntificado com a palava “ pppoeserver ”, quadro 17.
Quadro 16 – Criando o banco radius. Fonte: Autor, 2012.
50
Quadro 17 – Previlégios do banco radius. Fonte: Autor, 2012.
6.4
6.4.1
INSTALAÇÃO DO SERVIDOR WEB
Apache
O apache se encontra no diretório do ports, quadro 18, Deixaremos os módulos padrões, após o termino, vamos adicionar a linha de comando # apache22_enable=” YES ” no arquivo /etc/rc.conf , para que possa iniciar junto com o sistema.
Quadro 18 – Instalação do apache . Fonte: Autor, 2012.
6.4.2
Php
O php se encontra no diretório do quadro 19, utilizaremos o módulo apache, conforme quadro 20.
Quadro 19 – Instalação do php. Fonte: Autor, 2012.
51
Quadro 20 – Ativando módulo do apache no php. Fonte: Autor, 2012.
O php conta com uma extensão que será útil ao funcionamento da ferramenta Phpmyadmin. A extensão se encontra no diretório do quadro 21, Vamos selecionar o módulo apache , como mostra o quadro 22.
Quadro 21 – Instalação da e xtensão para o php . Fonte: Autor, 2012.
52
Quadro 22 – Ativando módulo mysql para extensão do php. Fonte: Autor, 2012.
6.4.3
Phpmyadmin
O Phpmyadmin será fundamental, com ele instalado teremos a facilidade de administrar o banco de dados usando o browser. A instalação da ferramenta se encontra no ports, referente ao quadro 23. Ativaremos o módulo mysql , conforme quadro 24.
Quadro 23 – Instalação do php. Fonte: Autor, 2012.
53
Quadro 24 – Ativando módulo mysql no php. Fonte: Autor, 2012.
Com a conclusão da instalação, Criaremos o arquivo de configuração a partir do arquivo sampleconfig.default.php que está dentro do diretório /usr/local/www/php/libraries, Copiaremos o arquivo com o nome config.inc.php para o diretório /usr/local/www/php/, como mostra o quadro 25. Após a realização da copia do arquivo, editaremos o arquivo config.inc.php , adicionando a linha do quadro 26 no fim do arquivo.
Quadro 25 – Copiando arquivo config.default.php para config.inc.php. Fonte: Autor, 2012.
54
Quadro 26 – Editando o arquivo config.inc.php. Fonte: Autor, 2012.
Para acessar o Phpmyadmin necessitamos de uma configuração no arquivo httpd.conf que se localiza no diretório do apache. Esse arquivo receberá um alias, para poder ser aberto no browser. O quadro 27 mostra as linhas a ser adicionada.
Quadro 27 – Criando alias no httpd.conf. Fonte: Autor, 2012.
Reiniciaremos o apache para que o sistema possa identificar as alterações realizadas com o comando #/ usr/local/etc/rc.d/apache22 r estart .
55 6.5
INSTALAÇÃO DO FREERADIUS E CONFIGURAÇÃO
6.5.1 Instalação do
freeradius
O freeradius atualmente se encontra na versão 2.2.0. A instalação será feita através do ports. O quadro 28 mostra o diretório e o comando a ser utilizado.
Quadro 28 – Instalação do freeradiu s. Fonte: Autor, 2012.
O quadro abaixo mostra que deveremos ativar o módulo mysql .
Quadro 29 – Módulo mysql para freeradiu s. Fonte: Autor, 2012.
56
6.5.2 Configuração do
freeradius
Começaremos inicialmente a configuração com a importação de duas SQL prontas para a integração com o banco. O quadro 30 e 31 ilustra os comando a ser feito.
Quadro 30 – Importação do schema sql. Fonte: Autor, 2012.
Quadro 31 – Importação do schema nas . Fonte: Autor, 2012.
O seguinte passo e configurar o freeradius para que possa fazer a integração com o mysql , Editaremos o arquivo do diretório /usr/local/etc/raddb/sql.conf,como segue no quadro 32 e no fim do arquivo ape nas descomentar a linha que contém a seguinte expressão, readclientes = YES
Quadro 32 – Editando o arquivo sql.conf. Fonte: Autor, 2012.
O próximo arquivo a ser editado, se localiza no diretório /usr/local/etc/raddb/sitesenabled/default. Ape nas descomentar as linhas que contem a expressão sql.
57 O arquivo /usr/local/etc/raddb/radiusd.conf, receberá alteração também, Vamos descomentar a expressão que contém $ INCLUDE sql.conf . Será preciso agora determinar a rede que irar receber o suporte para a autenticação radius e a senha secreta definida no radius.conf. O arquivo a ser alterado esta no diretório /usr/local/etc/radb /clients.conf, Conforme quadro 33.
Quadro 33 – Senha secreta. Fonte: Autor, 2012.
O quadro 34 mostra o debug com o comando # radiusd – X, esse comando verifica se o freeradius está funcionando após as configurações realizadas.
Quadro 34 – Debug freeradiu s. Fonte: Autor, 2012.
Ao adicionar a linha radiusd_enable=” YES ” no arquivo /etc/rc.conf, O freeradius irar iniciar junto com o sistema.
6.5.3 Adicionando usuário no banco
Será conectado um notebook, e o mesmo receberá endereço de rede automático do dhcp que foi configurado para placa de rede interna, O quadro 35 mostra o endereço que foi
recebido.
58
Quadro 35 – Notebo ok conectado na rede local. Fonte: Autor, 2012.
Com o navegador Firefox aberto digitaremos o IP do servidor + / Phpmyadmin, digitaremos as credenciais do banco mysql , quadro 36.
Quadro 36 – Acess ando o php via browser. Fonte: Autor, 2012.
59 Já conectado ao banco de dados, vamos verificar como está a estrutura. Selecionaremos a aba radius, O quadro 37 mostra as respectivas tabelas a ser utilizada.
Quadro 37 – Banco radius no php. Fonte: Autor, 2012.
Adicionaremos um usuário, dentro da tabela radcheck , o login será
[email protected] com a senha cedup123, veja no quadro 38.
Quadro 38 – Adicionando o usuário. Fonte: Autor, 2012.
Para esse usuário vamos atribuir um endereço de rede e uma máscara de sub-rede, assim toda conexão que realizar os atributos serão os mesmos, adicionaremos dentro da tabela radreply o IP 172.16.27.27 e máscara 255.255.255.0, como mostra o quadro 39 e quadro 40.
60
Quadro 39 – Adicionando IP ao usuário. Fonte: Autor, 2012.
Quadro 40 – Adicionando máscara de s ub-rede ao usuário. Fonte: Autor, 2012.
Temos que definir alguns parâmetros do protocolo, mas para isso vamos associar o usuário
[email protected] no grupo que irar ser chamado de cedup dentro da tabela radusergroup , como mostra o quadro 41.
Quadro 41 – Ass ociando o usuário ao grupo cedup. Fonte: Autor, 2012.
61 O quadro 42 mostra a definição do protocolo de enquadramento no banco.
Quadro 42 – Protocolo de enquadramento do grupo cedup. Fonte: Autor, 2012.
O quadro 43 mostra a configuração do protocolo de compressão que fará a comunicação.
Quadro 43 – Protocolo de co municação do grupo cedup. Fonte: Autor, 2012.
6.5.4 Testando com o programa NTRadPing
Com o banco já com usuário cadastrado, podemos fazer um teste para saber se está respondendo as solicitações. Sabendo a senha secreta, e na mesma rede 172.16.27.0/24 que editamos no arquivo clients.conf, utilizaremos o programa NTRadPing. O NTRadPing é uma ferramenta para testar conexões em servidores com o protocolo radius. Através desse
62 software podemos simular solicitações como se fosse um cliente nas . Precisaremos configurar
corretamente para pode utilizar. No campo radius server usaremos o endereço de rede do servidor e ao lado a porta de comunicação do serviço; No campo secret key a senha secreta que foi definida; No campo user-name, o usuário cadastrado; No campo password a senha cadastrada; No campo request type a solicitação a ser feita. O quadro 44 mostra o resultado obtido na solicitação de autenticação do programa e o quadro 45 o resultado da solicitação de contabilidade.
Quadro 44 – Solicitação de autenticação através do programa NTRadPing. Fonte: Autor, 2012.
63
Quadro 45 – Solicitação de contabilidade através do programa NTRadPing. Fonte: Autor, 2012.
Com os testes realizados, podemos observar que as solicitações estão passando tudo pe lo banco de dados.
6.6
CONFIGURAÇÃO DOS EQUIPAMENTOS
6.6.1 Ponto de acesso
O ponto de acesso será um equipamento em modo bridge, quadro 46.
64
Quadro 46 – Modo de operação do ponto de acesso. Fonte: Autor, 2012.
O SSID da rede wireless será configurada com o nome Servidor PPPOE no canal 11, quadro 47.
Quadro 47 – Configuração da rede wireless do ponto de acesso. Fonte: Autor, 2012.
A interface lan será configurada para receber o IP 172.16.27.254 e a máscara 255.255.255.0, com o DHCP desativado.
65
Quadro 48 – Configuração da interface LAN do ponto de acesso. Fonte: Autor, 2012.
Após as alterações podemos visualizar as informações na aba status, conforme mostra o quadro 49.
Quadro 49 – Status do ponto de acesso. Fonte: Autor, 2012.
66
6.6.2 Usuário
A configuração agora será do usuário que irar fazer a solicitação do acesso, O modo de operação agora vai ser diferente, a comunicação será feita através da rede wireless e para isso escolheremos a opção wireless ISP, como no quadro 50.
Quadro 50 – Modo de operação do cliente. Fonte: Autor, 2012.
Com esse modo de operação selecionado, na aba wireless básico definiremos as informações de acordo com o ponto de acesso. Veja no quadro 51.
67
Quadro 51 – Configuração wireless do cliente. Fonte: Autor, 2012.
Na configuração da aba Wan, definiremos o tipo de acesso, que o intuito do projeto é autenticação pppoe. Digitaremos o usuário cadastrado e a senha. Conforme mostra o quadro 52.
68
Quadro 52 – Configuração da interface wan do cliente. Fonte: Autor, 2012.
O quadro 53 mostra a classe de IP da interface LAN do equipamento do usuário.
. Quadro 53 – Configuração da interface lan do cliente. Fonte: Autor, 2012.
Aplicaremos as modificações e aguardar a conexão ser feita. Dentro mesmo do equipamento podemos verificar se a conexão foi bem sucedida. Na aba status podemos visualizar as informações, o quadro 54 mostra o resultados.
69
Quadro 54 – Status do cliente. Fonte: Autor, 2012.
70 6.7
VERIFICANDO A CONEXÃO
6.7.1 Arquivo de log ppp.conf
Todas as requisições feita ao pppoe server , é registrado dentro do diretório /var/log/ppp.log. O quadro 55 mostra o que foi registrado quando foi feita a discagem de acesso.
Quadro 55 – Registro no arquivo ppp.log. Fonte: Autor, 2012.
6.7.2 Arquivo de log no banco de dados
No banco de dados radius também gera os logs das conexões que foram realizadas. Na tabela radacct o número da sessão fica registrado e outros dados como usuário, IP. Veja o quadro 56 no momento que foi feita a conexão.
71
Quadro 56 – Tabela radacct . Fonte: Autor, 2012.
O quadro 57 mostra a tabela radpostauth, nessa tabela localiza-se os registros das conexões aceitas com data e hora.
Quadro 57 – Tabela radpostauth . Fonte: Autor, 2012.
72
6.7.3
Interface
Quando é feita uma conexão, automaticamente é criado um tun do servidor freeradius até o usuário. Ao verificar no terminal do sistema freebsd com o comando
#ifconfig , podemos ver essa interface levantada. Conforme o quadro 58 mostra.
Quadro 58 – Tun criado após a conexão. Fonte: Autor, 2012.
73
7
CONCLUSÃO
Constamos que usando o protocolo radius, apenas usuários cadastros no banco de dados SQL terão autorização para poder usufruir do serviço que o servidor disponibiliza. Nesse caso o serviço que foi disponibilizado foi acesso a internet. A idéia surgiu após uma pesquisa para entendimento de como funcionava o protocolo PPPOE em modem adsl . Com a pesquisa realizada pode-se então trazer todo estudo do protocolo e associar ao sistema freebsd e utilizar na rede wireless. Podemos constatar que o uso do freeradius pode ser eficiente e com grande estabilidade.
7.1
DIFICULDADES ENCONTRADAS
A maior dificuldade encontrada na implementação do projeto foi em relação com o tempo disponível, pois o emprego me consome por semana 44 horas e a cada mês dois plantões no fim de semana, sobrando assim muito pouco tempo para as atividades de conclusão do curso.
7.2
SUGESTÕES PARA TRABALHOS FUTUROS
Este foi apenas o projeto inicial de autenticação pppoe com o freeradius, que será dado continuidade e com uma maior atenção na parte de segurança e implementação de outros serviços, como associar ao software mikrotik .