proxy squid

20
Segurança em Servidores Linux Proxy Squid Prof. Humberto Caetano Faculdade Santo Agostinho Pós-Graduação em Redes de Computadores

Upload: stickorz

Post on 03-Feb-2016

212 views

Category:

Documents


0 download

DESCRIPTION

Segurança de Servidores LinuxAutor: Humberto

TRANSCRIPT

Page 1: Proxy SQUID

Segurança em Servidores Linux

Proxy Squid

Prof. Humberto CaetanoFaculdade Santo Agostinho

Pós-Graduação em Redes de Computadores

Page 2: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

2.20

O Proxy

● É um servidor que atende requisições dos clientes e repassa essas requisições a outros servidores

● Os servidores Proxy tem vários usos, como filtragem de conteúdo, anonimato, otimização da conexão, etc.

Page 3: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

3.20

O Proxy

Page 4: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

4.20

O Squid

● O Squid é um servidor de cache Proxy, que suporta HTTP, HTTPS, FTP e mais alguns protocolos.

● Permite o controle de acesso a páginas na Internet e a otimização do uso do link.

● Pode rodar em sistemas operacionais Windows e *NIX.

Page 5: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

5.20

O Squid

● A instalação do Squid no sistema Debian é feita através do uso do apt-get● # apt-get install squid

Page 6: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

6.20

Proxy Transparente

● O Proxy transparente é uma funcionalidade que pode ser utilizada no Squid quando não podemos configurar manualmente os computadores clientes.

● Ele permite que os clientes acessem a Internet através do proxy sem que a opção de servidor proxy esteja configurada no navegador

● Não é possível utilizarmos servidores transparentes para o protocolo HTTPS, nem autenticarmos os usuários. A segurança é feita pela liberação dos sites e pelo endereço IP do cliente.

Page 7: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

7.20

Lab 20: Proxy Transparente

● Para configurarmos o Squid como proxy transparente:● # vim /etc/squid/squid.conf

– http_port 3128 transparent– http_access allow all

● # /etc/init.d/squid restart● # iptables -t nat -A PREROUTING -i eth0 -p tcp

--dport 80 -j REDIRECT --to-port 3128● # tail -f /var/log/squid/access.log

Page 8: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

8.20

Permissão de Acesso a Sites

● No Squid, para bloquearmos ou liberarmos o acesso a um site ou a um conjunto de sites utilizamos as ACL's. Nelas podemos definir redes, usuários, sites, etc.

● Depois de definidas as ACL's, utilizamos o comando http_access dentro do arquivo de configuração do Squid para efetuarmos a liberação ou o bloqueio.

Page 9: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

9.20

Criando Listas de Bloqueio / Liberação

● É possível criarmos listas de bloqueio ou liberação, como sites de conteúdo não permitido.

● No arquivo /etc/squid/squid.conf seria adicionada a ACL abaixo● acl blacklist url_regex -i "/etc/squid/blacklist.txt"

● Adicionaríamos o bloqueio dos sites contidos nesta ACL.● http_access deny blacklist

Page 10: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

10.20

Criando Listas de Bloqueio / Liberação

● Também podemos liberar um site para uma máquina ou um conjunto de máquinas.

● No arquivo /etc/squid/squid.conf seria adicionada a ACL abaixo● acl localnet src 10.0.0.0/24

● A nossa regra de liberação, agora, ficaria assim:● http_access allow localnet

Page 11: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

11.20

Utilizando Autenticação

● Com o Squid é possível autenticarmos usuários utilizando bases diversas como SAMBA, Windows AD, e local.

Page 12: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

12.20

Lab 21: Proxy Autenticado● Para configuramos um Proxy Autenticado, primeiro

removemos a configuração transparente no arquivo squid.conf● http_port 3128

● Então criamos o arquivo de usuários● # touch /etc/squid/squid_passwd● root@debian:~# htpasswd /etc/squid/squid_passwd humberto● New password: ● Re-type new password: ● Adding password for user humberto

Page 13: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

13.20

Lab 21: Proxy Autenticado

● Agora vamos editar o arquivo squid.conf e adicionar as linhas de configuração.● # vim /etc/squid/squid.conf

– auth_param basic realm Squid– auth_param basic program /usr/lib/squid/ncsa_auth

/etc/squid/squid_passwd

– acl autenticados proxy_auth REQUIRED

– http_access allow autenticados localnet

Page 14: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

14.20

Lab 21: Proxy Autenticado

● Reiniciamos o serviço e acompanhamos o acesso.● # /etc/init.d/squid restart● # tail -f /var/log/squid/access.log

– 1341094975.729 0 10.0.0.2 TCP_DENIED/407 1610 GET http://www.globo.com/ - NONE/- text/html

– 1341094979.925 133 10.0.0.2 TCP_MISS/302 217 GET http://www.globo.com/ humberto DIRECT/186.192.82.163 -

Page 15: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

15.20

Autenticando com o SAMBA

● Para que possamos utilizar o SAMBA para autenticar nossos usuários, é necessário que o servidor esteja configurado como controlador de domínio (PDC)

● Precisamos, também, liberar a pasta NETLOGON, que está no compartilhamento do servidor e criar um arquivo chamado proxyauth neste diretório contendo a palavra “allow”.

Page 16: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

16.20

Autenticando com o SAMBA● Após configurado o servidor SAMBA podemos testar a

conectividade com o seguinte comando:● # /usr/lib/squid/smb_auth -W WORKGROUP -U 172.16.254.26 -d● humberto 123● Domain name: WORKGROUP● Pass-through authentication: no● Query address options: -U 172.16.254.26 -R● Domain controller IP address: 172.16.254.26● Domain controller NETBIOS name: DEBIAN● Contents of //DEBIAN/NETLOGON/proxyauth:

Page 17: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

17.20

Autenticando com o SAMBA

● Agora vamos configurar o squid.conf.● # vim /etc/squid/squid.conf

– auth_param basic program /usr/lib/squid/smb_auth -W WORKGROUP -U 127.0.0.1

– auth_param basic realm Proxy Squid– auth_param basic children 5– auth_param basic credentialsttl 1 minute

Page 18: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

18.20

Gerando Relatórios

● A geração de relatórios dos acessos efetuados através do Proxy é um dos pontos mais importentes. E a ferramenta mais utilizada para este fim é o SARG (http://sarg.sourceforge.net/).

● Após efetuado o download o arquivo de configuração pode ser encontrado em /etc/sarg/sarg.conf.

Page 19: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

19.20

Gerando Relatórios

● Para gerarmos relatórios com o SARG basta utilizarmos o comando abaixo:● # sarg -d 30/06/2012-30/06/2012

– SARG: Period covered by log files: 30/06/2012-30/06/2012

● Agora basta acessar a página dos relatórios através do endereço http://IP_servidor/sarg

Page 20: Proxy SQUID

2015 Humberto Caetano @FSAPós Graduação em Redes de Computadores

20.20

Lab 22: Proxy

● Configure um proxy autenticado com servidor SAMBA para uma empresa em que os usuários tem a permissão de acesso a sites restrita.

● Crie regras para os grupos Diretoria, Administrativo, TI e Geral.