Baixe o app para aproveitar ainda mais
Prévia do material em texto
FACULDADE DE TECNOLOGIA DE GUARATINGUETÁ PROJETO DE REESTRUTURAÇÃO DA REDE DE COMPUTADORES DA FATEC-GT Projeto estrutural de rede e implantação de servidor Cache, Firewall e Controle de Conteúdo para a Faculdade de Tecnologia de Guaratinguetá Alexandre Henrique Cristofoletti César Augusto da Silva Edson Luis de Oliveira Carneiro Eliphas Levi Guimarães de Siqueira Rubens Levy Germano Relatório Técnico-científico apresentado à Faculdade de Tecnologia de Guaratinguetá, para conclusão do Curso Superior de Tecnologia em Informática com ênfase em Redes de Computadores. Guaratinguetá - SP 2010 FACULDADE DE TECNOLOGIA DE GUARATINGUETÁ PROJETO DE REESTRUTURAÇÃO DA REDE DE COMPUTADORES DA FATEC-GT Projeto estrutural de rede e implantação de servidor Cache, Firewall e Controle de Conteúdo para a Faculdade de Tecnologia de Guaratinguetá Alexandre Henrique Cristofoletti César Augusto da Silva Edson Luis de Oliveira Carneiro Eliphas Levi Guimarães de Siqueira Rubens Levy Germano Relatório Técnico-científico apresentado à Faculdade de Tecnologia de Guaratinguetá, para conclusão do Curso Superior de Tecnologia em Informática com ênfase em Redes de Computadores. Área de concentração: Informática Ênfase: Redes de Computadores Linha de estudo: Segurança de redes de computadores Orientador: Prof. Glauco da Silva Guaratinguetá - SP 2010 CARNEIRO, Edson L. O.; CRISTOFOLETTI, Alexandre H.; GERMANO, Rubens L.; SILVA, César A.; SIQUEIRA, Eliphas L. G. PROJETO DE REESTRUTURAÇÃO DA REDE DE COMPUTADORES DA FATEC-GT: Projeto estrutural de rede e implantação de servidor Cache, Firewall e Controle de Conteúdo para a Faculdade de Tecnologia de Guaratinguetá. Guaratinguetá, 2010. 84 páginas. Relatório Técnico-científico, Faculdade de Tecnologia de Guaratinguetá. Resumo Tendo em vista o crescente aumento de usuários da rede de computadores da Faculdade de Tecnologia de Guaratinguetá – FATEC-GT –, verificou-se a necessidade de maiores controle e segurança desta rede, tanto no que tange à rede local quanto no que tange ao acesso à Internet por estes usuários. Este trabalho faz uma proposta de implantação de um servidor responsável por realizar a segurança da rede com foco na Internet, através da implantação de um Firewall iptables, trabalhando como filtro de pacotes; por realizar também a segurança com foco na Intranet, através da implantação de um Filtro de Conteúdo utilizando a ferramenta DansGuardian, que fará o filtro do conteúdo das páginas e sites acessados pelos usuários, baseando-se em suas respectivas permissões de acesso; e por realizar o aprimoramento da navegação na Internet, implantando um servidor de Web Caching utilizando o Squid como ferramenta. Será também apresentado um modelo tridimensional da rede da FATEC-GT baseando-se na norma NBR-14565:2005, contendo informações da rede estruturada da instituição a fim de adequá-la à qualidade proveniente da padronização. O trabalho também irá apresentar uma ferramenta para monitoramento de servidores, capaz de monitorar tráfego entrante e sainte, processamento e utilização de memória de cada ativo de rede e apresentar seus resultados de maneira gráfica e de fácil interpretação, chamada Cacti. Para a administração das soluções implantadas, será utilizado o Webmin, capaz de administrar grande parte das configurações dos servidores através de interface Web, acessível por qualquer ponto da rede. Ao final do trabalho, espera-se melhorar a qualidade dos serviços de rede oferecidos por esta Instituição de Ensino, garantindo confidencialidade, integridade e disponibilidade destes serviços a todos os usuários. Para tal implantação, será utilizada pesquisa bibliográfica a periódicos, livros e sites especializados em segurança de redes. Palavras-chave: Estruturação, Rede, Segurança. CARNEIRO, Edson L. O.; CRISTOFOLETTI, Alexandre H.; GERMANO, Rubens L.; SILVA, César A.; SIQUEIRA, Eliphas L. G. PROJECT OF REESTRUCTURATION OF THE COMPUTER NETWORK AT FATEC-GT: Structural network project and implantation of cache, firewall and content control for Faculdade de Tecnologia de Guaratinguetá. Guaratinguetá, 2010. 84 páginas. Technical-cientific report, Faculdade de Tenologia de Guaratinguetá. Abstract Having in sight the crescent rise of the computer network’s user of the Faculdade de Tecnologia de Guaratinguet-a – FATEC-GT –, it was verified the need of greater control and security of that network, both in terms of the local network and the Internet access for those users. This work makes a proposal for the implantation of a server responsible for the security of the network focusing on the Internet, through the implantation of a iptables firewall, working as packet filter; for also providing the security focusing the Intranet, by implanting a content filter using the DansGuardian tool, which will make the filtering of the page’s content and accessed sites by the users; and for making the upgrading of web surfing, implanting a web cache server using Squid as tool. It will also be proposed a tridimentional model of the FATEC-GT network based in the NBR-14565:2005, containing informations about the structured network of the instituition to adequate it to the quality provided by the standardization. The work will also present a tool for monitoring of servers, capable of monitoring the incoming and outoming traffic, processment and memory utilization of each network active and showing its results in a graphic and easy-to-interpret way, called Cacti. For administrating the implanted solutions, it’ll be used Webmin, capable of administrating a big part of the settings of the servers over an web interface, accessible by any network node. At the end of the work, it’s expected to upgrade the quality of the network services offered by the education institution, granting confidenciality, integrity and disponibility of that services to every user. For such implantation, it’ll be used bibliographical research to periodics, books and sites specialized in network security. Palavras-chave: Structuring, Network, Security. LISTA DE ILUSTRAÇÕES Figura 1 Formulário de configuração exibido no Webmin .................................................... 29 Figura 2 Funcionamento do Webmin ................................................................................... 29 Figura 3 Configuração inicial do módulo Firewall Linux ........................................................ 38 Figura 4 Módulo do Firewall Linux das Interfaces ................................................................ 38 Figura 5 Formulário de criação de regra .............................................................................. 39 Figura 6 Tabela de edição das regras .................................................................................. 41 Figura 7 Detalhes das ações ............................................................................................... 43 Figura 8 Regras da tabela filter ............................................................................................ 49 Figura 9 Regras da tabela NAT ........................................................................................... 49 Figura 10 Página inicial do módulo Squid do Webmin ......................................................... 51 Figura 11 Itens que sofrerão alterações no módulo Squid ................................................... 51 Figura 12 Squid- Configuração de rede e portas .................................................................. 51 Figura 13 Squid - Configuração dos Registros .....................................................................52 Figura 14 Squid - Opções administrativas ............................................................................ 53 Figura 15 Squid - Programas de autenticação ..................................................................... 54 Figura 16 Lista de controle de acesso ................................................................................. 55 Figura 17 Opções de criação de ACL .................................................................................. 56 Figura 18 Restrições de proxy ............................................................................................. 57 Figura 19 Criando uma restrição de proxy ........................................................................... 57 Figura 20 Página inicial do módulo Sarg .............................................................................. 58 Figura 21 Log source and report generation ........................................................................ 59 Figura 22 Estilo do relatório ................................................................................................. 61 Figura 23 Agendamento de geração do relatório ................................................................. 61 Figura 24 Configuração do módulo DansGuardian .............................................................. 63 Figura 25 View/Edit System-Wide Base Config.................................................................... 63 Figura 26 View/Edit System-Wide Base Config.................................................................... 64 Figura 27 View/Edit System-Wide Base Config.................................................................... 64 Figura 28 View/Edit System-Wide Base Config.................................................................... 65 Figura 29 View/Edit System-Wide Base Config.................................................................... 65 Figura 30 Tela de login do Webmin ..................................................................................... 66 Figura 31 Múdulo de configuração do Webmin .................................................................... 67 Figura 32 Ações de log do Webmin ..................................................................................... 69 Figura 33 Configurando o libphp/adodb ............................................................................... 70 Figura 34 Escolha do servidor web a ser utilizado ............................................................... 70 Figura 35 Configuração do banco de dados ........................................................................ 71 Figura 36 Definição da senha do usuário administrador ...................................................... 71 Figura 37 Definição da senha da aplicação MySQL ............................................................. 72 Figura 38 Guia de instalação do Cacti ................................................................................. 72 Figura 39 Selecionando o tipo de instalação do Cacti .......................................................... 73 Figura 40 Verificação das ferramentas instaladas para utilização do Cacti .......................... 73 Figura 41 Login do usuário .................................................................................................. 74 Figura 42 Criando uma nova senha ..................................................................................... 74 Figura 43 Tela inicial de administração do Cacti .................................................................. 75 Figura 44 Selecionando o campo Devices ........................................................................... 75 Figura45 Adicionando um servidor ....................................................................................... 75 Figura 46 Configurando o servidor ....................................................................................... 76 Figura47 Unix - Get Mounted Partitions selecionado ........................................................... 77 Figura 48 Salvando as configurações .................................................................................. 77 Figura 49 Servidor criado ..................................................................................................... 77 Figura 50 Criando os gráficos .............................................................................................. 78 Figura 51 Selecionando os gráficos a serem criados ........................................................... 78 Figura 52 Confirmação da criação dos gráficos ................................................................... 78 Figura 53 Adicionando árvores de visualização ................................................................... 79 Figura 54 Criação da árvore do Servidor Big Bang .............................................................. 79 Figura 55 Configurando o grupo a ser monitorado ............................................................... 80 Figura 56 Grupo "Monitoramento" dentro da árvore ............................................................. 80 Figura 57 Criando o grupo secundário "Uso de CPU" .......................................................... 80 Figura 58 Sub-grupo "Uso de CPU" na árvora ..................................................................... 81 Figura 59 Adicionando o gráfico de Uso de CPU na árvora ................................................. 81 Figura 60 Gráfico de Uso de CPU na árvore ........................................................................ 81 Figura 61 Mensagem de sucesso no salvamento das configurações ................................... 82 Figura 62 Configurações do gráfico ..................................................................................... 82 Figura 63 Visualização da árvore de gráficos ...................................................................... 83 Figura 64 Escolha do item para visualização do gráfico ....................................................... 83 Figura 65 Gráfico "Uso de CPU" .......................................................................................... 83 LISTA DE ABREVIAÇÕES E SIGLAS 2D – Duas dimensões 3D – Modelos tridimensionais. ABNT – Associação Brasileira de Normas Técnicas. AD - Active Directory (Serviço de Diretório) AUTOCAD - computer aided design ou desenho auxiliado por computador. BSD - Berkeley Software Distribution (Sistema Operacional UNIX desenvolvido pela Universidade de Berkeley) DMZ - DeMilitarized Zone (zona desmilitarizada) DNAT - Destination Network Address Translation (Tradução dos Endereços de Rede de Destino) DNS - Domain Name System (Sistema de Nomes de Domínios) FTP - File Transfer Protocol (Protocolo de Transferência de Arquivos) GPL - General Public License (licença pública Geral) ICMP - Internet Control Message Protocol (Protocolo de controle de mensagens) IP – Protocol Internet (Protocolo de Internet) IPFW - Firewall baseado no padrão do FreeBSD LISP – Linguagem de NAT - Network Address Translation (Tradução dos Endereços de Rede) NBR – Norma Brasileira. PPP - Point-to-Point protocol (protocolo ponto a ponto) SNAT - Source Network Address Translation (Tradução dos Endereços de Rede de Origem) TCP - Transmission Control Protocol (protocolo de Controle de Transmissão) SUMÁRIO LISTA DE ILUSTRAÇÕES ..................................................................................................... 4 LISTA DE ABREVIAÇÕES E SIGLAS ................................................................................... 6 INTRODUÇÃO ....................................................................................................................... 8 1 Delimitação do objeto .........................................................................................................8 2 Justificativa ......................................................................................................................... 8 3 Objetivos ............................................................................................................................. 9 3.1 Objetivos gerais ............................................................................................................... 9 3.2 Objetivos específicos ..................................................................................................... 10 4 Métodos ............................................................................................................................ 10 5 Fundamentação Teórica ................................................................................................... 11 PARTE I: PLANEJAMENTO E ANÁLISE ............................................................................. 24 PARTE II: IMPLEMENTAÇÃO ............................................................................................. 26 PARTE III: DOCUMENTAÇÃO ............................................................................................ 27 PARTE IV: CARACTERÍSTICAS DAS FERRAMENTAS ..................................................... 28 1 Webmin ............................................................................................................................ 28 1.1 Funcionamento .............................................................................................................. 28 1.1.1 Scripts CGI ................................................................................................................. 30 2 Cacti ................................................................................................................................. 31 2.1 Dependências do Cacti .................................................................................................. 31 2.1.1 RRDTool ..................................................................................................................... 31 2.1.2 SNMP e SNMPD ......................................................................................................... 31 2.1.3 Apache ....................................................................................................................... 32 2.1.4 PHP ............................................................................................................................ 32 2.1.5 MySQL ........................................................................................................................ 32 REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 33 BIBLIOGRAFIA CONSULTADA ........................................................................................... 35 APÊNDICES ........................................................................................................................ 36 INTRODUÇÃO 1 Delimitação do objeto Um dos objetos de estudos utilizado neste processo é a rede de computadores da Faculdade de Tecnologia de Guaratinguetá. Os aspectos abordados sobre o objeto foram a segurança interna e externa da rede vista do ponto de vista técnico-administrativo; a percepção da velocidade de navegação pelos usuários quando acessando a Internet; e a estrutura física da rede. O segundo objeto é o servidor a ser implementado, nomeado de Servidor Big Bang, que trabalha com a plataforma Debian Linux 5.04. 2 Justificativa Visando alcançar uma melhor qualidade e segurança no tráfego de informações, muitas organizações procuram a implantação de servidores proxy e de firewalls, e de ferramentas de controle de acesso e monitoramento da rede. Um servidor proxy permite à organização compartilhar e controlar a conexão da rede local com a Internet, pois suas configurações permitem que um único endereço IP válido de conexão com a Internet seja compartilhado com vários computadores de uma rede interna ao mesmo tempo filtrando as informações que podem ser acessadas. O servidor proxy também possibilita a melhoria na obtenção dos dados da Internet, através de seu armazenamento local. Paralelo ao servidor proxy, o firewall funciona como uma barreira contra as conexões externas à rede local, garantindo a segurança dos dados que trafegam por ela. Isso é imprescindível para toda organização, pois geralmente há informações confidenciais trafegando internamente pela rede. Para a administração das configurações dos servidores tanto de firewall quanto proxy, recomenda-se a utilização do Webmin, que fornece ao administrador todas as opções configuráveis do sistema operacional de maneira gráfica, através do protocolo HTTP. 9 Com a implementação do Cacti, será possível verificar, principalmente nos servidores da Instituição, a utilização de processamento, memória e tráfego, permitindo que o administrador de redes aumente ou diminua os recursos conforme a demanda de sua rede através da análise de dados em tempo real. Dessa forma, com a implantação desses serviços de rede, a Faculdade de Tecnologia de Guaratinguetá poderá utilizar sua rede de maneira mais segura e administrar a utilização da Internet de forma mais eficiente, controlando todos os acessos feitos por alunos e funcionários dessa instituição. Uma ferramenta como o servidor proxy poderá, inclusive, diferenciar as permissões de acesso para funcionários, alunos e usuários da rede Wireless, permitindo e bloqueando partes diferentes da Internet/Intranet para cada grupo de usuários. Este projeto teve, afinal, o intuito de garantir a segurança, tomando cuidado de definir os componentes primordiais de segurança, o que se pretende defender e com o que defender, bem como a localização dos serviços na rede. 3 Objetivos 3.1 Objetivos gerais Facilitar o compartilhamento de Internet e a manutenção, a administração e a segurança da rede de computadores da Faculdade de Tecnologia de Guaratinguetá através da implantação de um firewall e de um servidor proxy, através da implantação de ferramentas gratuitas disponíveis no mercado, da disponibilização de treinamento para realização dos procedimentos técnicos administrativos e da apresentação de um modelo estruturado de rede para a Instituição aplicando as normas vigentes, focando principalmente nos meios de configuração de tais ferramentas através da geração de documentação instrutiva. 10 3.2 Objetivos específicos Prover a segurança da rede da FATEC-GT através da implantação de um firewall iptables configurável. Compartilhar a conexão com a Internet da FATEC-GT com a rede interna através de um servidor proxy sobre plataforma GNU/Linux. Facilitar a administração da rede através de um servidor proxy configurável que filtre os conteúdos acessados na Internet. Possibilitar a análise do tráfego até a Internet através da implantação de ferramentas de análise de tráfego trabalhando em conjunto ao proxy, evidenciando acessos a sites bloqueados. Possibilitar o monitoramento dos recursos de rede através da implantação de ferramentas de monitoramento em tempo real. Documentar a configuração e administração dos sistemas de segurança sugeridos através de guias de utilização, manuais de instrução adaptados à instituição e manuais oficiais das ferramentas. 4 Métodos Para a realização deste trabalho serão empregadas pesquisas bibliográficas a livros de autores especialistas e sites e portais especializados na Internet a fim de se obter o conhecimento do funcionamento e funcionalidades das ferramentas apresentadas. Empregar-se-á, também, pesquisa bibliográfica a normas regulamentadoras de procedimentos relacionadosà área de concentração e linha de estudo do trabalho. Aspira-se a implantação e a configuração das soluções apresentadas neste trabalho, utilizando como oficina a Faculdade de Tecnologia de Guaratinguetá, utilizando as ferramentas e equipamentos disponibilizados por esta instituição de ensino e os conhecimentos teóricos, adquiridos através de pesquisas, e práticos, adquiridos por meio de experiências pessoais e profissionais. 11 5 Fundamentação Teórica O projeto netfilter foi iniciado em 1998 por Rusty Russel, e com o crescimento do projeto criou-se o Netfilter Core Team (coreteam) em 1999. O software foi licenciados sob os termos da GPL e incorporado ao kernel do Linux em março de 2000 (NETFILTER, 2010). Silva (2007, p.108) define que o firewall é um programa que tem como objetivo proteger a máquina contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando na máquina e bloquear a passagem de coisas que não se deseja receber (como conexões vindas da Internet para a rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais). Antes do Iptables, o software predominante para a criação de firewalls no Linux era o Ipchains nos kernels do Linux da série 2.2 e o Ipfwadm da série 2.0, que por sua vez foi baseado no Ipfw dos BSDs. Com a evolução das tecnologias e a necessidade de comunicação surgem também diversos problemas relacionados à segurança. Dessa forma a segurança dos dados tornou- se cada vez mais importante. Para protegê-los é necessária a utilização de ferramentas de segurança, dentre elas o firewall. O firewall pode ser definido como uma barreira, entre a rede interna e a Internet, onde poderá ter o controle dos tráfegos entre elas. Ele é responsável por controlar o tráfego da rede, ou seja, ele analisa todos os pacotes que entram na rede tendo como função permitir apenas a entrada de pacotes autorizados através da utilização de regras e filtragem de dados. Possibilita que o administrador do sistema centralize todas as políticas de segurança em um único local. Segundo Moraz (2006, p.116), os firewalls podem ser baseados em software e hardware, ou somente em software. A segunda opção é recomendada ao uso em residências e pequenas empresas. Ele possui, entre suas funcionalidades, a função de bloquear portas que eventualmente são usadas pelas pragas digitais e programas não autorizados. Ele deve evitar que informações de sua rede sejam capturadas por 12 computadores maliciosos da Internet e que sistemas tenham seu funcionamento prejudicado pela ação de hacker. O principal objetivo deste nosso firewall é criar um perímetro de defesa para proteger os recursos internos da Faculdade de Tecnologia de Guaratinguetá, dessa forma todo tráfego entrante na rede deve passar obrigatoriamente pelo firewall para ser filtrado e todo o tráfego sainte controlado e monitorado. Existem Vários tipos de firewall diferentes, inclui-se na lista: os filtros de pacote estático, firewall com estado e os firewall proxy. Guimarães, Lins e Oliveira (2006, p 24), definem que os tipos de firewall são diferenciados de acordo com sua utilização, dividindo o firewall em três Tipos. Os tipos de firewall são: Firewall de Pacotes: É o tipo de firewall mais simples e mais utilizado. Geralmente é implementado em redes pequenas ou de médio porte. Sua configuração é realizada através de uma tabela que determina quais endereços IP e dados podem estabelecer comunicação e transmitir ou receber dados. Alguns serviços de rede podem ser liberados completamente e outros já são bloqueados por padrão, porém nesse tipo de firewall pode ocorrer o problema das regras serem complexas. Trabalha nas camadas TCP/IP (transporte e rede) e determina quais pacotes podem ou não passar. Firewall de Aplicação: São instalados geralmente em servidores e utilizados como proxy, onde este é o intermediador entre o servidor e o cliente e realiza a troca de comunicação entre ambos. Dessa forma, o cliente não chega a perceber o proxy que atua como o Servidor, e o servidor remoto também não o percebe, tendo a impressão de estar se comunicando diretamente com o cliente. Se não houver a aplicação ele não funciona. Permite um acompanhamento mais preciso do tráfego entre a rede e a Internet. O proxy possui uma função de cache, onde ao receber uma solicitação, ele não necessita repassá-la ao servidor. Porém estes firewalls são mais complexos, já que verificam todos dados que passam 13 por ele, descartando os dados não autorizados ou perigosos, protegendo assim a rede interna. Firewall NAT: Um firewall aplicado à classe NAT (Network Address Translation), a princípio, possui o objetivo de manipular a rota padrão de pacotes que atravessam o kernel do host firewall aplicando-lhes a "tradução de endereçamento". Isso lhe agrega diversas funcionalidades dentro deste resumido conceito como, por exemplo, a de manipular o endereçamento de origem (SNAT) e destino (DNAT) dos pacotes, tal como realizar o "mascaramento" (masqueranding) sobre conexões PPP (Peer-to-Peer Protocol, ou Protocolo Ponto-a-Ponto), entre outras potencialidades. Já Assunção (2005, p.118) define que existem dois tipos de firewall, um que analisa a camada de rede, o pacote IP, e outro que analisa a camada de aplicação, dentro do pacote IP. Dentre os componentes de um bom firewall, podem ser elencados: Autenticação: Verifica a identidade de um usuário. Para isso será configurado o DansGuardian para autenticação no AD. Controle de Acesso: Permite ou não conexões de entrada ou saída. Será controlado de acordo com a política de segurança adotada. Compatibilidade: O firewall deve permitir pleno funcionamento dos serviços prestados na rede. Auditoria: Processo vital na detecção de vulnerabilidades e acessos indevidos. Flexibilidade: Facilidade no uso de ferramentas administrativas de boa compreensão e suporte técnico. Dentre as defesas que devem ser oferecidas por um firewall, podem ser apresentados: Controle de serviço: Quais serviços são autorizados. Controle de sentido: Dados saintes ou entrantes. Controle de usuário: Controle de nível de acesso do usuário. 14 Controle de comportamento: Como o serviço deve ser usado. Uma das vantagens que também pode ser apresentada é a de que o firewall pode ser instalado em apenas uma máquina e, dependendo de seu posicionamento na rede, ele poderá realizar a segurança das demais máquinas e nós da rede, evitando a instalação máquina-a-máquina do software. A localização dos firewalls na rede depende normalmente da política de segurança adotada. Entretanto, existem algumas regras que se aplicam a grande maioria dos casos: Todo o tráfego deve passar pelo firewall. Um firewall só pode atuar sobre o tráfego que passa por ele. A eficácia de um firewall pode ser severamente comprometida se existirem rotas alternativas para dentro da rede (modems, por exemplo). Caso não seja possível eliminar todos esses caminhos, eles devem ser documentados e fortemente vigiados através de outros mecanismos de segurança. Deve ser utilizado um filtro de pacotes no perímetro da rede. Esse filtro pode estar localizado entre o roteador de borda e o interior da rede ou no próprio roteador, se ele possuir esta capacidade. O filtro de pacotes de borda e importante para tarefas como bloqueio global de alguns tipos de tráfego e bloqueio rápido de serviços durante a implantação de correções após a descoberta de uma nova vulnerabilidade. Pensando em expansões futuras, pode se pensar nos servidores, colocando-os em uma DMZ. É recomendável que os servidores acessíveis externamente(Web, FTP, E-mail etc) fiquem em um segmento de rede separado e com acesso altamente restrito, conhecido como DMZ (DeMilitarized Zone, ou Zona Desmilitarizada). A principal importância disso é proteger a rede interna contra ataques provenientes dos servidores externos e é uma precaução contra a eventualidade de que um destes servidores seja comprometido. Um firewall composto de várias regras, pode ser colocado no ponto de entrada da rede, sendo direcionado para uma ou mais interfaces de rede, fazendo o controle do acesso a serviços para toda a rede (TEIXEIRA e MERCER, 2004). 15 Ao se instalar um firewall em um servidor, é recomendado configurar regras para bloquear todo o tráfego de rede e permitir apenas as portas e protocolos utilizados na rede e apenas para as redes ou estações que devem ter acesso ao serviço. O proxy transparente é a forma que a tabela NAT possui de realizar um redirecionamento de portas em um mesmo host de destino. Este método é comumente utilizado, por exemplo, pelo software DansGuardian, pois este costuma disponibilizar acesso à Internet através da porta 3129 ao invés da porta padrão, 80, para este tipo de acesso. O DansGuardian faz um redirecionamento das portas solicitadas por seus clientes, uma vez que estes solicitam conexão via porta 80 e são redirecionados à porta 3129. Para esta finalidade foram utilizadas as situações (chains) PREROUTING e OUTPUT da tabela NAT e o alvo REDIRECT. A única forma de se fazer redirecionamento de portas de destino em um mesmo host é pelo alvo REDIRECT que caracteriza o modelo de proxy transparente. Abaixo segue um exemplo de regra que faz o redirecionamento dos pacotes entrantes pela interface eth0 com destino à porta 80 para a porta 3129 do mesmo destino. # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3129 Segundo Chadd (2010), o Squid é um "proxy de cache licenciado sob a GNU/GPL para a Web que suporta os protocolos HTTP, HTTPS, FTP, entre outros". O autor complementa dizendo que sua principal função é "reduzir o consumo de banda e melhorar o tempo de resposta para as requisições mais freqüentes de páginas da web". Francesco (2010) diz ainda que quando atua como Proxy Reverso, também chamado de Modo Acelerador, o Squid irá realizar o armazenamento das páginas e dos dados obtidos da Internet localmente. Liang, Hassanein e Martim (2001) concordam, ao afirmar que o Web caching é uma técnica que armazena objetos Web temporariamente para recuperações posteriores, e é uma das abordagens mais eficientes para melhorar o desempenho e a escalabilidade da Web. 16 Wessels (2004), também afirma que através do Web Caching, o Squid será capaz de armazenar os dados Web localmente para agilizar o acesso a estes recursos. Francesco (2010) apresenta outra maneira de trabalho disponível para o Squid, como Proxy de Interceptação, também conhecido como Proxy Transparente, que permite que o mesmo trabalhe sem que o usuário tome conhecimento de sua existência, ou sem que o usuário possa fugir de maneira simples e lícita de suas restrições e armazenamento. Outra ferramenta oferecida pelo Squid é o registro de atividades, ou logging, que registra os acessos, bloqueios, tempos de permanência e tamanho dos dados acessados e armazenados que passam pelo Squid. Através dela, pode-se verificar tanto as atividades realizadas no modo acelerador quanto no modo de interceptação. (FRANCESCO, 2010). O Squid, segundo Chadd (2010), é baseado no Harvest Cache Daemon, desenvolvido no início da década de 1990. Ele é uma das duas ramificações do código-base depois que o projeto Hasvest foi completado, sendo o outro ramo o projeto Netcache, da Netapp. Atualmente, ele é desenvolvido por indivíduos voluntários que doam seu tempo e esforço para a construção da atual e da próxima geração de caching de conteúdo e tecnologias de entrega. Dentre estes, há alguns indivíduos-chave que mantêm o projeto em deselvolvimento e disponibilidade (CHADD, 2010). Dentre as funcionalidades do Squid, Morimoto (2008) elenca as duas principais: a possibilidade de monitorar e a possibilidade de limitar o acesso. O autor complementa dizendo que há a possibilidade de configuração máquina-a-máquina, onde se tem o controle utilizando nomes de usuário; e de maneira automática – ou transparente –, em que não há a necessidade de configuração máquina-a-máquina, perdendo-se uma facilidade de gerenciamento, mas ganhando-se em tempo e facilidade de manutenção. Ainda assim, a configuração transparente, segundo o autor, permite o monitoramento e limitação através de endereços IP. Wessels (2004) também afirma que desde a sua criação, a ferramenta Squid tem crescido em tamanho e funcionalidades, sendo que ele passou a suportar redirecionamento 17 de URL, formação de tráfego, controles de acesso sofisticados, diversos módulos de autenticação, opções avançadas de armazenamento em disco, intercepção de HTTP, e aceleração de servidor Web. SARG é o acrônimo para Squid Analysis Report Generator, ou Gerador de Relatórios de Análise do Squid (ZAGO, 2010). Essa ferramenta permite ao administrador, e mesmo aos usuários, visualizar em HTML, de forma organizada e simplificada, os registros do Squid, gerando também gráficos informativos. Nele, poderão estar contidas informações sobre usuários (quando habilitado), endereços IP, bytes trafegados, sites acessados e tempos de acesso a cada site (GANGITANO, 2010). Para Barron (2008), DansGuardian é um filtro de conteúdo para a Web que atualmente trabalha sobre as plataformas Linux, BSD, HP-UX e Solaris. Sua tarefa é filtrar o conteúdo das páginas baseado em diversos métodos, incluindo correspondência de frases, filtragem PICS e filtragem de URL, trabalhando de maneira diferente dos demais filtros de conteúdos disponíveis no mercado, que atualmente fazem a filtragem através de listas de endereços bloqueados, somente. PICS é a sigla para Plataforma de Seleção de Conteúdo da Internet – Platform for Internet Content Selection –, cujos princípios baseiam-se no desenvolvimento de tecnologias para usuários de mídias interativas capazes de controlar os tipos de materiais aos quais eles e suas famílias têm acesso. Dessa forma, através da segmentação dos tipos de informação disponíveis, é possível personalizar a Internet para seu uso (MILLER, 2009). Segundo Barron (2009), o DansGuardian foi desenvolvido para ser totalmente flexível, podendo ser ajustado livremente conforme as necessidades. Ele pode ser o quão rigoroso ou permissivo se queira fazê-lo ser. Suas configurações padrão, no entanto, são voltadas para necessidades similares às de uma escola primária, mas ele pode ser configurado totalmente conforme as necessidades e políticas do administrador da rede. Barron (2009) afirma também que utilizando outras ferramentas de proxy – como Squid ou Oops – para fazer as buscas durante a navegação, o DansGuardian pode utilizar 18 os métodos de filtragem através de endereço, domínio, conteúdo, tipos MIME, extensões de arquivos, e limitação de envio através de formulários com POST. Barron (2009) complementa a explicação sinteticamente: O filtro de correspondência de frases irá verificar textos geralmente associados a conteúdos pornográficos e indesejados. A limitação de envio através do POST em formulários permite bloquear ou limitar o envio de dados para a Web. A filtragem de endereços e domínios é capaz de lidar com listas extensas e é significativamente mais rápida do que a do SquidGuard, outra ferramenta de filtro de conteúdo. É interessante salientar que todas as exceções podem ser configuradas, desde domínios específicos,usuários e endereços de origem das solicitações, e que o tunelamento SSL é suportado pelo DansGuardian (BARRON, 2009). Os registros configuráveis produzem registros de fácil análise e leitura, havendo a opção de registro apenas textual, excluindo a sobrecarga de informações causada por um grande número de imagens. Grande parte das demais funcionalidades do DansGuardian também é configurável, dando ao administrador total controle sobre o que será filtrado (BARRON, 2009). O Webmin é uma ferramenta de administração gráfica, escrita por Jamie Cameron, utilizando a linguagem Perl. Ela foi projetada para ser uma ferramenta de administração leve, funcional, e que possa ser facilmente estendida. A ferramenta está disponível hoje para mais de vinte idiomas, e está sendo considerada a ferramenta oficial de administração em vários sistemas operacionais e distribuições (CONECTIVA, 2010). O Webmin trabalha com uma interface web, ou seja, a possibilidade de se configurar uma máquina através de uma rede é totalmente cômoda, pois basta ter acesso a um navegador. Com isto, é possível configurar uma máquina através de praticamente qualquer plataforma de hardware e software (SILVA, 2010). 19 Graças ao Webmin se faz desnecessário editar arquivos de configurações manualmente, já que o software trás uma lista de tudo o que existe instalado na máquina e as opções de configuração para cada um deles de forma prática e intuitiva até para os menos experientes. Atualmente o Webmin esta na sua versão 1.510. Todas as versões podem ser obtidas através da página oficial1 de downloads do projeto (CARDOSO, 2010). O Webmin não é um programa gráfico no sentido tradicional, mas sim uma interface de configuração que é acessado por um navegador web. Isso permite que ele seja usado remotamente ou mesmo usado em servidores sem o ambiente gráfico instalado. (MORIMOTO, 2008). Costa (2008) apresenta o Cacti como uma ferramenta de gerenciamento que recolhe e exibe informações sobre o estado de uma rede de computadores através de gráficos. Esta ferramenta é totalmente escrita em PHP, e foi desenvolvido para ser flexível e se adaptar facilmente a diversas necessidades, bem como ser robusto e fácil de usar. Ela monitora o estado de elementos de rede e programas, bem como largura de banda utilizada e o uso da CPU, e todas as informações coletadas são armazenadas em um banco de dados MySQL. Costa (2008) complementa afirmando que o Cacti trata-se de uma interface e uma infra-estrutura para RRDTool, que é responsável por armazenar os dados recolhidos e por gerar os gráficos. As informações são repassadas para a ferramenta através de scripts ou outros programas escolhidos pelo usuário, os quais devem se encarregar de obter os dados. Pode-se utilizar também o protocolo SNMP para consultar informações em elementos de redes e/ou programas que suportam tal protocolo. Com está ferramenta é possível gerenciar usuários, ou seja, atribuir a cada usuário que estará em contato com a ferramenta algumas permissões de uso, como leitura, alterações de gráficos etc. Costa (2008) descreve, ainda, que sua arquitetura prevê a possibilidade de expansão através de plugins que adicionam novas funcionalidades. Um destes plugins é o PHP Network Weathermap que mostra um mapa da rede e o estado de cada elemento. 1 http://www.webmin.com 20 A necessidade de um sistema estruturado é cada vez maior, visto que, todos os sistemas dentro de uma organização, como sistema de telefonia, sistema de segurança, sistemas de administração, entre outros, tendem a estar interligados através de uma infra- estrutura única, capaz de atender as necessidades que cada sistema exige. A essa infra-estrutura básica para todas essas tecnologias, se dá o nome de cabeamento estruturado, assunto deste trabalho. Um sistema de cabeamento estruturado tem como objetivo organização, centralizando as instalações de cabos existentes e os novos sistemas, tornando assim um sistema padrão em uma organização. Segundo Pinheiro (2003, p. 41), ―um sistema de cabeamento estruturado tem como característica básica ser um sistema multimídia (...)‖. Trata-se de uma rede física, que comporta todas as tecnologias empregadas na organização (dados, voz, imagens), ideal para o tráfego de sinais de baixa tensão. O padrão de cabeamento estruturado é formulado seguindo normas internacionais, visando tornar-se um sistema compatível, em relação à conexão, a qualquer equipamento em qualquer ponto do cabeamento, tendo-se, assim, um sistema de redes compatível com todas as tecnologias existentes, dentro de suas especificações e limitações encontradas. A realização de um projeto de cabeamento estruturado eficiente e seguro são muito importantes, pois segundo Pinheiro (2003, p. 03) ―estatisticamente, cerca de 70% dos problemas que ocorrem em uma rede de computadores deve-se ao cabeamento‖. Além desse detalhe, existe a questão do tempo de permanência deste, isto é, os softwares evoluem a cada dois ou três anos, os hardwares têm vida útil de cinco anos, aproximadamente, mas o cabeamento de rede vai permanecer por quinze anos ou mais em uma organização, ressaltando a importância e a necessidade de um cabeamento eficaz em um sistema de rede computacional. 21 Segundo Pinheiro (2003, p. 3), outra estatística diz que em torno de 40% dos funcionários de uma empresa mudam fisicamente de lugar pelo menos uma vez por ano e os custos para a implantação completa da nova rede ficam divididos aproximadamente da seguinte maneira: - 54% para o software de rede; - 32% para as estações de trabalho; - 8% para o hardware de rede; - 6% para o cabeamento estruturado, incluindo projeto. A instalação de uma rede de computadores tem como finalidade prover a comunicação entre os computadores, proporcionando através desta infra-estrutura agilidade do tráfego de informações, consequentemente facilitando tomadas de decisões administrativas entre outras finalidades. O conceito de cabeamento estruturado evoluiu com a tendência de criar uma forma de padronização para os diversos tipos de cabos e procedimentos de estruturação dos sistemas que são empregados nas instituições. O principal objetivo desses padrões e normas foi permitir que diversos fabricantes se tornassem capacitados a construir equipamentos e componentes, compatíveis entre si, que pudessem ser utilizado em conjuntos, em ambientes diferentes (PINHEIRO, 2003, p. 42). Como principais vantagens do cabeamento estruturado podem ser citadas: Garantia do desempenho do sistema, devido maior confiabilidade no cabeamento; Diminuição dos custos de mão-de-obra na implantação da infra-estrutura; Possibilita escalabilidade, isto é, ampliações ou alterações para implementações futuras instalações sem perda de flexibilidade; Permite atender novas necessidades de serviços para cada usuário; Integram várias aplicações dentro do mesmo cabeamento, como sistemas de baixa tensão; 22 Facilita o acesso e o processamento das informações; Gerenciamento de processos de manutenção e controle físico da infra-estrutura. Desenvolver um padrão capaz de suportar qualquer tipo de serviço, independente do fornecedor; Definem topologias, conectores e cabos para diversas aplicações de redes computacionais; Possibilita uma maior vida útil para o sistema de cabeamento da rede. O cabeamento estruturado é um sistema baseado na padronização através da norma NBR 14565, elaborada pela ABNT – Associação Brasileira de Normas Técnicas – descrita como um procedimento básico para elaboração de projetos de cabeamentode telecomunicações para rede interna estruturada. Entende-se por rede interna estruturada aquela que é projetada de modo a prover uma infra-estrutura que permita evolução e flexibilidade para serviços de telecomunicações, sejam de voz, dados, imagens sonorização, controle de iluminação, sensores de fumaça, controle de acesso, sistema de segurança, controles ambientais (ar-condicionado e ventilação) e outros. AutoCAD é um software do tipo CAD — Computer Aided Design, ou desenho auxiliado por computador – criado e comercializado pela empresa Autodesk, Inc. desde 1982. É utilizado principalmente para a elaboração de peças de desenho técnico em duas dimensões (2D) e para criação de modelos tridimensionais (3D). Além dos desenhos técnicos, o software vem disponibilizando, em suas versões mais recentes, vários recursos para visualização em diversos formatos. É amplamente utilizado em arquitetura, design de interiores, engenharia mecânica, engenharia geográfica e em vários outros ramos da indústria. O AutoCAD é atualmente disponibilizado apenas em versões para o sistema operacional Microsoft Windows, embora já tenham sido comercializadas versões para UNIX e Mac OS. A partir da versão R14, publicada em 1997, o AutoCAD potencializa a expansão de sua funcionalidade por meio da adição de módulos específicos para desenho arquitetônico, 23 SIG, controle de materiais etc. Outra característica marcante do AutoCAD é o uso de uma linguagem consolidada de scripts, conhecida como AutoLISP (derivado da linguagem de programação LISP) , uma variação do Visual Basic. PARTE I: PLANEJAMENTO E ANÁLISE Para a primeira etapa de implementação do projeto foram definidas as necessidades básicas da rede e as ferramentas a serem utilizadas. Identificamos como necessidades básicas e primárias da rede da Faculdade de Tecnologia de Guaratinguetá, tomando como ponto de partida uma rede sem qualquer configuração: a implantação de um servidor de firewall para a proteçao contra acessos externos indevidos; a implantação de um proxy para controle de acessos e filtro de conteúdo da navegaão na Internet; a implantação de uma ferramenta que pudesse aumentar a qualidade da navegação do ponto de vista do carregamento das informações; a implantação da norma de cabeamento estruturados NBR 14565 para garantia de funcionamento e disponibilidade da rede como um todo; e a apresentação de um mapa ou planta contendo os equipamentos de rede para mensuração dos materias necessários em manutenções preventivas, corretivas e de melhoria. Decidiu-se por implantar como ferramenta de segurança da rede o firewall iptables, por permitir a administração do tráfego em toda a rede. O firewall será implementado com iptables pois este possui maior suporte e maior disponibilização de informações de ajuda e melhorias disponíveis na Internet, além de ser a implementação de firewall nativa do Linux Debian, sistema operacional utilizado. Para atuar como proxy da rede foi escolhida a ferramenta chamada Squid. Ela possui as funcionalidades desejadas na implantação do projeto, incluindo-se entre elas a possibilidade de controlar os acessos e o armazenamento local dos dados da Web. Para o gerenciamento e administração das duas ferramentas acima, escolheu-se o Webmin, que apresenta as opções de administração de forma gráfica e intuitiva, utilizando interface Web com autenticação de usuários para o mesmo. Para o monitoramento da utilização dos recursos da rede, como memória e processamento de servidores e o tráfego na rede a partir de pontos estratégicos, será implantado o Cacti, qe proverá gráficos para cada serviço ou objeto monitorado na rede. 25 Com isso, será possível analisar gargalos e maiores utilizações dos recursos da rede para comparação com horários e destinos das mesmas. PARTE II: IMPLEMENTAÇÃO Tendo definidas as ferramentas e necessidades da rede da FATEC-GT, deu-se início aos procedimentos de instalação das ferramentas. O procedimento seguiu a ordem lógica abaixo, dadas as dependências entre cada ferramenta: Definição, requisição, aquisição e instalação do hardware a ser utilizado para a implantação do projeto; Instalação do sistema operacional Linux Debian; Configuração inicial do sistema (nome da máquina, interface de rede); Instalação do Webmin e do módulo DansGuardian para Webmin e suas dependências; Instalação do Squid3 e suas dependências; Instalação do DansGuardian e suas dependências; Configurações do Webmin; Configurações do Squid3; Configurações do firewall; Instalação do Cacti e suas dependências; Configuração do Cacti para interface local. Durante os procedimentos acima, foram realizados testes de utilização através de configurações de máquinas da própria instituição para utilização como gateway o Servidor Big Bang, tendo sido todos executados com sucesso. Após estes procedimentos, deu-se início ao processo de documentação. PARTE III: DOCUMENTAÇÃO Após a instalação, configuração e testes das ferramentas, iniciou-se o processo de documentação. Os apêndices de A a F irão tratar dos passo-a-passo para configuração das ferramentas de Webmin, firewall, Squid3, DansGuardian, Sarg e Cacti. Os apêndices de G a I irão tratar da planta-baixa da Faculdade conforme cabeamento. PARTE IV: CARACTERÍSTICAS DAS FERRAMENTAS 1 Webmin 1.1 Funcionamento Do ponto de vista do funcionamento, o Webmin cria um servidor WEB através do script miniserv.pl, que recebe requisições na porta 10000 sobre o protocolo TCP. Assim, esse servidor recebe conexões vindas de um navegador de Internet utilizando o protocolo HTTP ou HTTPS, isso porque ele pode utilizar SSL. Depois da conexão estabelecida, o administrador acessa o sistema como se estivesse acessando uma pagina de Internet. Na primeira página, o administrador encontra um menu, que identifica as possibilidades de administração/configuração do Webmin, sendo: Configurações do próprio Webmin, como usuários, idioma, temas; Configurações do sistema como logs, discos, sistemas de arquivos; Configurações de servidores como Apache, DNS, Postfix; Configurações de rede como endereço, nomes, monitoramento da rede; Configurações de dispositivos como impressoras, volumes lógicos; Configurações de cluster integrando um servidor Webmin com outro; e outras funções como agendamento de execução de scripts, verificação de status de serviços, etc. Depois de selecionado o item desejado no menu, o administrador se depara com telas contendo formulários com botões de seleção, caixa de texto, entre outros, que são gerados pelos módulos específicos de cada serviço ou dispositivo. A Figura 17 apresenta um modelo de formulário gerado pelo Webmin, por meio dos scripts CGI, para a configuração de um servidor WEB. 29 Figura 1 Formulário de configuração exibido no Webmin Estes formulários são gerados por scripts CGI, que logo após seu preenchimento passam por um processo de validação dos campos. Caso algum campo esteja preenchido inadequadamente, mensagens de erro são retornadas, mas se estiver tudo adequado, são executados os scripts e mensagens de sucesso são retornadas. O esquema apresentado na Figura 18 ilustra o funcionamento do Webmin. Figura 2 Funcionamento do Webmin 30 Basicamente o que acontece no esquema é: 1) O Administrador acessa a ferramenta remotamente ou mesmo localmente através de um navegador de Internet pelo endereço do Webmin e sua porta de comunicação. Depois escolhe qual o serviço ou dispositivo que deseja configurar. 2)O servidor Webmin seleciona o módulo correspondente ao serviço ou dispositivo solicitado pelo passo 1 e apresenta o formulário WEB referido. 3) Os parâmetros dos campos preenchidos no formulário são validados e com os valores recebidos dos formulários o módulo selecionado pelo passo 2 é executado. 4) O resultado da execução do passo 3 é coletado e armazenado. 5) É enviado para o navegador de Internet do administrador os dados coletados pelo passo 4. Então, o administrador decide o que deve ser feito. Se algo de errado aconteceu ele pode retomar o processo novamente. 1.1.1 Scripts CGI CGI é um acrónimo para a expressão inglesa Common Gateway Interface. Consiste numa importante tecnologia que permite gerar páginas dinâmicas, permitindo a um navegador passar parâmetros para um programa alojado num servidor web. Assim, designam-se por scripts CGI os pequenos programas que interpretam esses parâmetros e geram a página depois de os processar. O CGI foi concebido como o culminar de discussões por especialistas durante os primórdios da Internet, nomeadamente entre Rob McCool, John Franks, Ari Luotonen, George Phillips e Tony Sanders. Embora a linguagem tipicamente associada aos CGI seja o Perl, o CGI foi concebido por forma a ser independente da linguagem utilizada. Atualmente tecnologias como ASP.NET ou PHP continuam a utilizar a especificação. 31 2 Cacti 2.1 Dependências do Cacti Para a instalação e funcionamentos corretos do Cacti, é necessário a instalação de outras ferramentas que possuem as funções e scripts utilizados pelo Cacti para obtenção dos dados e tratamento e armazenamento das informações. 2.1.1 RRDTool O RRDTool é um sistema de base de dados round-robin, criado por Tobias GNU\GPL, e foi desenvolvido para armazenar séries de dados numéricos sobre o estado de redes de computadores, porém pode ser empregado no armazenamento de qualquer outra série de dados como temperatura, uso de CPU e etc. Sua limitação é que a base de dados gerada possui um tamanho máximo, que quando atingido descarta os mais antigos, guardando apenas uma média desses dados. Entretanto, o RRDTool não é capaz de gerar páginas HTML ou produzir gráficos, fato que torna necessário a sua comum utilização associada a uma aplicação front-end. (MATOS, 2009, p. 06). 2.1.2 SNMP e SNMPD O protocolo SNMP é um protocolo de gerência de redes TCP/IP, da camada de aplicação, que facilita o intercâmbio de informação entre os dispositivos da rede.O SNMP é usado para transportar informação de gerenciamento entre as estações de gerenciamento e os agentes existentes nos elementos da rede. Suas principais vantagens são: por ser um protocolo de fácil implantação, o custo para se desenvolver um software de gerenciamento é relativamente baixo; as funções de gerenciamento são de fácil utilização para administradores de rede; a quantidade de funções de gerenciamento, que são suportadas remotamente, é gradativamente aumentada, através da imposição de algumas restrições sobre a forma e sofisticação das ferramentas de gerenciamento. Já o pacote snmpd contém o daemon, ou seja, o agente NET SNMP que permitirá as facilidades do protocolo SNMP. O 32 pacote snmp contém as aplicações que permitem fazer as queries e outras funcionalidades. (MATOS, 2009, p. 07). 2.1.3 Apache O Apache é um servidor web extremamente configurável, robusto e de alta performance, desenvolvido por uma equipe de voluntários, buscando criar um servidor web com muitas características e com código fonte disponível gratuitamente via Internet. (SILVA, 2007). É um servidor web livre, criado em 1995 por Rob McCool, compatível com o protocolo HTTP. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos utilizando a API do software. (ARUMBARU, 2005, p. 6). 2.1.4 PHP PHP é uma linguagem de programação Open Source de ampla utilização, interpretada no servidor, que é especialmente interessante para desenvolvimento para web e pode ser mesclada dentro do código HTML. O objetivo principal da linguagem é permitir a desenvolvedores escrever páginas que serão geradas dinamicamente e rapidamente. ( ARUMBARU, 2005, p. 7) 2.1.5 MySQL O programa MySQL é um servidor robusto de banco de dados SQL (Structured Query Language – Linguagem Estrutura de Pesquisa) muito rápido, multi-tarefa e multi- usuário. O servidor MySQL pode ser usado em sistemas de produção com alta carga e missão critica bem como pode ser embutido em programa de uso em massa. REFERÊNCIAS BIBLIOGRÁFICAS ABNT. NBR 6492 - Representação de projetos em arquitetura; Rio de Janeiro: ABNT; 1994 ARAMBURU, R.P. Plano de Deselvolvimento de Estágio. Pontifícia Universidade Católica do Rio Grande do Sul. Uruguaiana. Disponível em: <http://www.pucrs.campus2.br/~jiani/estagio/plano-rodrigo.pdf>. Acessado em: 16 jun. 2010. BARRON, D. Dansguardian: Introduction. Disponível em: <http://dansguardian.org/?page=introduction>. Acesso em : 27 maio 2010a. BARRON, D. Dansguardian: What is Dansguardian?. Disponível em: <http://dansguardian.org/?page=whatisdg>. Acesso em: 27 maio 2010b. CARDOSO, R. Webmin: Solução em administração de sistemas. Disponível em: <http://174.123.53.162/artigo/Webmin-Solucao-em-administracao-de-sistemas/?pagina=1>. Acesso em: 25 maio 2010. CHADD, A. Squid: Optimising Web Delivery. Disponível em: <http://www.Squid- cache.org>. Acesso em: 27 abr. 2010. CHING; Francis D. K.; Representação gráfica em arquitetura; Porto Alegre: Bookman Editora, s.d. CHING; Francis D. K.; Técnicas de Construção Ilustradas; Porto Alegre: Bookman Editora, s.d. CONECTIVA, Equipe. Guia do Servidor Conectiva Linux. Disponível em: <http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/ch01.html#webmin.utilizand o>. Acesso em: 16 maio 2010. COSTA, F. Ambiente de redes monitorado com Nagios e Cacti. S.l.: Ciência Moderna, 2008. FRANCESCO, Chemolli. SquidFaq – Squid Web Proxy Wiki. Disponível em: <http://wiki.Squid-cache.org>. Acesso em: 27 abr. 2010. GANGITANO, L. README. Disponível em: <http://sarg.sourceforge.net/sarg.README.txt>. Acesso em: 28 maio 2010. LIANG, Z.; HASSANEIN, H.; MARTIN, P. Transparent Distributed Web Caching. 26th Annual IEEE International Conference on Local Computer Networks (LCN’01). S.l., p. 225-233, 2001. MATOS, L.K. Curso de Especialização em Redes e Segurança de Sistemas. Pontifícia Universidade Católica do Paraná. Curitiba. Disponível em: < http://www.ppgia.pucpr.br/~jamhour/RSS/TCCRSS08A/Leonardo%20Kolisnik%20de%20Mat os%20-%20Artigo.pdf >. Acessado em: 16 jun. 2010. MILLER, J. PICS Statement of Principles. 2009. Disponível em: <http://www.w3.org/PICS/principles.html>. Acesso em: 27 maio 2010. MONTENEGRO, Gildo A.; Desenho arquitetônico; São Paulo: Edgar Blucher, 2001. MORIMOTO, C. E. Servidores Linux: Guia Prático. S.l.: GDH Press e Sul Editores. 2008. 736 p. NBR 14565 - Basic procedure for internal telephone structured network cabling Descriptors: Telecommunication. Network. Válida a partir de 31.08.2000. PINHEIRO, Bernard. Tecnologia da informação – A arte do planejamento estratégico. São Paulo: Atlas, 2003. SILVA, A.S. Webmin. Comunidade do Ubuntu no Brasil. Disponível em: <http://wiki.ubuntu- br.org/Webmin#head-353044f7a5a9e095a030618522ed1f10845538ae>. Acesso em: 17 jun. 2010. SILVA, G.M. Guia Foca GNU/Linux. Capítulo 12. Disponível em: <http://focalinux.cipsga.org.br/guia/avancado/ch-s-apache.htm>. Acessado em: 16 jun. 2010. ZAGO, A. F. Sarg - Gerador de relatórios do Squid - tutoriais, dicas e indicações.Disponível em: <http://www.zago.eti.br/Squid/sarg.html>. Acesso em: 28 maio 2010. BIBLIOGRAFIA CONSULTADA MELO, R.G.; GEUS, P.L. Classificação e Comparação de algumas Ferramentas de Administração Computacional. Disponível em: <http://www.ic.unicamp.br/~reltech/2010/10-10.pdf>. Acesso em: 15 maio 2010. LASKOSKI, J. Administrando seu servidor Linux com o Webmin. Disponível em: <http://www.linhadecodigo.com.br/artigo/2334/administrando-seu-servidor-linux-com-o- webmin.aspx>. Acesso em: 15 maio 2010. WEBMIN. Página Oficial. Disponível em: <http://www.webmin.com>. Acesso em: 03 jun. 2010. BATISTA, L. C. Squid autenticando em base Active Directory. Viva o Linux. Disponível em: <http://www.vivaolinux.com.br/artigo/Squid-autenticando-em-base-Active-Directory/>. Acesso em: 14 jun 2010. ZANELATTO, B. Autenticando o Squid no Active Directory. Disponível em: < http://bzanelato.wordpress.com/2007/01/22/autenticando-o-Squid-no-active-directory/>. Acesso em: 14 jun 2010. SANTOS, C.G.S. Squid autenticando em Windows 2003 com msnt_auth. Viva o Linux. Disponível em: <http://www.vivaolinux.com.br/artigo/Squid-autenticando-em-Windows-2003- com-msnt_auth/>. Acesso em: 14 jun 2010. MONTENEGRO, G.A. Desenho Arquitetônico. São Paulo: Edgar Blucher, 2001. CHING; Francis D. K. Representação gráfica em arquitetura. Porto Alegre: Bookman Editora, 2006. ABNT. NBR 6492: Representação de projetos em arquitetura. Rio de Janeiro: ABNT, 1994. ANBT. NBR 14565: Procedimento básico para elaboração de projetos de cabeamento de telecomunicações para rede interna estruturada. Rio de Janeiro: ABNT, 2000. APÊNDICES Sumário APÊNDICE A: CONFIGURAÇÃO DO FIREWALL ............................................................... 37 APÊNDICE B: INSTALAÇÃO E CONFIGURAÇÃO DO SQUID ........................................... 50 APÊNDICE C: INSTALAÇÃO E CONFIGURAÇÃO DO SARG ............................................ 58 APÊNDICE D: INSTALANDO E CONFIGURANDO O DANSGUARDIAN ............................ 62 APÊNDICE E: INSTALAÇÃO E CONFIGURAÇÃO DO WEBMIN ........................................ 66 APÊNDICE F: INSTALAÇÃO E CONFIGURAÇÃO DO CACTI ............................................ 70 APÊNDICE G: PLANTA GERAL (PLANTA BAIXA) APÊNDICE H: PLANTA DE INSTALAÇÃO DOS LABORATÓRIOS (PLANTA BAIXA) APÊNDICE I: DETALHAMENTO ESTRUTURAL (PLANTA BAIXA) APÊNDICE A: CONFIGURAÇÃO DO FIREWALL 1 Configurando o firewall através do Webmin Para configurar e para proteger a rede, este firewall aborda o processo de criação e configuração de um firewall com Webmin e iptables. O módulo de firewall Linux do Webmin pode ser usado para configurar um firewall em um sistema Linux com iptables ativado, ou editar qualquer parte de um firewall existentes. Ele cria e armazena a configuração do firewall e salva em um arquivo que é usado pelo iptables. O modulo Webmin pode ser usado também quando já se dispõe de um script de configuração que é o caso usado neste projeto, podendo usá-lo para ser editado pelo Webmin. A seguir, na Figura 3 é apresentada a configuração para o módulo firewall linux, tendo como opções configuráveis os itens: Mostrar condições na lista da regra, Mostrar comentários na lista da regra, Comandos a ser executando antes de alterar a regra ou após a alteração, Existe também a opção de configuração do Sistema, como opção para se alterar as regras diretamente ou no arquivo das regras primeiro. 38 Figura 3 Configuração inicial do módulo Firewall Linux A Figura 4 mostra a tela inicial do módulo Linux Firewall do Webmin, podendo ser configurado de acordo com a necessidade da rede. Figura 4 Módulo do Firewall Linux das Interfaces Quando se acessa o sistema Webmin modulo rede firewall linux pela primeira vez, tem a necessidade de configurá-lo. Segue itens a configurar de acordo com a Figura 4. Permitir todos os Tráficos – Se selecionado, o firewall será criado em branco, e todo o tráfego permitido. Fazer NAT na interface externa - O firewall será configurado para NAT, para que os hosts em uma rede interna possam acessar a Internet através de um 39 acolhimento com um único endereço IP público. Devera ser selecionada a interface de rede que esta conectada à internet. Bloquear todas conexões da interface externa - Se escolhido, o firewall irá ser configurado para bloquear todo o tráfego que vem em seu sistema de interface de rede selecionada, exceto para as conexões estabelecidas, as respostas DNS e pacotes ICMP inofensivo. Na aba ―Configurando Firewall‖ existe a opção de ativar o firewall na inicialização. 2 Permitindo e negando tráfego na rede Para criar uma nova regra para bloquear o tráfego da rede são definidos alguns passos: 1. Na página principal do módulo mostrada na Figura 5, pode se selecionar a tabela que se deseja configurar. Se selecionado Filtragem de Pacote e acionar o botão Mostrando Iptables, irão aparecer as regras correspondente a tabela selecionada. Figura 5 Formulário de criação de regra 40 2. Para adicionar uma regra que se aplica a todo o tráfego de entrada, selecione no botão Adicionar Regra na seção de Pacotes de entrada. Se necessitar restringir apenas o tráfego enviado, selecione no botão abaixo pacotes transmitido. De qualquer maneira, será levado ao formulário de criação de regras, mostrado na Figura 6. 3. Alterar o Ação a ser tomada to Regeitar, para que os pacotes que atendam essa regra são silenciosamente descartados pelo firewall (Figura 6). 4. Na seção Detalhes da condição (Figura 6), selecione as condições que determinam quais pacotes serão combinados e, portanto, descartada. Apenas pacotes que combinam todas as condições que não estão definidas para Ignore serão bloqueados. 41 Figura 6 Tabela de edição das regras Alguns exemplos das condições para a escolha de bloqueio de certos tipos de tráfego são: Bloqueando todas conexões para protocolo TCP - Define o campo de protocolo de rede para Equals e selecione TCP. Para bloquear uma porta, um protocolo deve ser sempre selecionada. Defina o destino TCP ou UDP para Igual e digite um número de porta em Porta (s) campo ao lado. Você pode bloquear várias portas separando por vírgulas. Bloqueando todo o trafego para endereços redes particular - Defina o endereço de origem ou a rede para Igual e digite o endereço IP para bloquear no campo ao lado. Você também pode bloquear toda uma rede, inserindo 42 uma ― / ― , A rede para prefixo como 192.168.30.0/24 . Definir o status conexão para Diferente e selecione e conexão existente. Essa etapa permitirá que o seu sistema possa se conectar a endereços bloqueados, mas não vice- versa. Bloqueando o trafego para um endereço particular - Definição do endereço de destino ou a rede para Igual e digite o endereço IP ou rede para bloquear no campo ao lado. 5. Quando termina-se a seleção das condições, selecione o botão Criar (Figura 6). Enquanto não houver erros em sua entrada, o sistema retornará a página principal. 6. Para fazer com que a nova regra passe a ser valida, selecione o botão Aplicar configuração na parte inferior da tela (Figura 5). A tela principal deste módulo lista as regras de uma tabelas selecionada, pode ser selecionada a partir da caixa de seleção no topo esquerdo da Figura 5 ao lado da caixa de seleção Mostrando Iptables, tendo como opção a tabela filter, nat e mangle. Secionando a caixa de seleção Mostrando IPtables segue uma seção para cada chain da tabela atual, com todas a regras em cada tabela listada e suas respectivas descrições. Paracada tabela, pode-se alterar a ação padrão. Pode escolher qualquer regra em uma chain para editá-la, ao selecionar as setas da direita de cada regra para movê-la para cima ou para baixo, ou selecionando o botão Adicionar Regra para adicionar uma nova regra. Adicionando ou editando uma regra, você será levado para uma página (Figura 6) na qual poderá ser selecionada a ação para cada regra, e as condições para as quais a ações serão executada. Na parte de baixo da página (Figura 5) está um botão para tornar a configuração atual do firewall ativa, carregando-a através do comando iptables-restore, e próximo deste botão está um para fazer o inverso - pegar a configuração que está corrente no kernel e torná-la disponível para edição. Finalmente, se a distribuição suportar, existe um botão para indicar se o firewall será ativado durante a inicialização ou não. 43 As regras são avaliadas em ordem sequencial, de cima para baixo, e as medidas tomadas são determinadas por qualquer uma regra. Como a ordem das regras é importante, às vezes é necessário adicionar uma regra no meio de um chain existente. Para fazer isso, use os botões de seta em um chain para Adicionar uma nova regra, antes ou depois de uma já existente. Para edição e configuração das regras (Figura 7) as ações mais comuns e seus significados estão listados a seguir. Obs.: Nem todas a ações estão disponíveis nas chains. Figura 7 Detalhes das ações Fazer Nada - Se uma regra com esta ação é acompanhada, nada vai ser feito e continuará a processar a próxima regra Aceitar - Pacotes de correspondência será aceito imediatamente, e nenhum tratamento adicional será feito na chain. Negar – Pacotes serão descartados silenciosamente. Userspace – Pacote de utilização normal, raramente usado. Sair chain - Se for utilizado em uma chain definida pelo usuário, o processamento voltar para a regra de que o chamou. Endereço de rede - Terão seus endereços de origem alterado para parecem vir do sistema de firewall. Origem NAT - Similar à opção anterior mas mais adequada para sistemas que possuem um endereço IP fixo à internet. Destino NAT - Pacotes combinando terão seu endereço de destino e a porta modificada a partir dos IPs e pontos para o campo DNAT. Esta é a base para o proxy transparente. Esta ação só está disponível na tabela de tradução de endereços de rede, nos pacotes de roteamento e antes de chain de saída. 44 Redirecionamento - Esta ação redireciona todos os pacotes de uma ou mais portas na box do firewall, especificado pelos pontos de destino para o campo redirect. Também pode ser utilizado para proxy transparente, apesar de destino NAT é mais flexível. A ação redirecionar só está disponível na tabela de tradução de endereços de rede, em pacotes antes de roteamento e chains de saída. 3 Alterar as ações padrão das Chains Os pacotes que não correspondem a nenhuma regra em uma cadeia serão processados usando o padrão, que normalmente é de aceitar o pacote. Na página principal do módulo, a ação padrão para cada chain é mostrado ao lado da regra, como na Figura 7. 4 Edição das regras de firewall O Webmin pode ser usado para editar qualquer das regras de firewall existentes que foram criados manualmente, em outro programa ou usando este módulo. Mesmo que o módulo não suportar todas as condições IPtables disponíveis e opções de ação, você ainda pode usá-lo para editar regras de segurança que inclui opções desconhecido. Para editar uma regra, os passos a seguir são os seguintes: 1. Na página principal do módulo, selecione na tabela a regra a ser exibida antes de clicar no botão IPtables. 2. Clique sobre a ação da regra que deseja alterar no quadro de seu chain. Isso o levará a um formulário de edição. 3. Alterar a ação ou a qualquer das condições, e clique no botão "Criar" para retornar à lista de chains e regras. Ou eliminar a regra por completo, clique no botão Apagar. 4. Para fazer as alterações ativa, clique em Aplicar Configuração. 45 5 Configurando um proxy transparente Optamos a utilizar neste projeto de redes, proxy cache DansGuardian e, assim, ter um controle dos clientes em sua navegação na web. Demostraremos abaixo como proceder para configurarmos através do Webmin. Felizmente, existe uma solução - proxy transparente, que permite um controle de todos os navegadores sem necessidade de configuração especifica nos mesmos, facilitando assim o serviço do administrador da rede. Veja como proceder para configurar um proxy transparente no Webmin: 1. Na página principal do módulo de firewall Linux (Figura 5) sobre o sistema de gateway, selecione Tradução de endereço de rede na lista depois clique no botão Mostrando Iptable. 2. Na seção Pacotes antes de roteamento(Prerouting) , clique em Adicionar Regras para ir ao formulário de criação da regra (Figura 6) . A regra que está sendo adicionado irá redirecionar todo o tráfego na porta 80 transmitida pelo firewall para um servidor proxy. 3. Definir a Ação a ser tomada para Destino NAT. 4. No IPs e portas para o campo DNAT, selecione a faixa de IP e digite o endereço do sistema de servidor proxy no campo ao lado. Se o proxy está funcionando no mesmo sistema, indique o seu endereço IP Ethernet (não 127.0.0.1). No campo ao lado de Range de portas, digite a porta do servidor proxy em execução, como 3128. 5. Defina a Interface de entrada para Igual e selecione a interface LAN de rede interna, como eth0. 6. Ajuste o protocolo de rede para Igual e selecione TCP. 7. Se o proxy está em um outro sistema que esteja igualmente no LAN interno, certifique-se de que suas conexões na porta 80 não usarão o proxy pelo firewall. Para fazer isto, Definir endereço de origem condição da Diferente. Se 46 o proxy é em um LAN diferente ou é o sistema do firewall, este não é necessário. 8. Selecione a Destino TCP ou UDP porta para Igual e digite 80 no campo selecionado. 9. Selecione Salvar para salvar a regra. 10. Tecle em Adicionar Regras após Pacote depois do reteamento para subir a regra. Esta regra enviará pacotes direcionando para o servidor proxy 11. Para o Ação a ser tomada , selecione Destino NAT. 12. Para IPs e portas para SNAT field, selecione IP range e tecle o endereço do firewall. 13. Selecione Endereço de destino ou rede para Igual e digite-o endereço do poxy. 14. Selecione Protocolo de Rede para Igual e selecione TCP. 15. Selecione Salvar para adicionar nova regra. 16. Volte para o campo anterior. Selecione Aplicar Configuração. Todos pacotes com destinos a porta 80 serão direcionados para o proxy. Para a configuração inicial do firewall optou-se por um script. Neste script foi realizada uma configuração básica, deixando o Webmin para ajustes e configurações futuras, pois o Webmin gerencia as regras IPtables inseridas na chains. #! /bin/bash echo "INICIALIZANDO FIREWALL" # OS DIVERSOS MÓDULOS DO IPTABLES SÃO CHAMADOS ATRAVÉS DO MODPROBE modprobe ip_tables modprobe iptable_nat modprobe ip_conntrack modprobe ip_conntrack_ftp modprobe ip_nat_ftp modprobe ipt_LOG modprobe ipt_REJECT modprobe ipt_MASQUERADE modprobe ipt_state modprobe ipt_multiport modprobe iptable_mangle modprobe ipt_tos modprobe ipt_limit modprobe ipt_mark modprobe ipt_MARK 47 # LIMPANDO REGRAS ANTERIORES iptables -F iptables -t nat -F iptables -t nat -X iptables -t nat -Z iptables -t nat -F POSTROUTING iptables -t nat -F PREROUTING iptables -F INPUT iptables -F OUTPUT iptables -F FORWARD iptables -L # POLITICA PADRÃO IPTABLES -P INPUT
Compartilhar