INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE CAMPUS SOMBRIO ARONI SILVEIRA DAL PONT



Documentos relacionados
Hotspot com Ubuntu Server Bits

Projeto Integrador Projeto de Redes de Computadores

Topologias e abrangência das redes de computadores. Nataniel Vieira nataniel.vieira@gmail.com

Projeto de Redes de Computadores. Servidor Radius

REDES DE COMPUTADORES

FACULDADE DE TECNOLOGIA SENAC GOIÁS PROJETO INTEGRADOR. Projeto de Redes de Computadores. 5º PERÍODO Gestão da Tecnologia da Informação GOIÂNIA

Guia de instalação para ambiente de Desenvolvimento LINUX

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

TECNOLOGIA WEB INTERNET PROTOCOLOS

Tecnologia e Infraestrutura. Conceitos de Redes

Administração de Sistemas de Informação I

DarkStat para BrazilFW

09/06/2011. Profª: Luciana Balieiro Cosme

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

Gerenciamento de Redes de Computadores. Pfsense Introdução e Instalação

Rede de Computadores

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Introdução ao Sistema. Características

PROTOCOLO 802.1X COM FRERADIUS FACULDADE DE TECNOLOGIA SENAC GOIÁS GESTÃO EM TECNOLOGIA DA INFORMAÇÃO

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

Universidade de Brasília

Procedimento para instalação do OMNE-Smartweb em Raio-X

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

MANUAL DE CONFIGURAÇÃO

Cap 01 - Conceitos Básicos de Rede (Kurose)

Você pode testar se está tudo OK, abrindo um navegador no Debian Linux e acessando qualquer site.

MSN-Proxy v0.7 no Debian 5 (Atualizado)

Computação Instrumental

Arquitetura de Rede de Computadores

Professor: Gládston Duarte

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Comm5 Tecnologia Manual de utilização da família MI. Manual de Utilização. Família MI

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

1. DHCP a. Reserva de IP

Documentação Symom. Agente de Monitoração na Plataforma Windows

Manual do usuário. Mobile Auto Download

REDES DE COMPUTADORES

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

Ilustração 1: Componentes do controle de acesso IEEE 802.1x

INSTALAÇÃO PRINTERTUX Tutorial

Uc-Redes Técnico em Informática André Luiz Silva de Moraes

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Guia de conexão na rede wireless

Aplicação Prática de Lua para Web

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

MANUAL DE INSTALAÇÃO E PROGRAMAÇÃO CONVERSOR - IP / USB / SERIAL RV1

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Administração de Sistemas de Informação Gerenciais

FACULDADE DE TECNOLOGIA SENAC SEGURANÇA DA INFORMAÇÃO. PROFESSORA: Marissol Martins

Sistema Operacional Unidade 13 Servidor Samba. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Um Driver NDIS Para Interceptação de Datagramas IP

Introdução a Banco de Dados

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

REDE DE COMPUTADORES

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Rotina de Discovery e Inventário

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

FTP Protocolo de Transferência de Arquivos

CST em Redes de Computadores

Redes de Computadores. Jeronimo Costa Penha Senai CFP - JIP

Sumário. 4. Clique no botão Salvar & Aplicar para confirmar as alterações realizadas no. Reiniciar o SIMET- BOX

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

REDES DE COMPUTADORES - I UNI-ANHANGUERA CENTRO UNIVERSITÁRIO DE GOIÁS CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROF.

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

UDPcast Clonagem de HDs via rede utilizando

Curso: Redes II (Heterogênea e Convergente)

LABORATÓRIO 0 Revisão GNU/Linux

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

Capítulo 8 - Aplicações em Redes

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

TUTORIAL DE INSTALAÇÃO DO PFSENSE E UMA REDE INTERNA NO VIRTUALBOX

PROJETO E IMPLANTAÇÃO DE INTRANETS

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Roteiro 3: Sistemas Linux arquivos e diretórios

SolarWinds Kiwi Syslog Server

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Manual Captura S_Line

REDES DE COMPUTADORES

REDE DE COMPUTADORES

WebZine Manager. Documento de Projeto Lógico de Rede

Configurando o IIS no Server 2003

UM PBX GENUINAMENTE BRASILEIRO

Ilustração 1: Componentes do controle de acesso IEEE 802.1x

NetEye Guia de Instalação

Comandos Linux Comando tcpdump, guia de referência e introdução. Sobre este documento

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Roteador Load-Balance / Mikrotik RB750

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

O programa Mysql acompanha o pacote de instalação padrão e será instalado juntamente com a execução do instalador.

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

Transcrição:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE CAMPUS SOMBRIO ARONI SILVEIRA DAL PONT PORTAL DE AUTENTICAÇÃO COM MONITORAMENTO NA INFRAESTRUTURA DO INSTITUTO FEDERAL CATARINENSE CAMPUS SOMBRIO Sombrio 2013

ARONI SILVEIRA DAL PONT PORTAL DE AUTENTICAÇÃO COM MONITORAMENTO NA INFRAESTRUTURA DO INSTITUTO FEDERAL CATARINENSE CAMPUS SOMBRIO Trabalho de Conclusão de Curso apresentado ao Curso Superior de Tecnologia em Redes de Computadores do Instituto Federal de Educação, Ciência e Tecnologia Catarinense, como requisito parcial à obtenção do título de Tecnólogo em Redes de Computadores do Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Sombrio. Orientador: Prof. Msc. Jéferson Mendonça de Limas Coorientador: Prof. Msc Gerson Luis da Luz Sombrio 2013

ARONI SILVEIRA DAL PONT PORTAL DE AUTENTICAÇÃO COM MONITORAMENTO NA INFRAESTRUTURA DO INSTITUTO FEDERAL CATARINENSE CAMPUS SOMBRIO Este Trabalho de Conclusão de Curso foi julgado adequado à obtenção do título de Tecnólogo em Redes de Computadores e aprovado em sua forma final pelo Curso Superior de Tecnologia em Redes de Computadores do Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Sombrio. Sombrio, 07 de dezembro de 2013. Professor e orientador Jéferson Mendonça de Limas, Msc. Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Sombrio Orientador Prof. Lucyene Lopes da Silva Todesco Nunes, Msc. Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Sombrio Membro Prof. Marco Antonio Silveira de Souza, Msc. Instituto Federal de Educação, Ciência e Tecnologia Catarinense Campus Sombrio Membro

Dedico esta produção a minha família, principalmente minha esposa que muitas noites ficou a cuidar sozinha de nossa filha e pelo apoio e motivação para continuar nos momentos de cansaço e desânimo nesta etapa de minha vida.

AGRADECIMENTOS Primeiramente agradeço a Deus por ter saúde, trabalho e uma família muito, mas muito especial. Agradeço a minha esposa Luciani Q. da Cunha Dal Pont por entender minha ausência e por sempre dar uma palavra de incentivo durante esta jornada. Aos professores pela dedicação em compartilhar seus conhecimentos e pela compreensão dos atrasos no inicio das aulas. Aos colegas que sempre tivemos uma relação de amizade e companheirismo compartilhando conhecimentos. E por fim ao professor Orientador Jéferson Mendoça de Limas que não poupou esforços para que eu concluísse este trabalho.

RESUMO Este trabalho tem o intuito de documentar a implantação de um servidor de gerenciamento, com ferramentas de autenticação e captura de dados junto aos outros servidores do Instituto Federal Catarinense Campus Sombrio (IFC-Sombrio). Nele será implementado a ferramenta Coovachilli, fazendo com que o usuário aluno ou servidor tenha que colocar através do navegador seu login e senha para ter acesso à internet, que após autenticação efetuada no servidor FreeRADIUS, o armazena em um banco de dados MySQL. Junto a este processo colocou-se a ferramenta Ngrep para a captura de dados determinados pelo administrador, no uso do facebook, youtube e twiter, meios de acesso que não são para estudos ou trabalho do IFC-Campus Sombrio. Todos os acessos de usuários serão colocados em arquivos de texto, e a linguagem Shell Script fará o tratamento dos dados, e através de uma pagina html será mostrado ao administrador o tempo de uso gasto nas redes sociais por usuário. Palavras-chave: CoovaChilli. FreeRADIUS. ShellScript.

ABSTRACT This study aims to document the implementation of a management server with authentication tools and capture data from the other servers in the Santa Catarina Federal Institute Campus dingy (IFC-dingy). In it the Coovachilli tool will be implemented, making the student user or server has to put through the browser your login and password to access the internet, which performed after authentication in FreeRADIUS server, stores it in a MySQL database Along the this process was placed the ngrep tool to capture data determined by the administrator, the use of facebook, youtube and twiter, means of access which are not to study or work of IFC- Campus dingy. All user access will be placed in text files, and Shell Script language will treat the data, and through a html page will be shown to the administrator use time spent on social networks per user. Keywords : CoovaChilli. FreeRADIUS. ShellScript.

LISTA DE ILUSTRAÇÕES Figura 1 - Redes ponto a ponto... 15 Figura 2 - Redes em estrela... 15 Figura 3 - Redes em anel... 16 Figura 4 - Redes em Barramento... 16 Figura 5 - Redes mistas... 17 Figura 6 - Redes ponto-multiponto... 18 Figura 7 - Tratamento de conexão CoovaChilli.... 25 Figura 8 - Captura Ngrep das URLs... 26 Figura 9 - Topologia Lógica da Rede... 31 Figura 10 - Arquivo interfaces editado para funcionamento... 32 Figura 11 - Arquivo editado sql.conf.... 33 Figura 12 - Arquivo editado clients.conf... 34 Figura 13 - Teste de funcionamento do FreeRADIUS... 35 Figura 14 - Arquivo config editado... 35 Figura 15 - Arquivo hotspot editado... 36 Figura 16 - Captura login e senha Coovachilli... 37 Figura 17 - Arquivo captura Ngrep... 38 Figura 18 - Filtro dos dados capturados pelo Ngrep... 39 Figura 19 Importação arquivo texto para tabela MySQL.... 39 Figura 20 - Consulta de tabelas MySQL... 40 Figura 21 - Código HTML para pagina web... 40 Figura 22 - Código PHP para pagina web.... 41 Figura 23 - Pagina web com relatório final... 42

LISTA DE SIGLAS AAA: (Autenticação, Autorização e Contabilização) ACK: (Acknowledgment) ASC: (Access Control Server) ASCII: (American Standard Code for Information Interchange) BNC: (Bayonet Neill Concelman) BPF: (BSD Packet Filter) CHAP: (Challenge-Handshake Authentication Protocol) EAP: (Extensible Authentication Protocol) FDDI: (Fiber Distributed Data Interface) GB: (Gigabyte) GBPS: (Gigabits Por Segundo) GPL: (General Public License) HTML: (HyperText Markup Language) HTTP: (Hypertext Transfer Protocol) HTTPS: (HyperText Transfer Protocol Secure) IAS: (Internet Authentication Service) ICMP: (Internet Control Message Protocol) IFC: (Instituto Federal Catarinense) IGMP: (Internet Group Management Protocol) IP: (Internet Protocol) LAN: (Local Area Network) MAN: (Metropolitan Area Network) MBPS: (Megabits Por Segundo) NAK: (Not Acknowledgment) NAS: (Network Attached Storage) PAP: (Password Authentication Protocol) PPP: (Point-to-Point Protocol) RFC: (Request For Coments) SLIP: (Serial Line Internet Protocol) SNMP: (Simple Network Management Protocol) SO: (Sistema Operacional)

TCP: (Transmission Control Protocol) UDP: (User Datagram Protocol) WAN: (Wide Area Network) YYYY / MM / DD HH: MM: SS.UUUUUU: (Ano/Mês/Dia Hora: Minuto: Segundos)

SUMÁRIO 1 INTRODUÇÃO... 11 2 OBJETIVOS... 13 2.1 OBJETIVO GERAL... 13 2.2 OBJETIVOS ESPECÍFICOS... 13 3 REFERENCIAL TEÓRICO... 14 3.1 REDES DE COMPUTADORES... 14 3.1.1 Redes Locais (LANs)... 14 3.1.2 Redes Geograficamente Distribuídas (WANs)... 17 3.2 GERÊNCIA DE REDES... 18 3.2.1 Requisitos de Gerenciamento... 19 3.3 AUTENTICAÇÃO DE USUÁRIOS... 20 3.3.1 RADIUS... 21 3.3.1.1 Métodos de Autenticação... 22 3.3.1.2 FreeRADIUS... 23 3.4 COOVACHILLI... 24 3.5 NGREP... 25 3.6 SHELL SCRIPT... 26 4 MATERIAL E MÉTODOS... 29 4.1 TIPO DE PESQUISA... 29 4.2 MATERIAIS... 29 4.4 INSTALAÇÃO E CONFIGURAÇÃO... 31 5 RESULTADOS E DISCUSSÃO... 42 6 CONSIDERAÇÕES FINAIS... 43 REFERÊNCIAS... 44 ANEXOS... 46

11 1 INTRODUÇÃO O estudo das tecnologias está trazendo cada vez mais aplicativos que nos ajudam a resolver problemas para as redes de computadores e nos diversos outros seguimentos da informática. O tema tratado é a implantação de uma ferramenta que ajuda a ter controle sobre os acessos dos usuários a Internet. Aplicar-se-á o estudo em autenticar e controlar a rede através de um servidor FreeRADIUS com um portal de autenticação para os usuários se identificarem antes do acesso a Internet. Nestes aplicativos será implantado também um monitoramento que ajudará a verificar quais os sites de mais acesso por usuário. Para Filagrana (2002) a autenticação é sinônimo de segurança, pois torna os acessos restritos a uma permissão, fazendo com que só pessoas autorizadas tenham acesso às informações de acesso a Web. Tendo em vista a dificuldade de alunos e professores na navegação de sites e conteúdos da Internet, ter controle sobre o tráfego que cada usuário pode utilizar é uma maneira de tornar os serviços de rede mais eficientes. No Instituto Federal Catarinense Campus Sombrio (IFC Sombrio), a rede de computadores e Internet não possui um controle de acesso de usuários, com identificação e controle de velocidade, muitas vezes deixando o serviço de navegação Web prejudicado. Que ferramentas implantar na infraestrutura de rede para autenticar e monitorar os acessos dos usuários? Durante os estudos foi possível identificar uma variedade muito grande de ferramentas úteis para realizar as tarefas de autenticação e monitoramento de acessos de usuários, escolheu-se as seguintes devido a grande documentação e facilidade de implementação: Coovachilli, FreeRADIUS, Apache2, Ngrep e Shell Script. Estes aplicativos instalados dentro do sistema operacional Ubuntu Server 12.04 terão tarefas de proteger, controlar e mostrar os sites que passam na rede de computadores do IFC Campus Sombrio. Com um banco de dados juntam-se os controles de usuário e senha feitos através do FreeRADIUS, além dos dados da captura do Ngrep. Com o uso de shell script foi gerado uma pagína html com resultado do tempo de uso destes sites por usuário. A estrutura deste Trabalho de Conclusão de Curso está explanada da seguinte forma: o capitulo 2 com os objetivos alcançados, capítulo 3 com a fundamentação teórica trazendo o básico de redes de computadores e a base das ferramentas usadas. O capítulo 4 traz o tipo de

12 pesquisa, os métodos, os materiais, a instalação e configuração dos arquivos necessários ao funcionamento da implantação do serviço. O capítulo 5 que relata os objetivos alcançados, não realizados e os resultados e o capítulo 6 define o trabalho mostrando as dificuldades elencadas, as soluções dos problemas, a explicação dos objetivos não alcançados e a proposta de trabalhos futuros no mesmo seguimento.

13 2 OBJETIVOS Neste contexto encontram-se os objetivos a serem concluídos ao final do projeto. 2.1 OBJETIVO GERAL Implementar serviços capazes de autenticar e monitorar os usuários da infraestrutura de redes do Instituto Federal Catarinense Campus Sombrio. 2.2 OBJETIVOS ESPECÍFICOS Usar como ferramenta de implementação os seguintes serviços: a) Implantar serviço de autenticação; b) Implantar serviço de captura de dados na rede; c) Implantar serviço para gerenciamento de portal para login de acesso; e d) Implementar software para manipular os resultados das ferramentas de autenticação, monitoramento e gerenciamento.

14 3 REFERENCIAL TEÓRICO Neste tópico mostra-se através de autores o projeto de autenticação e monitoramento de redes, por soluções de software. Além de descrever sobre a documentação e o conhecimento das redes de computadores. 3.1 REDES DE COMPUTADORES As redes de computadores realmente ganharam força no início da década de 1980 descobrindo que os computadores pessoais ou individuais não trariam um avanço, pois ficaram presos aos seus próprios recursos. Neste intuito surgiu à palavra mágica do ápice das redes de computadores, O COMPARTILHAMENTO (MORAES, 2010). Segundo Souza (2009), podemos definir rede de computadores como um conjunto de equipamentos interligados trocando informações, compartilhando recursos e a rápida troca de mensagens, conectados por cabos e dispositivos em um ambiente interno ou externo, com as redes LANs e WANs. 3.1.1 Redes Locais (LANs) São redes privadas dentro de uma instituição, empresas, edifícios ou alguns quilômetros interligando computadores e ativos de rede para compartilhamento de dados e envio de mensagens. As LANs possuem três modos de se diferenciar das outras: o tamanho restrito da rede, que facilita o gerenciamento, a tecnologia de transmissão, que consiste em conexões através de cabos, com pouquíssimos erros e funcionam em velocidades de 10Mbps, 100Mbps chegando até 10Gbps e a topologia que pode ser ponto a ponto, estrela, anel e barramento (TANENBAUM, 2003).

15 A topologia ponto a ponto (figura 1) são dois pontos conectados diretamente que trocam informações um como receptor e o outro transmissor, forma esta mais comum que temos (SOUZA, 2009). Figura 1 - Redes ponto a ponto Fonte: MARTINEZ, 2010 Segundo Moraes, (2010) a topologia de redes em estrela (figura 2) caracteriza-se por todos os hosts se conectarem em um núcleo central, podendo ser este, um roteador, um switch ou um hub. Como o nó fica centralizado qualquer problema que acontecer com o mesmo toda rede fica prejudicada, mas ao mesmo tempo tornam-se de fácil detecção e correção de falhas. Figura 2 - Redes em estrela Fonte: MARTINEZ, 2010 Na topologia de rede em anel (figura 3) são arquiteturas que todos os hosts estão conectados por cabo em formato circular, sendo obrigatório que os dados passem por todos os nós da rede, até encontrar seu destino. Os dados transmitidos são transportados em um único sentido, fazendo assim com que se um nó falhar toda a rede fique prejudicada (SOUZA, 2009).

16 Figura 3 - Redes em anel Fonte: MARTINEZ, 2010 Barramento é uma topologia cuja conexão é feita através de cabo coaxial, com conector BNC inserindo os hosts ao longo do cabo e por fim conectores de terminação, mostrado na figura 4. Nesta topologia de rede, o rompimento do cabo em qualquer parte da rede para todo funcionamento da mesma (MORAES, 2010). Figura 4 - Redes em Barramento Fonte: MARTINEZ, 2010 Segundo Martinez (2010), redes mistas são complexas e muito utilizadas em grandes redes. Nela pode-se encontrar uma mistura de topologias, tais como as de anel, estrela, barramento, entre outras, que possuem como características as ligações ponto a ponto e multiponto, usada principalmente que interconectar duas redes de topologias diferentes. Identificado na figura 5.

17 Figura 5 - Redes mistas Fonte: MARTINEZ, 2010 3.1.2 Redes Geograficamente Distribuídas (WANs) As redes WAN ou mais conhecida como rede de longas distâncias, tem abrangência de grandes regiões geográficas, pontos entre cidades, estados, países e continentes, através dos cabos de cobre, satélite, micro-ondas e fibras como meios de transmissão mais comuns (MORAES, 2010). Dentro de WAN existem as redes metropolitanas (MANs) como um subitem. É todo e qualquer tipo de conexão distribuindo Internet ou dados por uma rede abrangendo uma cidade pode ser chamada de MAN, podendo ser por cabos coaxiais, fibras ou por ondas eletromagnéticas através de antenas sem fio (TANENBAUM, 2003). Toda rede WAN contém numerosas linhas de transmissão, todas conectadas a vários roteadores. Quando um host em qualquer rede LAN for se comunicar com outro host em outra rede LAN, seus dados serão encaminhados através de uma linha de transmissão para um roteador e através de outros roteadores conectados a ele que os dados chegarão ao seu destino na outra rede LAN (TANENBAUM, 2003). Nas redes WAN usa-se a arquitetura multiponto ou ponto-multiponto, onde uma informação sai de um ponto principal em um único meio de transmissão e é dividida para vários pontos por meios de endereços lógicos diferentes como mostra na figura 6 (SOUZA, 2009). Um bom exemplo desta rede WAN é a Internet (TORRES, 2009).

18 Figura 6 - Redes ponto-multiponto Fonte: NETVOX, 2013. 3.2 GERÊNCIA DE REDES Segundo Stallings (2005), gerenciamento de rede é um conjunto de ferramentas instaladas em um ambiente de rede, capaz de gerenciar através dos endereços e rótulos atribuídos a cada ponto, e os atributos de cada host e enlace conhecido ao sistema. O gerenciamento é necessário para o controle e monitoramento das redes LANs e WANs. Uma grande rede não pode ser gerenciada apenas pelo administrador, mas sim ter o suporte de ferramentas que o auxiliem no seu trabalho. Para o gerenciamento instala-se um software cliente nos ativos de rede e um software de gerenciamento em um equipamento central, assim o cliente envia informações para o gerenciador e transforma em informações para o administrador, ou até mesmo transforma em mensagens de avisos e guarda em um banco de dados (SOUZA, 2009).

19 3.2.1 Requisitos de Gerenciamento Conforme nos coloca Stallings (2005) e proposto pela International Organization for Standardization (ISO), as principais áreas de gerenciamento são: a) Gerenciamento de falhas: recurso que detecta exatamente onde está à falha, tomando o cuidado de isolar a mesma de toda a rede para que fique operando sem causar muito impacto. Tornando o mais rápido possível a correção e reparo para a volta da normalidade; b) Gerenciamento de contabilidade: recurso capaz de determinar taxas de uso conforme prioridades de consumo da rede analisando os custos. Tornando a rede mais correta e inibindo que um usuário específico fique ocupando todo fluxo da rede, deixando os outros que realmente produzem a necessidade de fazer seu trabalho; c) Gerenciamento de configuração e de nome: tem o controle de configurações de dispositivos gerenciáveis para fornecer maior controle, ter mais informações de uso e de recursos para dar maior tempo de uso e operação continua da conexão; d) Gerenciamento de desempenho: faz dentro da rede o monitoramento, que é a função de acompanhar as atividades da rede, e recursos para fornecer informações sobre o nível operacional da rede. Já o controle faz a função de analisar estes dados e gerar um feedback para que o gerenciamento de desempenho possa realizar ajustes para melhorar o desempenho da rede; e) Gerenciamento de segurança: concentra-se na geração, na distribuição e no armazenamento de chaves de criptografia e na coleta, armazenamento de registros, informações de gerenciamento de hosts da rede através de logs, podendo assim fazer um exame da rede através do logs armazenados.

20 3.3 AUTENTICAÇÃO DE USUÁRIOS Segundo Rufino (2007), autenticação é um cadastro de um equipamento ou usuário para permitir o acesso à rede estabelecendo ou não uma conexão. As autenticações podem ser corretas ou incorretas, fazendo à liberação de acesso a rede se corretas e restringidas o acesso caso incorretas. A autenticação é a primeira coisa feita antes de disponibilizar qualquer serviço na rede. Existem vários tipos de autenticação por protocolos desenvolvidos por empresas privadas sendo elas pagas e usualmente em hardware próprio e as desenvolvidas por comunidades ou no meio acadêmico de código aberto sendo elas gratuitas ou de código aberto. As ferramentas pagas são destinadas a ativos de redes próprios e com preço de mercado alto, muitas não sendo compatíveis com outros protocolos livres para manter o monopólio das redes. Já as de código aberto são ferramentas que são instaladas como serviço em qualquer hardware e tem compatibilidades com os outros dispositivos de rede, proporcionando o mesmo resultado que as pagas. Para Filagrana (2002) a autenticação é sinônimo de segurança, pois torna os acessos restritos a uma permissão, fazendo com que só pessoas autorizadas tenham acesso às informações armazenadas nos sistemas. Segundo Walt (2011); Pereira (2009), a RFC2903 garanti um controle de acesso à rede determinando três modelos básicos de segurança descritos como AAA: Autenticação, Autorização e Contabilização: a) Autenticação: caracteriza-se pela conferência entre os dados fornecidos pelo usuário ao banco de dados para perfeita conferência de igualdade. As formas mais comuns e utilizadas são o usuário e senha, certificados e tokens, caso uma delas sejam consideras incorretas ao banco de dados negará o acesso, caso contrário a sessão será aberta por tempo determinado; b) Autorização: são regras determinadas para cada usuário ou grupo de uma rede, dando a ele permissões, privilégios, restrições para o acesso ao recurso dentro de uma rede. É através destas regras que podemos limitar quantidade de sessões por usuário, controle de acesso à rede e limitar acesso por tempo determinado;

21 c) Contabilização: são todos os tipos de contagem feitos durante o uso da rede, para o gerenciamento e cobrança da utilização, com a identificação ou autenticação do usuário da rede com início e fim do uso; 3.3.1 RADIUS O protocolo RADIUS segundo Walt (2011), segue a arquitetura servidor/cliente. O usuário que deseja utilizar um determinado serviço de rede envia as suas informações para o NAS (Network Atachament Storage) solicitado (o NAS atua como um cliente para o servidor RADIUS), que pode solicitar a autenticação deste usuário a um servidor RADIUS AAA, na forma de uma mensagem de requisição de acesso (Access- Request message). De acordo com a resposta fornecida pelo servidor AAA, o cliente (NAS) pode então fornecer os serviços requisitados pelo usuário de acordo com as políticas e informações estabelecidas pelo servidor RADIUS AAA. Após receber uma requisição do cliente, o servidor RADIUS tenta promover a autenticação do usuário, e retorna as informações de configuração e as políticas a serem aplicadas para o mesmo. Devido a grande flexibilidade do protocolo e devido as diferentes tecnologias agregadas ao RADIUS, o servidor pode ser configurado para autenticar os usuários localmente ou como um cliente proxy que redireciona os pedidos de acesso para outro servidor AAA remoto. Quando utilizamos o servidor RADIUS desta forma, o servidor AAA que atua como proxy passa a ser o responsável pela intermediação das mensagens trocadas entre o cliente e o servidor remoto. Um servidor RADIUS pode ser configurado para efetuar determinadas requisições localmente e atuar como proxy para outros servidores remotos. Um exemplo muito prático e útil desta flexibilidade do RADIUS é a utilização do mesmo para a autenticação em serviços que executam em sistemas embarcados. Como os sistemas embarcados geralmente possuem limitações de gasto de energia e de espaço de armazenamento e memória, a utilização de um servidor AAA embarcado atuando somente como proxy pode garantir a autenticação segura de usuários de um serviço, como o acesso de uma rede wireless em um ponto de acesso (WALT, 2011).

22 3.3.1.1 Métodos de Autenticação Os métodos de autenticação do RADIUS podem ser explorados em três formas mais comuns e adequada ao seu uso: PAP, CHAP e EAP. a) Password Authentication Protocol (PAP): segundo Campos (2005), o Protocolo de Autenticação por Senha é um protocolo de autenticação simples. Este protocolo transmite as senhas na forma de texto plano (sem criptografia) em ASCII. Conforme Walt (2011), por não ter criptografia das senhas, este protocolo é considerado inseguro. Ele ainda é utilizado como uma última solução para efetuar a autenticação de usuários, em cenários onde o servidor não suporta protocolos mais seguros. No processo de autenticação com PAP, o cliente envia o nome do usuário e a sua senha, e o servidor envia um ACK (acesso permitido), ou envia um NAK (acesso não permitido). Para o caso específico do RADIUS, caso o cliente não suporte outras formas de autenticação, os pacotes do tipo Desafio de Acesso são considerados como pacotes de Acesso Negado ; b) Challenge-Handshake Authentication Protocol (CHAP): o Protocolo de Autenticação por Desafios de Identidade é um método relativamente seguro de autenticação, em comparação a protocolos mais simples como o PAP. O CHAP verifica periodicamente a identidade do usuário, através de um reconhecimento em três etapas (three-way handshake). Esta autenticação ocorre no estabelecimento da conexão, e também pode ocorrer a qualquer momento após o seu estabelecimento. A verificação da autenticidade dos usuários é feita através do segredo compartilhado (shared secret) entre o usuário e o servidor RADIUS. Após a etapa de estabelecimento da conexão, o servidor RADIUS envia um desafio para o usuário. O usuário então emite uma resposta que contém o hash do segredo compartilhado. O servidor de Autenticação então verifica o valor do hash enviado e o compara com o hash gerado por ele mesmo. Caso o valor esteja correto, o servidor envia um Reconhecimento positivo (ACK). Caso contrário, o Servidor Finaliza a conexão. Em intervalos de tempo aleatórios, o servidor realiza novamente um desafio para o usuário (CAMPOS, 2005);

23 c) Extensible Authentication Protocol (EAP): é um Protocolo de Autenticação Extensível que segundo os autores Peres & Weber (2003), provê funções de negociação a respeito de quais métodos de autenticação serão utilizados e, além disso, oferece suporte a múltiplos métodos de autenticação, chamados de métodos EAP. Dentre estes métodos, podemos citar o EAP-MD5, EAP-TLS (muito utilizado em redes sem fio) e EAP-TTLS. O servidor que deseja autenticar o cliente, requisita informações adicionais a respeito do mesmo, e um dos métodos EAP é então solicitado para prover a autenticação. 3.3.1.2 FreeRADIUS De acordo com site do projeto freeradius.org, este é uma implementação do protocolo RADIUS modular, de alto desempenho e rica em opções e funcionalidades. Segundo Walt (2011), FreeRADIUS é um projeto open source fornecendo uma implementação muito rica em recursos do protocolo RADIUS com vários plug-ins para acessórios. Conforme nos averbera Antunes (2008;2009) o FreeRADIUS é o servidor de autenticação mais utilizados nos sistemas Linux, responsável por autenticar um terço dos usuários de Internet no mundo. Entre as suas as vantagens pode-se limitar o número máximo de acessos simultâneos e o funcionamento como proxy, além de Permitir a edição de usuários, clientes e regras de acesso tanto em arquivos como em bases de dados. O MySQL, PostgresSQL e Oracle são banco de dados compatíveis com o FreeRADIUS (ANTUNES, 2008;2009). O protocolo RADIUS, base do FreeRADIUS, possui uma boa aceitação e foi publicado em 1997, como RFCs, trazendo algumas mudanças aplicadas nele. A RFC 2865 ficou como norma do protocolo RADIUS e a RFC 2866 com a contabilidade RADIUS. Com estas publicações começou-se a implementar o protocolo em qualquer equipamento ou software, incorporando o protocolo RADIUS para as redes AAA sobre TCP/IP. O desenvolvimento do FreeRADIUS começou em 1999, com código aberto e com a participação ativa da comunidade desenvolvedora. Hoje o FreeRADIUS continua como uma ferramenta de código aberto e gratuita, competindo de igual para igual com ferramentas pagas

24 como o ACS Cisco (Access Control Server) e o Microsoft IAS (Internet Authentication Service), tornando-se uma ferramenta bastante popular. Segundo a RFC 2865 e RFC 2866 a comunicação do protocolo RADIUS entre o cliente e o servidor é feita através do protocolo UDP. Segundo Antunes (2009), o FreeRADIUS trabalha com a tecnologia cliente e servidor. A comunicação entre cliente e servidor se dá pelo protocolo RADIUS que trabalha a autenticação até o banco de dados NAS por meio do protocolo UDP na porta 1812 e na porta 1813 para contabilização-radacct definido na RFC 2865. O FreeRADIUS quando instalado em modo completo oferece as seguintes ferramentas: radclient emula um cliente RADIUS, enviando pacotes para o servidor; radlast mostra as últimas sessões de utilizadores; radtest frontend para o radclient, utilizado para testar o servidor; radwho mostra os utilizadores ligados; radrelay reenvia dados de acoounting para um outro servidor RADIUS; radzap efetua a limpeza da base de dados de sessões ativas. Conforme o autor Walt (2011), FreeRADIUS é serviço multiplataforma, podendo ser instalado em Sistemas Operacionais Windows e Linux, pois existem versões apropriadas a cada um. Instalado em Sistema Operacional Linux, que em nosso caso foi utilizada a distribuição Ubuntu Server 12.04, permite uma maior flexibilidade ao usuário. 3.4 COOVACHILLI CoovaChilli é um controlador de acesso de software em código aberto, auto denominado portal de captura (Captive Portal). Foi baseado no seu antecessor, ChilliSpot, sendo mantido pelos mesmo colaboradores. É distribuído sob a GPL (General Public License), ou seja, código fonte aberto e livre para alterações. Seu proposito é capturar através do navegador, login e senha dos usuários e conduzir através do protocolo RADIUS ao servidor de autenticação escolhido, como mostra a figura 7, tornando a rede mais segura, permitindo mais controle e com uma abordagem de autenticação por protocolo HTTP para o

25 provisionamento de acesso e contabilidade, através do navegador. Sua versão atual esta na 1.3.0 lançada em 21 de outubro de 2012 (COOVA.org). Figura 7 - Tratamento de conexão CoovaChilli. Fonte: COOVA.ORG, 2013 3.5 NGREP Segundo Ritter (2011), a ferramenta Ngrep usa o pcap-aware que permite a você especificar expressões regulares estendidas ou hexadecimais para comparação das cargas de dados de pacotes (payload). Identificando o conteúdo relevante ao que se procura, scaneando a saída do comando linha por linha, procurando pelos argumentos especificados na sintaxe de pesquisa deste comando. Atualmente, reconhece IPv4 / 6, TCP, UDP, ICMPv4 / 6, IGMP e Raw através de Ethernet, PPP, SLIP, FDDI, Token Ring e interfaces nulas, e entende lógica de filtro BPF da mesma forma como ferramentas de detecção de pacotes mais comuns, tais como tcpdump e snoop. O NGrep tenta copiar ao máximo todas as funcionalidades presentes no Grep do Unix, porém as aplica aos pacotes de rede. Ele tem suporte ao Linux, Mac OS X, Solaris, FreeBSD, OpenBSD, NetBSD, HP-UX, AIX e todas as versões de Windows. Para funcionar tranquilamente ele precisa da biblioteca PCAP, que no Unix é a libpcap e no Windows é a WinPcap. Alguns comandos básicos: -l = Cria a linha de saída no buffer 1 ; 1 Memória temporária.

26 -q = Fica estático, sem mostrar qualquer outra informação dos cabeçalhos dos pacotes e sua carga útil (só mostra o que for pedido no comando); -t = Imprime o timestamp no formato YYYY / MM / DD HH: MM: SS.UUUUUU sempre que um pacote é correspondido à pesquisa; -d = forçar o ngrep escutar a interface que você especificar; eth2 = interface especificada pelo administrador para o ngrep escutar, do contrário o ngrep irá escutar a eth0 por padrão; -i = ignorar caso a expressão não possuir o expressão a ser filtrada entre os apóstrofos. Segue exemplificação na figura 8 dos comandos dados pelo Ngrep neste trabalho. Figura 8 - Captura Ngrep das URLs Fonte: AUTOR, 2013. 3.6 SHELL SCRIPT Segundo Jargas (2008), Shell Script é a junção de um script e o prompt da linha de comando do Unix e do Linux (Shell). Script é uma lista de comandos para serem executados em sequência, um após o outro. Em outros casos usa-se em condições repetitivas de execução, como por exemplos backups automatizados por tempo. O Shell é o local que recebe os comandos, parâmetros e funções digitados pelo usuário, e os executa. Cada comando é lido, verificado, interpretado e enviado ao sistema operacional para ser executado, ou seja, é a ligação entre o usuário e o kernel (ligação do Sistema Operacional com o hardware). Conforme o mesmo autor (2008), a junção do Shell com o Script, foi para facilitar a automatização de funções do dia a dia principalmente aos administradores de rede. Nos dias de hoje scripts são considerados roteiros de comandos desleixados, usados somente para

27 aprendizados e ou para improvisações não sendo tecnicamente recomendáveis. Estes mesmos scripts estão sendo substituídos por programas, ou seja, os mesmos roteiros de comandos, estão se tornando melhor elaborados, analisados, codificados com cautela, comentados, traçando cabeçalhos, executando tratamento de erros e exceções, sendo alinhados e podendo ser atualizados conforme as necessidades do programador. Seguindo o mesmo autor (2008), o Shell Script tem um formato padrão de execução: COMANDO+OPÇÕES+PARAMETROS. Há vários comandos feitos para o Shell como por exemplo as ferramentas abaixo relacionadas: a) cat: mostra o conteúdo de um ou mais arquivos; b) cut: extrai campos ou trechos de uma linha; c) date: mostra a data; d) diff: mostra a diferença entre dois arquivos; e) echo: mostra um texto como mensagens na tela; f) find: encontra arquivos procurando pelo nome, data, tamanho e outras propriedades; g) fmt: formatador simples de parágrafos, adicionando ou removendo quebras de linha e espaços; h) grep: procura em arquivos ou textos por linhas que contem determinado padrão de pesquisa; i) head: mostra o inicio de um texto expressas em linhas ou caracteres; j) od: mostra o código de cada caractere de um arquivo ou texto em octal, hexadecimal e ASCII; k) paste: junta linha de vários arquivos em um só; l) printf: mostra um texto usando vários formatadores especiais; m) ver: inverte a ordem dos caracteres da linha, de trás para frente; n) sed: editor de texto que troca uma string por outra; o) seq: faz a contagem numérica por linha e mostra a sequência na tela; p) sort: ordena as linhas de um texto em ordem alfabética ou numérica; q) tac: faz a contagem numérica por linha e mostra a sequencia inversa na tela; r) tail: mostra o final de um texto expressas em linhas ou caracteres; s) tee: salva um fluxo de dados de um pipe para um arquivo, sem interrompê-lo; t) tr: transforma, comprime e apaga caracteres, funcionando como um filtro;

28 u) uniq: remove linhas repetidas consecutivas em um texto, deixando somente uma; v) wc: conta letras, palavras e linhas em um texto; w) xargs: gerencia e executa comandos passando os argumentos recebidos via STDIN. Com base nos comandos citados é possível gerar programas com execução em modo oculto liberando o usuário de comandos repetitivos e cansativos. Estes programas podem servir para realizar consultas, inserção, alteração entre outras funções em arquivos de log e de sistemas.

29 4 MATERIAL E MÉTODOS Foram utilizados os seguintes materiais e métodos na construção deste trabalho: 4.1 TIPO DE PESQUISA O trabalho proposto caracteriza-se como uma pesquisa aplicada, pois como esta é definida por Lakatos e Marconi (2012), este tipo de pesquisa busca aplicar o conhecimento adquirido na solução de um problema. Assim podemos considerar a implantação de um Portal de Autenticação e Monitoramento de Usuários no IFC Campus Sombrio como uma pesquisa aplicada. Ainda conforme as mesmas autoras (2012), temos a pesquisa experimental que trata de estudos explicativos, avaliativos e interpretativos colocado em implementação para a mudança do problema proposto ao trabalho, e assim caracteriza-se a implantação do Portal de Autenticação e Monitoramento de Usuários, pois no decorrer do processo a pesquisa foi sendo reavaliada e alterada conforme as necessidades surgidas. 4.2 MATERIAIS Para a realização da Implantação foram utilizados os seguintes materiais: Ultrabook com 4gb memória RAM e processador Core I5; Sistema Operacional (SO) Windows 8;

30 Uma Máquina Virtual com o SO Linux Ubuntu Server 12.04, com 1gb memória e com três placas de rede. Uma placa de entrada para Internet, e uma placa para o range 2 dos usuários e outra placa para o range do administrador; Duas Máquinas Virtuais com SO Windows XP com uma placa de rede cada para testes no ranges dos usuários e administrador; 4.3 MÉTODOS Na infraestrutura de redes de computadores do IFC propôs-se implementar um servidor Ubuntu 12.04 com serviços de autenticação e captura de dados. Para autenticação usou-se o servidor FreeRADIUS com banco de dados MySQL e com gerenciamento do aplicativo DaloRADIUS. Já para o usuário efetuar o login de autenticação usou-se o CoovaChilli como um Hotspot, fazendo assim a interface entre o usuário e o servidor FreeRADIUS. No monitoramento apresentou-se melhor a ferramenta Ngrep que faz a captura de dados determinados pelo administrador e armazena em arquivos de texto. Como nosso propósito é fazer o monitoramento por usuário logado no servidor FreeRADIUS, usamos a linguagem Shell Script para filtrar os usuários cadastrados no banco de dados MySQL e atrelar o ip do arquivo armazenado do Ngrep. Trazendo para o administrador de rede o nome do usuário e o tempo que ele usou durante o seu expediente. Gerando ao administrador uma página web com os dados e para relatórios para sua análise. Para que o FreeRadius, o CoovaChilli e Ngrep ter um funcionamento adequado é necessário instalar no servidor Ubuntu mais um componente básico, o Apache2. Ele fará com que o CoovaChilli mostre, através do navegador, onde o usuário possa fazer seu login e senha e as guarde no banco de dados proposto. A topologia lógica da rede esta exemplificada na figura 9. 2 Faixa de IPs de uma rede.

31 Figura 9 - Topologia Lógica da Rede Fonte: AUTOR, 2013. 4.4 INSTALAÇÃO E CONFIGURAÇÃO Para que possamos instalar sem nenhum problema faremos a autenticação no Ubuntu Server como root, para ter todos os privilégios de administrador executando o comando sudo su, e preenchendo a senha de super usuário. Como se trata de um servidor que fará autenticação por usuário usando o CoovaChilli tem-se que configurar uma placa de rede em modo manual, pois quem fará o DHCP 3 para a rede será o próprio CoovaChilli. Por padrão as placas de redes estão configuradas por DHCP, no arquivo interfaces, localizado no diretório /etc/network/, que será editado para o modo manual e estático, como mostra na figura 10. Para ter efeito estas configurações nas interfaces aqui modificadas foi executado o comando 3 Protocolo de configuração dinâmica de host.

32 /etc/init.d/networking restart para reiniciar os serviços da rede. Para confirmar as configurações que foram feitas foi utilizado o comando ifconfig. Figura 10 - Arquivo interfaces editado para funcionamento Fonte: AUTOR, 2013 Antes de instalar as ferramentas utiliza-se fazer uma verificação e atualização do banco de dados do repositório do sistema operacional Ubuntu Server com o comando apt-get update && apt-get upgrade para deixar o repositório completo. Após o repositório atualizado, e antes da instalação das ferramentas, autenticação e monitoramento, instala-se algumas aplicações para o correto funcionamento dos mesmos. Através do comando aptitude install apache2 ssl-cert php5-gd php-db php-pear libapache2-mod-php5 mysqlserver mysql-client freeradius freeradius-mysql phpmyadmin freeradius-utils gcc logado como root, instalar-se-á o Apache2, php, FreeRADIUS e o MySQL para autenticar, guardar no banco de dados e fazer o hotspot. Após instalação usam-se os seguintes comandos para poder ter acesso ao navegador via HTTS, ou seja, em modo seguro. Executa-se os comandos a2enmod ssl, a2ensite default-ssl em sequência e o comando service apache2 restart para reiniciar os serviços do Servidor Web para as alterações serem realizadas. Com o FreeRADIUS instalado cria-se o banco de dados MySQL usado para guardar as autenticações dos usuários logados pelo CoovaChilli. Para criar um banco de dados entre como usuário root em seu terminal usando os seguintes comandos: MySQL u root p comando para entrar no banco de dados; Enter password coloque a senha usada na instalação do banco de dados MySQL; mysql> CREATE DATABASE radius comando para criar o banco de dados;

33 mysql> quit comando para sair. Criado a base de dados adicione os scripts SQL schema.sql e nas.sql com os seguintes comandos: mysql u root p radius < /etc/freeradius/sql/mysql/shema.sql; mysql u root p radius < /etc/freeradius/sql/mysql/nas.sql. Para modificar e cadastrar no banco de dados usa-se alguns privilégios com os comandos: mysql u root p para entrar no banco de dados; Enter password coloque a senha cadastrada na instalação do MySQL; mysql> GRANT ALL PRIVILEGES ON radius.* TO radius @ localhost IDENTIFIED BY mysqlsecret ; mysql> FLUSH PRIVILEGES banco de dados com os devidos privilégios; mysql> quit Sair. A edição dos arquivos de configuração pode ser feita com qualquer editor de textos presente no sistema operacional, como por exemplo: Nano, Vim, Vi ou mcedit. O primeiro arquivo é o sql.conf que fica em /etc/freeradius/ modificado para o conteúdo da figura 11. Figura 11 - Arquivo editado sql.conf. Fonte: AUTOR, 2013 O segundo arquivo a ser editado esta em /etc/freeradius/clientes.conf que foi alterado para a palavra chave mysqlsecret como mostra na figura 12.

34 Figura 12 - Arquivo editado clients.conf Fonte: AUTOR, 2013 Todos os usuários do FreeRADIUS são cadastrados ou alterados no arquivo users no diretório /etc/freeradius/ após o cadastramento reiniciou-se o sistema operacional com o comando reboot. Após o reinício do SO parou-se o serviço FreeRADIUS com o comando /etc/init.d/freeradius stop, para a depuração e verificação de erros com o comando freeradius XXX, se o resultado da depuração mostrar êxito dê o comando pelo teclado control+c para sair, caso contrario revise os erros de configuração e os refaça. Aqui nestas configurações fez-se os usuários no próprio arquivo do FreeRADIUS, para segurança e armazenamento destes usuários, cadastra-se direto no banco de dados MySQL que criamos nas etapas anteriores. Para fazer esta ligação teremos que editar novamente o arquivo sql.conf no diretório /etc/freeradius/ tirando o comentário da linha readclients=yes. Já no arquivo default no diretório /etc/freeradius/sites-enabled/ um pouco mais extenso terá que ter mais atenção em comentar algumas linhas e excluir o comentário de outras, deixando como o arquivo do Anexo 1. Para finalizar a configuração da autorização do FreeRADIUS com o banco tem que edita-se o arquivo radius.conf no diretório /etc/freeradius/ tirando o comentário da linha INCLUDE sql.conf conforme anexo 2. Nesta etapa fez-se a inserção de um usuário e senha no MySQL para fazer o teste na conexão. Após reinicializar o serviço do FreeRADIUS, usou-se o comando radtest com o nome e a senha cadastrada, o IP ou nome do servidor e a porta, e por último a palavrachave do FreeRADIUS para comprovar o correto funcionamento da integração do FreeRADIUS e o banco MySQL como mostra na figura 13.

35 Figura 13 - Teste de funcionamento do FreeRADIUS Fonte: AUTOR, 2013 Com o banco de dados, o Apache2 e o FreeRADIUS já instalado e configurado, o próximo passo é a instalação do CoovaChilli que fará a interação do usuário com o FreeRADIUS. O CoovaChilli é uma aplicação que quando iniciou-se a configuração do Sistema Operacional foi deixado a placa de rede de usuários em modo manual, que agora este aplicativo fará o serviço de DHCP e fornecerá a página de autenticação. Como este aplicativo ainda não esta instalado e não possui no repositório do SO, executa-se a baixa e a instalação pelo comando cd /tmp && wget http://ap.coova.org/chilli/coova-chilli_1.3.0_i386.deb && dpkg i coova-chilli_1.3.0_i386.deb com intuito de preparar para a configuração. Já instalado falta apenas à configuração por um seguimento padrão dos outros aplicativos que configuramos. Edita-se o diretório /etc/chilli e já com uma cópia do arquivo defaults para config e edita-se da linha 12 até a 85 como mostra a figura 14. Figura 14 - Arquivo config editado Fonte: AUTOR, 2013

36 Após configurado o arquivo config, passará a modelar a página da autenticação para o usuário, neste caso cria-se dois diretórios em /etc/chilli/www, um chamado images e outro uam. Para o correto funcionamento baixou-se da internet dentro do diretório uam os seguintes arquivos com o comando wget http://ap.coova.org/uam/ e wget http://ap.coova.org/js/chilli.js. No mesmo diretório, editou-se o arquivo index.html na linha 85, como mostra no anexo 3, e um diretório abaixo modificou-se o arquivo ChilliLibrary.js nas linhas 81 e 82 descrita no anexo 4. Para não precisar sempre que for iniciado o SO ter que iniciar o CoovaChilli, edita-se o arquivo chilli no diretório /etc/default o parâmetro START_CHILLI=0 para START_CHILLI=1. Para conferir e testar a configuração, usa-se um depurador de erros com o comando chilli f d e aguarde o resultado, se aparecer erros inicia-se passo a passo as configurações. Tudo corretamente instalado e configurado necessita-se apenas a configuração da página de login, que o CoovaChilli já possui por padrão. Com o comando zcat c /usr/share/doc/coova-chilli/hotspotlogin.cgi.gz > /usr/lib/cgi-bin/hotspotlogin.cgi para descompactar o mesmo edita-se o hotspotlogin.cgi do diretório /usr/lib/cgi-bin/ alterando o parametro $uamsecret= com a palavra secreta que foi colocado no arquivo config editado anteriormente ou verifique no anexo 5. Para configurar a VirtualHost foi criado um arquivo no diretório /etc/apache2/sites-available/ com o nome de hotspot como mostra a figura 15 e para o seu funcionamento ativa-se com o comando a2ensite hotspot, com o reinício do apache2 com o comando /etc/init.d/apache2 restart para que todas as configurações venham prevalecer. Figura 15 - Arquivo hotspot editado Fonte: AUTOR, 2013

37 Após reinício do SO usa-se fazer uma cópia do diretório /etc/chilli/www para /var/www/hotspot e dentro de hotspot copia-se a imagem coova.jpg para /var/www/hotspot/images. Com os comandos chown R www-data.www-data /var/www/hotspot/, chown R www-data.www-data /var/www/hotspot/*, chown R wwwdata.www-data /usr/lib/cgi-bin/hotspotlogin.cgi e chmod 777 /usr/lib/cgibin/hotspotlogin.cgi mudará as permissões para estes arquivos. Para o perfeito funcionamento do hotspotlogin usa-se o comando cd /tmp && wget http://dowloads.souceforge.net/project/haserl/haserl-devel/0.9.27/haserl-0.9.27.tar.gz para baixar este plugin que funcionará na autenticação do usuário pelo CoovaChilli até o banco de dados. Para instalar, usou-se o comando tar xzf haserl-0.9.27.tar.gz && cd /tmp/haserl- 0.9.27 que extrai o arquivo zip, e os comandos./configure, make e make install. Com o término da instalação modificou-se o arquivo wwwsh no diretório /etc/chilli seguindo o anexo 6, e o arquivo up.sh adicionando quatro linhas no final do arquivo especificado no anexo 7. Para terminar esta etapa da autenticação foi atualizado os scripts com o comando update-rc.d chilli defaults e feito a reinicialização do SO para que o navegador abrar pedindo o login e senha como mostra a figura 16 quando for usar a internet. Dando ao administrador da rede poder de controlar por nome seus usuários. Figura 16 - Captura login e senha Coovachilli Fonte: AUTOR, 2013

38 Como no Ubuntu Server 12.04 não vem instalado a ferramenta de captura de dados na rede, faz-se logue no terminal como usuário root e instala-se o ngrep com o comando apt-get install ngrep. Com esta ferramenta instalada usou-se três parâmetros de captura para filtrar o trafego e armazenar em um arquivo texto como mostra na figura 17. Para que o comando possa ficar capturando os dados em tempo real, usa-se um script com todos os comandos em sequência sendo executados pelo Shell. Para colocar estes comandos cria-se um arquivo com o comando vim dentro de qualquer partição, neste caso foi em /home/suporte/ com o nome capturapaginas.sh e dentro deste arquivo foi descrito os comandos como mostra a figura 17. Figura 17 - Arquivo captura Ngrep Fonte: AUTOR, 2013 Neste script o ngrep faz a captura através dos parâmetros e expressão, sendo o l que cria a linha de saída no buffer, o q que mostra só o que esta no comando, o t que cria a data e a hora quando encontra a expressão, o d que força escutar a placa de rede determinada e por fim o i passa direto se na pesquisa não encontrar a expressão imposta, guardando em um arquivo texto especificado. Com os dados capturados e gravados no arquivo texto, trata-se estes dados para eliminar partes que não necessitam e fica somente o que é necessário para o propósito de saber quanto tempo o usuário ficou usando uma destas urls 4. Na figura 18 mostra o script de limpeza dos dados. 4 Endereço de um arquivo na web.

39 Figura 18 - Filtro dos dados capturados pelo Ngrep Fonte: AUTOR, 2013 Neste script de filtro usa varia ferramentas, o grep que procura por linha o que contém entre colchetes, o cut que extrai campos ou trechos de uma linha, o tr que comprimi ou apaga caracteres que for determinado e o sed que troca ou substitui uma string por outra. Este script é salvo em um arquivo texto para poder ser manipulado. Usa-se um comando em Shell Script e MySQL para importar do arquivo texto anterior em uma tabela dentro do banco de dados. Segue a figura 19 dos comandos executados. Figura 19 Importação arquivo texto para tabela MySQL. Fonte: AUTOR, 2013

40 Com todos os dados na tabela fez-se uma consulta em linguagem SQL, foram capturados os dados das tabelas e os comparando para retirar a tabela de dados por nome e tempo de uso. Como mostra na figura 20. Figura 20 - Consulta de tabelas MySQL Fonte: Autor, 2013 Para mostrar o resultado através de uma pagina web, usou-se um código em html chamando um código em php descrito na figura 21, por nome de usuário. Figura 21 - Código HTML para pagina web Fonte: Autor, 2013

41 Com o código em html feito, desenvolveu-se um código em php que consulta o banco de dados SQL, e compara os dados pela data, hora e usuário, mostrando um relatório com data e hora de uso por usuário de quem o fez como mostra a figura 22. Figura 22 - Código PHP para pagina web. Fonte: Autor, 2013

42 5 RESULTADOS E DISCUSSÃO Com a realização das pesquisas e testes, foi possível perceber que os objetivos de melhorar o uso de Internet através do servidor de gerenciamento da rede foi positivo. Levando em consideração que a autenticação de cada usuário, através do servidor FreeRADIUS garante uma maior segurança à rede, dando ao administrador a possibilidade de controle pelo banco de dados armazenado. A navegação que antes era livre teve um ponto positivo ao momento que o cadastramento de cada usuário e a captura de dados foi relacionadas tornando visível o tempo gasto de cada usuário com acessos indevidos aos parâmetros educacionais ou de trabalho, mostrado através de uma pagina html ilustrado na figura 23. Para a o administrador da rede tornou-se mais fácil o controle de acesso aos alunos, professores e servidores tendo um relatório diário de uso para tomar suas decisões em relação ao consumo excessivo de internet, caso mais crítico no ponto de vista do objetivo deste trabalho. Figura 23 - Pagina web com relatório final Fonte: Autor, 2013