GNU/Linux Básico Proxy
Aula 2
- Servidor Proxy (Squid)
Marlon Willrich
marlon@unifebe.edu.br
Núcleo de Informática - UNIFE...
Servidor Proxy (Squid)
● Um servidor proxy é um computador intermediário
que fica entre o computador do usuário e a
Intern...
Servidor Proxy (Squid)
● aptitude install squid3
● Serviço de Proxy mais utilizado em servidores
GNU/Linux
● Diretório de ...
Servidor Proxy (Squid)
● Como podemos saber se o processo está em
execução? Podemos saber através de alguns
comandos da au...
Servidor Proxy (Squid)
● Outra forma de testarmos, e vermos se a porta do
serviço 3128 está aberta no sistema através do
c...
Servidor Proxy (Squid)
● Vamos agora editar o arquivo de configuração do squid,
edite o arquivo /etc/squid3/squid.conf
● P...
Servidor Proxy (Squid)
● Reinicie o squid
– $ systemctl reload squid3.service ou
– $ service squid3 reload ou
– $ squid3 -...
Servidor Proxy (Squid)
● Vamos começar com a parte interessante, vamos bloquear
download de arquivos executáveis (.exe) e ...
Servidor Proxy (Squid)
● Reinicie seu proxy e faça os testes.
● Apenas lembrando...
– $ systemctl reload squid3.service ou...
Servidor Proxy (Squid)
● Algumas configurações a mais do proxy
● Procure por cache_mgr e abaixo dos comentários adicione a...
Servidor Proxy (Squid)
● De um netstat -patun |grep 3128
● Verifique onde o squid está escutando na porta 3128
tcp6 0 0 ::...
Servidor Proxy (Squid)
● Altere a linha http_port 3128 para:
http_port 10.0.2.15:3128 (onde 10.0.2.15 é o seu IP)
http_por...
Servidor Proxy (Squid)
● Por padrão o squid não faz cache, precisamos habilitar estas
duas linhas no squid.conf:
● Descome...
Servidor Proxy (Squid/Calc. Hard.)
● Considerando o seguinte exemplo:
- 100Gb de espaço no cache_dirs
cache_dir ufs /var/s...
Servidor Proxy (Squid/Calc. Hard.)
● para sistemas 64bits
100 * 16 = 1600Mb + 256M + 20M = 1876Mb onde você deverá ter de ...
Servidor Proxy (Squid)
● Mais configurações sobre o cache:
maximum_object_size_in_memory 64 KB
(tamanho dos objetos que fi...
Servidor Proxy (Squid)
● Regras por ip específico:
acl estacao-1 src 192.168.50.10
acl estacao-2 src 192.168.50.11
acl web...
Servidor Proxy (Squid)
● Regras por horário
S domingo M segunda-feira T terça-feira
W quarta-feira H quinta-feira F sexta-...
Servidor Proxy (Squid)
● Para liberar no horário do almoço as regras ficariam
assim:
http_access allow webmail almoco
http...
Servidor Proxy (Squid)
● Liberação de portas no proxy
● As vezes é necessário acessar algum site utilizando o
proxy que fu...
Dúvidas?
Próximos SlideShares
Carregando em…5
×

Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNIFEBE

203 visualizações

Publicada em

Aula 2 sobre o Minicurso de GNU/Linux básico para a Semana de Sistemas de Informação 2015 do Centro Universitário de Brusque - UNIFEBE

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
203
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Minicurso GNU/Linux básico - Aula2 - Semana Sistemas de Informação 2015 - UNIFEBE

  1. 1. GNU/Linux Básico Proxy Aula 2 - Servidor Proxy (Squid) Marlon Willrich marlon@unifebe.edu.br Núcleo de Informática - UNIFEBE 29/10/2015
  2. 2. Servidor Proxy (Squid) ● Um servidor proxy é um computador intermediário que fica entre o computador do usuário e a Internet. Pode ser utilizado para registrar o usuo da Internet e também para bloquear o acesso a um site. ● Site do Squid: www.squid-cache.org ● Possui muita documentação e diversos exemplos
  3. 3. Servidor Proxy (Squid) ● aptitude install squid3 ● Serviço de Proxy mais utilizado em servidores GNU/Linux ● Diretório de configuração /etc/squid3/ ● Arquivo de configuração do servidor squid.conf ● Arquivo todo documentado em /usr/share/doc/squid3-common/ ● Reinicio systemctl reload squid3.service ou squid3 -k reconfigure ● Diretorio cache /var/spool/squid3 ● O Squid trabalha por padrão na porta 3128
  4. 4. Servidor Proxy (Squid) ● Como podemos saber se o processo está em execução? Podemos saber através de alguns comandos da aula passada: – $ ps -aux (lista todos os processos do sistema) – Para fazermos um filtro nesta listagem, podemos utilizar o comando grep – $ ps -aux |grep squid – Assim teremos como resultado somente os processos com o nome squid
  5. 5. Servidor Proxy (Squid) ● Outra forma de testarmos, e vermos se a porta do serviço 3128 está aberta no sistema através do comando netstat: – $ netstat -patun (lista todas as conexões ativas) – E voltando ao nosso grep para filtrar podemos fazer assim – $ netstat -patun |grep 3128 ● E claro, a forma padrão de visualização é : – $ systemctl status squid3.service – Ou – $ service squid3 status (forma antiga)
  6. 6. Servidor Proxy (Squid) ● Vamos agora editar o arquivo de configuração do squid, edite o arquivo /etc/squid3/squid.conf ● Procure pelas linhas (1042): ● # acl localnet src … ● E adicione a linha acl rede src 192.168.32.0/19 ● Agora procure pela linha (1211): ● # http_access allow localnet ● E adicione a linha http_access allow rede
  7. 7. Servidor Proxy (Squid) ● Reinicie o squid – $ systemctl reload squid3.service ou – $ service squid3 reload ou – $ squid3 -k reconfigure ● Verifique seu status ● Configure seu navegador para utilizar como proxy o ip de sua máquina virtual na porta 3128 ● Veja seus logs de navegação do seu proxy : – $ tail -f /var/log/squid3/access.log ● Com isto você começa a consumir recursos do seu servidor, monitore com o htop e tcptrack -i eth0 por exemplo.
  8. 8. Servidor Proxy (Squid) ● Vamos começar com a parte interessante, vamos bloquear download de arquivos executáveis (.exe) e arquivos .pif (possíveis vírus quando o usuario clica em seu e-mail) ● Vamos também bloquear o site da globo.com ● Edite novamente seu arquivo de configuração do squid em /etc/squid3/squid.conf ● Procure por sua acl rede e adicione as linhas: acl globo url_regex -i globo.com acl extensoes url_regex -i .exe(?.*)?$ .pif(?.*)?$ ● Agora procure por sua linha http_access allow rede e deixe ela assim: http_access allow rede !globo !extensoes
  9. 9. Servidor Proxy (Squid) ● Reinicie seu proxy e faça os testes. ● Apenas lembrando... – $ systemctl reload squid3.service ou – $ service squid3 reload ou – $ squid3 -k reconfigure
  10. 10. Servidor Proxy (Squid) ● Algumas configurações a mais do proxy ● Procure por cache_mgr e abaixo dos comentários adicione a linha: cache_mgr seuemail@dominio.com ● Procure por visible_hostname e abaixo dos comentários adicione a linha: visible_hostname debian.unifebe.edu.br (ou suas informações) ● Procure por dns_nameservers e abaixo dos comentários adicione a linha: dns_nameservers 192.168.40.1 ● Reinicie e verifique se o serviço funcionou, teste a alteração da pagina de bloqueio.
  11. 11. Servidor Proxy (Squid) ● De um netstat -patun |grep 3128 ● Verifique onde o squid está escutando na porta 3128 tcp6 0 0 :::3128 :::* OUÇA 1173/(squid-1) ● Baseado na informação anterior, a porta 3128 está aberta para qualquer interface de rede. ● Sabemos que servidores proxy possuem no mínimo duas interfaces de rede, uma que vem a internet e outra que vai para a rede interna. ● Com esta informação acima, o seu servidor proxy estará “ouvindo” em qualquer interface de rede que tiver em sua máquina, com isto, corremos o risco de alguém da internet acessar a porta 3128 caso você não possua um firewall bloqueando-a. ● Para evitar contratempos, o correto é configurar o squid para “ouvir” somente nas redes internas.
  12. 12. Servidor Proxy (Squid) ● Altere a linha http_port 3128 para: http_port 10.0.2.15:3128 (onde 10.0.2.15 é o seu IP) http_port 127.0.0.1:3128 ● Com isto seu squid abrirá a porta do proxy apenas na rede local e no localhost ● De um reload na configuração e faça a verificação novamente com o comando netstat -patun |grep 3128, deve ficar algo em torno disto: tcp 0 0 127.0.0.1:3128 0.0.0.0:* OUÇA 1173/(squid-1) tcp 0 0 10.0.2.15:3128 0.0.0.0:* OUÇA 1173/(squid-1)
  13. 13. Servidor Proxy (Squid) ● Por padrão o squid não faz cache, precisamos habilitar estas duas linhas no squid.conf: ● Descomente e altere a variável cache_mem 256 MB para: cache_mem 64 MB ● Descomente a linha cache_dir ufs /var/spool/squid3 100 16 256 ● Pare o squid ● Inicie o squid novamente ● Utilize o comando squid3 -z para criar o cache (caso necessário) ● Verifique se os arquivos de cache foram criados em /var/spool/squid3
  14. 14. Servidor Proxy (Squid/Calc. Hard.) ● Considerando o seguinte exemplo: - 100Gb de espaço no cache_dirs cache_dir ufs /var/spool/squid/ 100000 16 256 - 10Mb por cada giga dos 100Gb do cache_dirs em sistemas 32bits, em 64bits 16Mb por cada giga. - 256Mb de cache_mem - 20Mb adicional sugerido para o cálculo. ● Conta: para sistemas 32bits 100 * 10 = 1000Mb + 256M + 20M = 1276Mb onde você deverá ter de ram pelo menos o dobro desse valor, ou seja, você teria que ter na máquina 2552 Mb de RAM. cache_mem = 1276 MB
  15. 15. Servidor Proxy (Squid/Calc. Hard.) ● para sistemas 64bits 100 * 16 = 1600Mb + 256M + 20M = 1876Mb onde você deverá ter de ram pelo menos o dobro desse valor, ou seja, você teria que ter na máquina 3752Mb cache_mem = 1876 MB ● Para nossa maquina virtual que possui 1 core e 256 mb RAM e 3 gb de espaço livre para o cache em um sistema 32 bits, as variáveis corretas são: Invertendo a conta: (256MB – 20MB – (3* 10Mb))/ 2 = 103 cache_mem 103 MB cache_dir ufs /var/spool/squid3/ 3000 16 256 (lembre que a recomendação é máxima 8 GB por diretório de cache)
  16. 16. Servidor Proxy (Squid) ● Mais configurações sobre o cache: maximum_object_size_in_memory 64 KB (tamanho dos objetos que ficam na RAM) maximum_object_size 512 MB minimum_object_size 0 KB (tamanho dos arquivos em disco) ● Faça testes e verifique o cache com o ncdu
  17. 17. Servidor Proxy (Squid) ● Regras por ip específico: acl estacao-1 src 192.168.50.10 acl estacao-2 src 192.168.50.11 acl webmail url_regex -i “/etc/squid3/webmails.txt“ http_access allow estacao-1 http_access allow estacao-2 !globo !extensoes http_access allow rede !globo !webmail !extensoes ● Procure sempre estabelecer as regras de liberações antes das regras de proibições ● Faça regras de bloqueio de redes sociais
  18. 18. Servidor Proxy (Squid) ● Regras por horário S domingo M segunda-feira T terça-feira W quarta-feira H quinta-feira F sexta-feira A sábado acl almoco time MTWHFA 12:00-14:00 ● Faça testes como por exemplo, liberar o acesso ao webmail no horário do almoço.
  19. 19. Servidor Proxy (Squid) ● Para liberar no horário do almoço as regras ficariam assim: http_access allow webmail almoco http_access allow rede !globo !webmail !extensoes
  20. 20. Servidor Proxy (Squid) ● Liberação de portas no proxy ● As vezes é necessário acessar algum site utilizando o proxy que funciona em uma porta fora do padrão, como por exemplo 8080, 2573, 10000 etc. ● Para liberar este acesso você deve adicionar linhas nas regras Safe_ports, como por exemplo: acl Safe_Ports port 8080 acl Safe_Ports port 2573 ● Caso a porta 10000 seja SSL (geralmente utilizada no webmin) adicione a linha assim: acl SSL_ports port 10000
  21. 21. Dúvidas?

×