Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso Técnico em Informática IEEVD Servidor Proxy Introdução Definição Squid permite compartilhar a conexão web com vários hosts (equipamentos conectados), servindo como um intermediário para acesso á internet. Vantagens Uma das maiores vantagens da proxy sobre outras alternativas de conexão como o IP Masquerading é a existência do cache, que, quando bem configurado, maximiza o aproveitamento do seu canal de conexão com a internet. Os documentos estáticos (imagens, páginas HTML geradas estaticamente e outros) solicitados por qualquer uma das máquinas da sua rede ficam armazenados também no servidor, e caso outra máquina da rede solicite o mesmo documento, ele é fornecido a partir do cache, economizando assim a linha com o provedor de Internet, que normalmente é de velocidade bem mais baixa do que a rede local que liga as máquinas clientes ao servidor Proxy. Outra vantagem importante é o nível de controle oferecido. O squid permite criar regras avançadas de restrição de acesso, podendo definir que determinados micros terão acesso irrestrito, outros podem acessar apenas um determinado conjunto de sites, e outros ainda podem acessar qualquer site. É possível restringir um determinado conjunto de sites cuja URL possua uma determinada palavra ou expressão regular. Estas regras podem variar de acordo com o horário, permitindo a criação de regras que restrinjam o tráfego no horário de expediente, e liberem nos horários de menor demanda. Veremos alguns exemplos destas regras mais adiante. 1.1.3 Desvantagens A limitação do squid é que ele fornece apenas serviços de http e ftp, ou seja, web e transferência de arquivos. Serviços de e-mail (smtp e pop-3), irc, jogos via internet e todos os outros recursos são completamente ignorados e não são suportados. Se você precisar oferecer serviços como esses, terá que recorrer a uma segunda alternativa em paralelo — configurações avançadas do Sendmail, ip masquerading, proxy de irc, e muitas outras opções que estão fora do escopo deste artigo. Configurando um servidor proxy com o Squid3 Iniciando a instalação do Squid3 O squid é composto de um único pacote (Morimoto, 2011), o qual torna sua instalação extremamente fácil. # sudo su (para entrar como admin, depois é só digitar a senha do seu computador) # apt-get install squid3 Depois que instalamos o Squid3, vamos fazer um backup do arquivo de configuração para criarmos um do zero: # mv /etc/squid3/squid.conf /etc/squid3/squid.conf.bkp Agora crie um arquivo chamado “bloqueados” dentro do diretório do squid. Nesse arquivo deverá ser colocado os sites que serão bloqueados. # nano /etc/squid3/bloqueados Dentro desse arquivo coloque os sites que serão bloqueados, seguidos de “.” exemplo: .terra.com .senacrs.com .unifra.com Figura 1 : Mostra os sites bloqueados nos arquivos com o nome bloqueado. Crie um arquivo chamado “palavras” dentro do diretório do squid. Nesse arquivo deverá ser colocado as palavras que serão bloqueadas. # nano /etc/squid3/palavras Dentro desse arquivo coloque as palavras que deseja bloquear (sem aspas), exemplo uma abaixo da outra: sexo mp3 jogos Deverá ficar assim: Figura 2 : Mostra as palavras bloqueadas. Para salvar tecle : “control+O”, para salvar e dê <enter> e depois “control+X” para sair. Agora abra o squid.conf e delete todo o conteúdo do arquivo “squid.conf” para poder configurá-lo da sua maneira. De uma maneira mais rápida você pode excluir o squid.conf e criar um novo arquivo, dê os comandos: # cd /etc/squid3 # rm squid.conf Para configurar um novo squid.conf, sem aquelas mais de 400 linhas : # nano /etc/squid3/squid.conf Adicione os comandos ao arquivo: http_port 3128 visible_hostname SquidProxy cache_access_log /var/log/squid3/access.log #bloqueio de sites bloqueados acl bloqueados url_regex -i "/etc/squid3/bloqueados" http_access deny bloqueados #bloqueio de palavras bloqueadas acl PalavrasBloqueadas url_regex -i "/etc/squid3/palavras'' http_access deny PalavrasBloqueadas cache_effective_user proxy cache_effective_group proxy # autenticação auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwd acl autenticados proxy_auth REQUIRED http_access allow autenticados deny_info http://10.0.0.100/teste.html bloqueados deny_info http://10.0.0.100/teste.html PalavrasBloqueadas Entendendo os comando que estão dentro do arquivo squid.conf → http_port 3128: Define em qual porta o Squid vai atuar, a porta default é a 3128, mas podemos definir qualquer outra porta. → visible_hostname SquidProxy: Define o nome do servidor, lembre-se de substituir o "SquidProxy" pelo nome do seu servidor. → cache_access_log /var/log/squid3/access.log: Define onde vai salvar o cache do Squid. → acl bloqueados url_regex -i "/etc/squid3/bloqueados": Cria a ACL bloqueados contendo os sites proibidos que estão no arquivo descrito. → http_access deny bloqueados: Bloqueia todas as url que estão no arquivo “bloqueados”. → acl PalavrasBloqueadas url_regex -i "/etc/squid3/palavras'': Cria a ACL PalavrasBloqueadas contendo as palavras proibidas que estão no arquivo descrito. → http_access deny PalavrasBloqueadas: Bloqueia todas as url que estão no arquivo “palavras”. → cache_effective_user proxy: Este comando irá configurar o usuário que será utilizado para executar o squid no momento da inicialização do processo. → cache_effective_group proxy: Este comando irá configurar o grupo que será utilizado para executar o squid no momento da inicialização do processo. → auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwd: serve para o squid ler todas as senhas de usuario salvas no arquivo “passwd”. → acl autenticados proxy_auth REQUIRED: Cria a ACL autenticados para que cada vez que se conectar ao servidor proxy, ele peça a senha para acesso. → http_access allow autenticados: Permite o acesso a todos os usuários que colocaram a senha corretamente. → deny_info http://10.0.0.100/teste.html bloqueados: Redireciona a página de erro quando você entra em um site bloqueado para o endereço http://10.0.0.100/teste.html” (substitua por um endereço de seu interesse). → deny_info http://10.0.0.100/teste.html PalavrasBloqueadas: Redireciona a página de erro quando você entra em um site que possua alguma das palavras bloqueadas para o endereço “http://10.0.0.100/teste.html” (substitua por um endereço de seu interesse). Seu arquivo squid.conf deve ficar assim: Figura 3: Mostra o arquivo squid.conf com a configuração mínima. Após configurar o squid.conf, reinicie o serviço: # service squid3 restart Na próxima seção vamos configurar nosso servidor proxy para pedir autenticação cada vez que queira se conectar a WEB. Usando Autenticação no servidor Squid Proxy Será necessário ter instalado o servidor Apache, caso não tenha, o comando para instalação é: # apt-get install apache2 # apt-get install apache2-utils No arquivo de configuração especificamos que o arquivo onde ficarão os usuários e senha é /etc/squid3/passwd. Então vamos criá-lo, digite: # cd /etc/squid3 # htpasswd -c passwd Usuario Onde: htpasswd - comando para criar o arquivo de senhas criptografado; -c - parâmetro para criar o arquivo; passwd - nome do arquivo; Usuario – nome do seu usuário. Isto se faz só na primeira vez para criar o arquivo, CASO QUEIRA CRIAR UM NOVO USUÁRIO DIGITE sem o "-c": # htpasswd passwd outro_usuário Depois que criar o usuário, será solicitado que você escolha uma senha, e depois redigite a senha novamente. Esta será a tela: Figura 4: Mostra o arquivo criando a senha. Para liberar internet ao usuário que está logado ao proxy, use o comando a seguir: # echo 1 > /proc/sys/net/ipv4/ip_forward Esse comando escreve o número 1 dentro do arquivo ip_forward, ativando o roteamento de pacote. O padrãoé 0. Com isso o Linux passa a rotear os pacotes de uma interface para a outra e vice-versa. Instalando e configurando o SARG O SARG (Squid Analysis Report Generator) é uma ferramenta muito boa desenvolvida por um brasileiro que permite à você ver para “onde” seus usuários estão indo na Internet através da análise do arquivo de log “access.log” do famoso proxy Squid. O poder da ferramenta é incrível, ele pode dizer para você quais usuários acessaram quais sites, em que horas, quantos bytes foram baixados, quantas conexões foram feitas, relatórios de sites mais acessados, usuários que mais acessam, relatório de sites negados, falha de autenticação, entre outros. A gerência que você pode obter com isso é muito boa, principalmente para as empresas que querem economizar o uso da Internet. Vamos aqui instalar e configurar o SARG para ele gerar relatórios diários de acesso do Squid. Para isso precisaremos de um Squid já configurado e rodando. Instalando SARG Para instalar o SARG use o comando: # apt-get install sarg Faça um backup do arquivo sarg.conf: # mv /etc/sarg/sarg.conf /etc/sarg/sarg.conf.bkp Agora vamos criar um novo arquivo sarg.conf. # nano /etc/sarg/sarg.conf Depois insira as linhas abaixo: # line 7: change access_log /var/log/squid3/access.log # line 120,121: uncomment, comment out output_dir /var/www/html/squid-reports #output_dir /var/lib/sarg # line 132: add resolve_ip yes # line 377: change to your language charset UTF-8 Deverá ficar assim: Figura 5: Mostra o arquivo sarg.conf com sua configuração para gerar relatórios. Abra o arquivo sarg.conf , localizado em /etc/apache2/conf-availabe: # nano /etc/apache2/conf-available/sarg.conf Depois de abrir, insira as linhas: # create new <Directory "/var/www/html/squid-reports"> # IP address you permit Require local Require ip 10.0.0.0/24 </Directory> No lugar da linha Require ip 10.0.0.0/24 você coloca o endereço da rede que você está usando. Ex: 192.168.25.0/24 Após isso, crie o diretório squid-reports; # mkdir /var/www/html/squid-reports Agora resete o sarg com o comando: # a2enconf sarg Reinicie também o servidor apache: # service apache2 restart Para verificar se o sarg está funcionando corretamente, use o comando. Com o comando abaixo você da o comando para gerar o relatório, cada vez que você quiser verificar os relatórios do sarg tem que dar este comando para atualizar lá no servidor WEB os logs do squid. Se aparecer que o relatório foi gerado com sucesso, tudo está rodando como deveria. Caso apareça um erro de fonte, “dejavu-ttf”, siga os seguintes passos: Renomeie o arquivo dejavu para ttf-dejavu # mv /usr/share/fonts/truetype/dejavu /usr/share/fonts/truetype/ttf-dejavu Reinicie o serviço do sarg: # service sarg restart Dê mais uma vez o comando para gerar um relatório sarg: # sarg Para ver o relatório, entre em qualquer navegador web, e digite na barra de pesquisa/endereço: http://seu_ip/squid-reports/ (coloque o IP de sua maquina no lugar de “seu_ip”. Você deverá ver essa tela abaixo em seu navegador Figura 6: Mostra o gerador de relatórios SARG visualizado no navegador. Instalação WEBMIN Introdução Webmin é uma ferramenta gráfica, utiliza a linguagem em Perl tem a finalidade de ajudar os usuários que tem problema com o terminal do Linux. Webmin tem uma interface muito amigável e quando interage com o servidor Linux pode ser acessada de qualquer lugar através de um navegador. Com o Webmin podemos configurar serviços, rede, hardware e sistema. Serviços: web-apache, ssh, squid, bind, dhcp, jabber, postfix, qmail, wu-ftp, proftpd, mysql, samba entre outros. Rede: nfs, adsl, nis, kerberos5 entre outros. Hardware: grub, raid, gravador de cd, administração de impressora, lvm entre outros. Sistema: cron, ldap, pam, alterar senha, quotas de disco, usuários e grupos entre outros. Com o Webmin você tem a possibilidade de fazer várias configurações em modo gráfico. Instalação do WEBMIN Para instalar o webmin execute os seguintes comandos: #echo "deb http://download.webmin.com/download/repository sarge contrib" >> /etc/apt/sources.list Após feito isso faça o seguinte: Baixe a chave pública do webmin e depois adicione a chave ao apt: # wget -q http://www.webmin.com/jcameron-key.asc # apt-key add jcameron-key.asc Após adicionar vai aparecer "OK" sem aspas. Feito, atualize a lista de pacotes usando o apt-get ou aptitude: # apt-get update ou #aptitude update Agora instale o webmin: # aptitude install webmin ou # apt-get install webmin Após ter instalado o Webmin, vá até seu navegador e digite: https://localhost:10000 Será necessário dar permissão ssl, para aparecer a página de login. Use o login do seu computador (aquele quando você liga o computador) e senha (caso tenha). Algumas telas do webmin: Figura 7: Mostra a tela para acesso a ferramenta gráfica WEBMIN. Figura 8: Após acesso com usuário e senha local. Referências MORIMOTO, C. E. Servidores Linux, guia prático. 3º Reimpressão, Porto Alegre, Sul Editores, 2011, 735 p. Configuração SARG - <http://www.devin.com.br/sarg/> Acesso em: 02/jan/2017. Configuração WEBMIN <http://www.vivaolinux.com.br/artigo/Instalacao-e-configuracao-do-Webmin> Acesso em: 04/jan/2017. Instituto Estadual de Educação Vicente Dutra Página: 14
Compartilhar