Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESCOLA ESTADUAL DE EDUCAÇÃO PROFISSIONAL DR. SOLON TAVARES CURSO TÉCNICO EM REDES DE COMPUTADORES Felipe Streese Evangelista IMPLEMENTAÇÃO DE UM SERVIDOR PROXY EM ESCOLAS Squid Guaíba 2018/2 Felipe Streese Evangelista IMPLEMENTAÇÃO DE UM SERVIDOR PROXY EM ESCOLAS Squid Relatório final, apresentado à Escola Estadual de Educação Profissional Dr. SolonTavares como parte das exigências para a conclusão do curso de técnico em redes Orientadores: Leonardo Leites e Ingrid Santos Guaíba 2018 Felipe Streese Evangelista IMPLEMENTAÇÃO DE UM SERVIDOR PROXY EM ESCOLAS: Squid Trabalho de Conclusão apresentado à Escola Estadual de Educação Profissional Dr. Solon Tavares como requisito parcial para obtenção do título de Técnico em Redes de Computadores. Aprovado em _____/_____/_________ BANCA EXAMINADORA ___________________________________________________ Prof. (nome) (Titulação) (Instituição) ___________________________________________________ Prof. (nome) (Titulação) (Instituição) ___________________________________________________ Prof. (nome) (Titulação) (Instituição) AGRADECIMENTOS A escola Solon Tavares pela oportunidade de fazer o curso Ao professor Leonardo Leites pela orientação apoio e confiança A minha mãe Patrícia pelo apoio e cobrança A meu pai Eduardo pelo apoio, confiança e ajuda A professora Ingrid Santos por toda a ajuda durante o curso RESUMO Tendo em vista que escolas sejam da rede pública ou privada, possuem uma rede de internet, porém esta rede é privada ao uso somente de professores, diretores e membros da secretaria. E quando a internet é de acesso geral, onde os alunos também possuem o acesso ela não é utilizada para fins educacionais. Realiza-se então a execução de um trabalho prático no qual sera utilizada as informações e ferramentas ensinadas no próprio curso de redes na montagem e configuração de um servidor proxy, que o mesmo seria para melhorar a qualidade de ensino, e controlar o uso da rede pelos alunos. Diante disso visa-se que a escola tenha um melhor uso de sua rede e um aproveitamento melhor de novas tecnologias na sala de aula podendo assim, ter novos métodos de ensino, sites de ensino são cada vez mais uteis sejam para os alunos de ensino médio como ensino fundamental, pois possuem muitas informações que muitas vezes não lhe é ensinada nos livros didáticos Palavras Chave: servidor, proxy e escola ABSTRACT Since schools are public or private, they have an internet network, but this network is deprived to the use of only teachers, principals and members of the secretariat. And when the internet is general access, where students also have access it is not used for educational purposes. A practical work is carried out in which the information and tools taught in the course of networks will be used in the assembly and configuration of a proxy server, which would be to improve the quality of teaching, and control the use of the network by the students. In view of this, it is intended that the school has a better use of its network and a better use of new technologies in the classroom so that, having new teaching methods, educational sites are increasingly useful for high school students as fundamental education, because they have a lot of information that is often not taught in school books. Key words: server, proxy, school LISTA DE ILUSTRAÇÕES Figura 1: Representação de uma rede de computadores. 12 Figura 2: Representação de um servidor Linux. 12 Figura 3: Exemplo do funcionamento de um server proxy 13 Figura 4: Representação de um servidor proxy. 14 Figura 5: Arquivo final acl.conf......................................................................................20 Figura 6: Arquivo final httpaccess.conf..........................................................................22 Figura 7: Arquivo final squid.conf..................................................................................23 LISTA DE TABELAS Tabela 1: Configuração do ubuntu server. 17 Tabela 2: Configurações de rede do servidor. 17 Tabela 3: Comandos dentro da pasta auth.conf. 18 Tabela 4: Comandos para adicionar grupos e usuarios. 18 Tabela 5: Comandos do arquivo acl.conf (sites). 19 Tabela 6:Comandos do arquivo acl.conf (sites bloqueados). 19 Tabela 7: Comandos do arquivo acl.conf (horários bloqueados). 19 Tabela 8: Comandos do arquivo acl.conf (autorizações). 20 Tabela 9: Comandos para cadastro de usarios no squid. 21 Tabela 10: acls de sites bloqueados. 21 Tabela 11: acls de liberação para usuarios cadastrados . 22 Tabela 12: comandos include e suas pastas de origem. 22 Tabela 13: comandos de cache........................................................................................23 SUMÁRIO 1 INTRODUÇÃO 10 2. REFERENCIAL TEÓRICO 11 2.1.1 Fundamentação teórica 11 2.1.2 Fundamentação tecnológica 11 2.1.3 Redes de computadores 11 2.1.4 Servidores Linux 12 2.1.5 Servidores Proxy 13 2.1.6 Proxy Squid 13 3 METODOLOGIA 15 3.1 Problemas Encontrados 15 3.2 Solução Poroposta 15 3.3 Métodos e materiais 16 3.4 Resultados esperados 16 3.5 Manutenção 16 4 Instalação e configuração do Ubuntu Server 16.04 17 4.1 Configuração do Squid 17 4.2 Configuração de rede 17 4.3 Auth.conf 18 4.4 Acl.conf 18 4.5 httpaccess.conf 20 4.6 squid.conf 22 5 CONSIDERAÇÕES FINAIS 24 6 Referências Bibliograficas...................................................................................................25 1 INTRODUÇÃO Na maioria das escolas públicas do Brasil, existe uma rede de internet, porém normalmente essa rede é privada somente aos funcionários da escola, os alunos não têm acesso a e ela e por muitas vezes, quando possuem não a utilizam para fins educacionais, tornando a rede mais congestionada e por consequência mais lenta. Para possibilitar aos alunos o acesso à internet e limitar apenas para fins educacionais foi criado o projeto de servidor proxy para escolas públicas, através de um servidor proxy para controlar o fluxo de dados, e manter uma melhor qualidade de internet. O projeto foi criado visando o uso da internet para o “bem” para que crianças e adolescentes consigam ter um costume de usar a internet para estudos e fins educacionais dentro de ambientes escolares. Para a implementação deste projeto foi utilizado uma máquina com o Sistema Operacional Linux-Server e um processador de dois núcleos, uma memória RAM de 2gb e um HD de 50gb Com esse projeto espera-se melhorar a qualidade de ensino de escolas com o uso de internet nas salas de aula, e pelo mesmo, melhorar o desempenho escolar de alunos. REFERENCIAL TEÓRICO 2.1 Fundamentação teórica Escolas não investem em redes de segurança e controle de dados de seus alunos, assim alunos utilizam seus celulares ou computadores para acessarem conteúdos que não são de interesse escolar. Criando uma rede de acesso para alunos com um servidor proxy facilitaria o acesso ao estudo pela internet e estimulo ao uso de sites educacionais. O site profissionaisti.com explica a importância de um servidor proxy: A utilização do Proxy é vital em qualquer empresa, imagine que você possui 150 colaboradores com acesso a internet, e-mail, facebook, twitter, linkedin e nenhum controle é feito. Facilmente você terá problemas de falta de produtividade, acesso a conteúdo inadequado, enfim, é nessa hora que o Servidor Proxy entra em cena para ajudar o administrador de redes e consequentemente a diretoria da empresa. Com o Proxy você pode, através de algumas linhas de código, dizer que o grupo de pessoas do setor financeiro só pode acessar sites do governo e bancos, já o grupo de almoxarifado só pode acessar a Intranet da empresa, dentre outras regras. (Sávio sales 2013) Sendo assim o proxy em escolas ira melhorar o controle e a conexão de professores e alunos em sala de aula ou fora dela. 2.2 Fundamentação tecnológica 2.3 Redes DeComputadores Redes de computadores são importantes para qualquer tipo de empresa ou instituto e o site alcidesmaya.com mostra para o que serve uma rede de computadores e o que ela é a figura 1 representa uma rede de computadores Uma rede de computadores é um grupo de sistemas de computadores e outros dispositivos de hardware de computação que estão ligados entre si através de canais de comunicação para facilitar a comunicação e o compartilhamento de recursos entre uma ampla gama de usuários. Redes são geralmente classificadas com base em suas características. As redes são usadas para Facilitar a comunicação via e-mail, videoconferência, mensagens instantâneas etc. Permitir que vários usuários compartilhem um único dispositivo de hardware, como uma impressora ou scanner; Ativar compartilhamento de arquivos; Permitir a partilha de programas de software ou de funcionamento em sistemas remotos; Tornar a informação mais fácil de acessar e manter entre vários usuários num mesmo ambiente ou em ambientes distintos (com acesso remoto, via web, por exemplo). figura 1. Representação de uma rede de computadores Redes são muito importantes para escolas pois podem ajudar no desempenho por que quando os alunos trabalham em conjunto as tarefas se tornam mais fáceis. 2.4 Servidores Linux Um servidor Linux é uma máquina que pode fazer várias funções, e Carlos E. Morimoto no livro servidores Linux guia prático(2008) explica o que é um servidor e de que difere um servidor Linux de um normal. A figura 2 representa o símbolo do Linux e servidores atrás do mesmo. Um servidor é uma máquina que fica constantemente ligada, sempre fazendo a mesma coisa, existem muitos tipos de servidores, uma máquina pode rodar simultaneamente vários deles. A palavra “serviço” indica nesse caso, um aplicativo que é destinado a responder requisições dos clientes. Os servidores Linux podem ser divididos em dois grandes grupos: os servidores de rede local e os servidores de Internet. (Carlos E. Morimoto 2008) Figura 2. Representação de um servidor Linux Servidores Linux são muito bem aceitos em escolas pois são serviços gratuitos, sendo assim o custo seria somente da máquina onde o servidor seria instalado SERVIDORES PROXY Servidores proxys são os intermediários entre um computador e a rede externa ele é importante para garantir a segurança e o controle de dados do usuário. e Carlos E. Morimoto no site www.hardware.com explicou as funções e objetivos do servidor proxy como mostra na figura 3. O servidor proxy serve como um intermediário entre os computadores de uma rede e a internet um servidor proxy ele pode ser usado com os objetivos de: compartilhar a conexão de internet quando há apenas um ip disponível. Melhorar o acesso a páginas através de um cache de páginas ou bloquear o acesso a determinadas páginas como coisas inapropriadas e etc. ( Carlos E. Morimoto 2005) figura 3. Exemplo do funcionamento de um server proxy O proxy é de muita importância em locais como escolas ou empresas que possuem muitos usuários e precisam de um controle do acesso de internet. PROXY SQUID O squid é um dos principais serviços de proxy conhecidos e um dos mais utilizados, por ser um software livre e com suporte para sistemas Windows e Linux. cassio augusto no blog ninjadolinux.com. explica as funções e importância do squid como mostrado na figura 4. O Squid é um software completamente livre e com suporte para Windows e Linux, a sua principal função é no uso em servidores proxy capazes de suportar HTTP, HTTPS, FTP e vários outros formatos. Com o Squid é possível configurar um servidor em Linux com possua acesso à internet, e a partir desse servidor permitir que máquinas clientes consigam acessar sites FTP e outras páginas na Web sem necessariamente ter conexão direta com a internet. Outro fator de segurança importante em um servidor montado através do Squid é o total controle das páginas que foram acessadas. Através do Squid o administrador do sistema pode saber quais as páginas foram acessadas e em que horário exatamente. Esse é uma excelente função do Squid, apesar das discussões sobre problemas com privacidade. (Cassio Augusto NinjadoLinux.com.br) Figura 4. Representação de um servidor proxy O Software Squid em escolas seria muito bem aceito por trabalhar com todos sistemas operacionais seja Windows Linux ou outros. 3 METODOLOGIA Neste capítulo, irá ser abordado os métodos e materiais necessários para a implantação da rede, a problemática do local e o que se espera com a conclusão do projeto. 3.1 Problemas encontrados Em observação das redes escolares que existem, sendo elas abertas aos alunos ou não, grande parte dessas mesmas não possuem um servidor proxy, para controle de dados e uso. Sendo assim a rede que a escola possui é usada para fins não educacionais. 3.2 Solução proposta A instalação de um servidor proxy Linux (Squid) é uma solução para s este problema, das redes escolares, pois permite que se tenha o controle de uso dos alunos, limitando somente professores e secretários ao acesso total da rede. O uso do sevidor proxy, torna a rede mais segura, pois pode-se bloquear o tráfego para apenas sites de cunho educacional, ou de interesse da escola O servidor conta com o sistema operacional Linux Ubuntu Server 16.04, que é um software de código livre, sem a necessidade da compra de licenças além das existentes nos demais computadores da escola. 3.3 Métodos e materiais Para implementação do Servidor Proxy foi necessário um roteador wifi com repetidores pelo colégio e um computador que conectado à rede pudesse trabalhar como servidor proxy. Foi utilizado um computador AMD fx 6300 com 8Gb de memória ram, porém, um computador pessoal poderia ser facilmente utilizado como servidor proxy pois não é uma função que exige muito hardware. Nele foram criados login e senha para cada tipo de usuário. Para os alunos terem acesso à internet foi feito um login e senha para cada turma, assim facilitando a manutenção para os administradores do servidor em caso de troca de alguma permissão. Professores e secretários terão acesso total a internet. 3.4 Resultados esperados Com a utilização de um servidor proxy, pode-se alcançar benefícios como: Maior controle de dados da rede escolar Tornar a sala de aula mais tecnológica com atividades e serviços distribuídos pela internet 3.5 Manutenção Para manutenção do servidor é necessário excluir caches e backups antigos e assim, liberar mais espaço para que assim o servidor possa rodar tranquilamente e sem nenhuma interferência. Manutenções anuais dos usuários e senhas e manutenções casuais caso venha a acontecer qualquer problema de autenticação ou mau funcionamento do server. 4 Instalação e configuração do Ubuntu Server Para instalação do servidor foi utilizado o sistema operacional ubuntu server 16.04 Configurações iniciais: Tabela 1configuração do ubuntu server NOME DA MÁQUINA Ubuntutcc NOME DE USUÁRIO felipest Time Zone São Paulo Fonte – próprio autor 4.1 Configuração do Squid A configuração inicial foi dada pelo comando de instalação do serviço apt-get intall squid que busca o arquivo e o instala no seu sistema, as primeiras configurações feitas foram dos arquivos de autenticações para isso foi criado na pasta raiz do squid a pasta auth.conf que foi configurada com os comandos de autenticações. 4.2 Configuração de Rede Tabela 2: configurações de rede do servidor FUNÇÃO CÓDIGO Inicializar automaticamente interface de rede. auto enp0s3 Definir interface de rede com IP estático. iface enp0s3 inet static Endereço IP do servidor. address 192.168.1.7 Endereço de rede. network 192.168.1.0 Máscara de rede. netmask 255.255.255.0 Broadcast. broadcast 192.168.1.255 Gateway. gateway 192.168.1.1 DNS. dns-nameservers 192.168.1.1 Fonte – próprio autor 4.3 Auth.confTabela 3: Comandos dentro da pasta auth.conf FUNÇÃO CÓDIGO Mostra a mensagem ao usuário solicitando login e senha auth_param basic real digite “usuário e senhas” Procura pelo arquivo com usuários e senhas do squid auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd limita o numero de clientes conectados ao mesmo tempo (no caso50) auth_param basic children 50 Tempo para expirar autenticações (no caso 10 minutos) auth_param basic credentialssttl 10 minutes Letras minúsculas e maiúsculas são ignoradas auth_param basic casesensitive off Fonte – próprio autor Para criar usuários e grupos usei o comando dentro da pasta raiz do squid: Tabela 4: Comandos para adicionar grupos e usuarios FUNÇÃO CÓDIGO Criar grupo para a diretoria. Addgroup diretoria Criar grupo para os professores. Addgroup professores Criar grupo para os alunos Addgroup alunos Criar usuário dentro do grupo alunos Adduser --disabled-login --no-create-home –ingroup alunos alunos Criar usuário diretora dentro do grupo diretoria. Adduser --disabled-login --no-create-home --ingroup diretoria diretora Criar usuário professora dentro do grupo professores. Adduser --disabled-login --no-create-home --ingroup professores professora Fonte – próprio autor 4.4 Acl.conf As acls são as listas de acesso (access list) e no arquivo que foi criado dentro da pasta raiz do squid, o arquivo acl.conf. foi adicionado acls para bloqueio de sites com a acl: url_regex -i Tabela 5: Comandos do arquivo acl.conf (sites) SITES CÓDIGO FACEBOOK acl facebook url_regex -i facebook.com INSTAGRAM acl instagram url_regex -i instagram.com WHATSAPP acl whatsapp url_regex -i web.whatsapp.com TWITCH acl twitch url_regex -i twitch.com CLICKJOGOS Acl clickjogos url_regex -i clickjogos.com YOUTUBE acl youtube url_regex -i youtube.com NETFLIX acl netflix url_regex -i netflix.com TWITTER acl twitter url_regex -i twitter.com Fonte – próprio autor Para bloquear o acesso a sites não permitidos pela escola como sites pornográficos foi criado uma acl que bloqueava palavras. Como exemplo usei as palavras: pornô/nua Tabela 6: Comandos do arquivo acl.conf (palavras bloqueadas) acl criada para bloquear palavras bloqueadas: Acl palavras_bloqueadas url_regex -i “etc/squid/palavras_bloqueadas.txt Arquivo de texto contendo as palavras bloqueadas etc/squid/palavras_bloqueadas.txt Fonte – próprio autor Escolas contém intervalos e para esses intervalos foi liberado o acesso total com acls de tipo time para que assim em horário de intervalo os alunos pudessem acessar as redes sociais que antes foram bloqueadas Foi criada também uma acl para o fim de semana onde somente a diretora poderia acessar a internet nos fins de semana Tabela 7: Comandos do arquivo acl.conf (horários bloqueados) Acl time para o intervalo Acl finde time AS 00:00-23:59 Acl time para o fim de semana Acl intervalo time MTWHF 10:00-10:35 15:00-15:30 Fonte – próprio autor O comando time é um comando que como próprio nome diz bloqueia por tempo as letras maiúsculas são os dias que serão bloqueados no caso AS (sábado e domingo) e MTWHF (segunda, terça, quarta, quinta, sexta) os comandos do squid são em inglês por isso das letras. S: Domingo M: Segunda-Feira T: Terça-feira W: Quarta-feira H: Quinta-feira F: Sexta-feira A : Sábado Para liberar o acesso de autenticados se usa o comando proxy_auth e no arquivo acl.conf foi configurado Tabela 8: Comandos do arquivo acl.conf (autorizações) Acl diretoria proxy_auth Acl alunos proxy_auth alunos Acl professores proxy_auth professores Fonte – próprio autor figura 5. Arquivo final acl.conf 4.5 Httpaccess.conf A próxima configuração feita foi a configuração do arquivo httpaccess.conf incluindo os bloqueios feitos nas ACL’S e na liberação de usuários cadastrados. Para realizar o cadastro de usuários deve-se entrar no diretório onde ira ficara armazenados os arquivos e senhas que no caso seria “/etc/squid” e estando na pasta raiz digitar o comando “httpasswd -c passwd (diretora) para assim efetuar o comando e pelo mesmo cadastrar os usuários o squid ira solicitar uma senha e pedir confirmação da mesma e assim leva para a pasta “passwd” criptografando a mesma dentro da pasta. Para este servidor foi criado o usuário professores, alunos e diretoria Tabela 9: Comandos para cadastro de usuários no squid alunos htpasswd -c passwd alunos professores htpasswd -c passwd professores diretoria htpasswd -c passwd diretoria Fonte – próprio autor O arquivo httaccess.conf deverá receber primeiro todas os bloqueios criados no arquivos de acl, para depois poder liberar o acesso para os usuários, por que o squid lê as linhas de comando sequencialmente ou seja “de cima para baixo”. A primeira linha que foi usada foi o comando para negar a ACL finde(fim de semana) após negar o fim de semana foi liberado o acesso a diretoria após foi negado as palavras bloqueadas que foi criada a acl anterior, após foi negada a acl arquivos proibidos que continham arquivos (mp3,mp4,...) que não poderiam ser baixados. Após isso foi liberada a ACL intervalo que permitia o uso de todos sites destacados abaixo dela e não permitiria o download de arquivos e nem acesso a palavras bloqueadas. Após isso foi inserida as ACL de sites que seriam negados. http_access deny whatsapp http_access deny facebook http_access deny instagram http_access deny twitter http_access deny twitch http_access deny netflix http_access deny clickjogos http_access deny youtube Tabela 10:acls de sites bloqueados Fonte – próprio autor Ao final do arquivo foi liberado o acesso a alunos e professores Tabela 11: acls de liberação para usuários cadastrados http_access allow alunos http_access allow professores Fonte – próprio autor figura 6. Arquivo final httpaccess.conf 4.6 Squid.conf Ao final foi configurado o arquivo principal do squid o “squid.conf” para isso deve-se importar os 3 últimos arquivos criados anteriormente “auth.conf”, “acl.conf” e “httpaccess.conf” para se importar os arquivos no arquivo principal foi usado o comando include e o caminho da pasta. Tabela 12: comandos include e suas pastas origenm Include /etc/squid/auth.conf Include /etc/squid/acl.conf Include /etc/squid/httpaccess.conf Fonte – próprio autor Porém antes de inserir o include foi definida a porta que seria utilizada que no caso é a porta 3128 que é a porta padrão, após configurar a porta foi configurado o nome do servidor com o comando visible_hostname. Após configurar o nome do servidor foi utilizado uma acl para definir a rede e sua mascara que no caso foi 192.168.1.0/24 Então após configurar a rede, porta e nome do servidor foi configurado o cache que é uma ferramenta que utiliza da memoria do server e possibilita o melhor uso da rede, fazendo o carregamento das paginas de forma mais rápida. Tabela 13: comandos de cache FUNÇÃO CÓDIGO contém a quantidade de memória que será dedicada ao cache cache_mem 32 MB determina o tamanho máximo dos arquivos que serão guardados no cache feito na memória RAM maximum_object_size_in_memory 64 KB download de arquivos grandes e deseja que eles fiquem armazenados no cache maximum_object_size 500 MB Tamanho mínimo de arquivos baixados para serem armazenados em cache minimum_object_size 1 KB sempre que o cache atingir 98% de uso, serão descartados arquivos antigos cache_swap_high 98 Porcentagem para voltar o uso de cache cache_swap_low 90 Fonte – próprio autor Ao final do arquivo foi inserido o ultimo comando que nega o acesso de qualquer um que esteja conectado no servidor proxy, o comando: http_access deny all figura 7. Arquivo final squid.confCONSIDERAÇÕES FINAIS Todas configurações do squid foram testadas sendo elas configurações de acls ou configurações de cache foi testado o uso de outras senhas em usuários, para teste de segurança. O servidor se manteve estável com o bloqueio dos sites e palavras descritas nos arquivos de configuração, todos sites bloqueados não puderam ser acessados, sendo assim mostrando eficiência no programa, foi testada as acls de horários e todas funcionaram perfeitamente. o servidor squid não apresentou falhas. Com a intenção de implementar um servidor proxy em escolas públicas a fim de melhorar o desempenho escolar dos alunos, e usar novos métodos em sala de aula, o trabalho realizado em maquinas virtuais mostrou-se uma ótima previa do serviço que poderá ser prestado a qualquer escola que possua uma rede. 6 REFERÊNCIAS BIBLIOGRÁFICAS E. Morimoto, Carlos livro Redes e Servidores Linux – Guia Prático 2007. Disponivel em: <https://www.hardware.com.br/> acesso em 20 de agosto de 2018 rick_G sobre configurações de proxy squid,artigo 28/07/2012 diponivel em: <//www.vivaolinux.com.br> acesso em 21 de agosto de 2018 E.Morimoto, Carlos Entendendo e Dominando o Linux. Edição Online. 2002. Disponivel em: <https://www.hardware.com.br/livros/dominando-linux/>. Acesso em 21 de agosto de 2018 Hemori Moraes, Smailli artigo sobre squid,acls 16 de Janeiro de 2007 disponivel em: < http://www.dicas-l.com.br> Acesso em 20 de agosto de 2018
Compartilhar