0% acharam este documento útil (0 voto)
41 visualizações28 páginas

Diagnósticos de Segurança com Squid Proxy

O documento descreve o que é um proxy e como o Squid funciona como um proxy. Ele explica que o Squid realiza três funções principais: cache de conteúdo, fornecimento de acesso à Internet para uma rede local e filtragem de conteúdo. O Squid usa listas de acesso e regras para controlar quais endereços IP e sites podem acessar a rede.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
41 visualizações28 páginas

Diagnósticos de Segurança com Squid Proxy

O documento descreve o que é um proxy e como o Squid funciona como um proxy. Ele explica que o Squid realiza três funções principais: cache de conteúdo, fornecimento de acesso à Internet para uma rede local e filtragem de conteúdo. O Squid usa listas de acesso e regras para controlar quais endereços IP e sites podem acessar a rede.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Diagnósticos e Testes de Segurança

Squid
Prof. Alex Dias

Instituto Federal do Triângulo Mineiro


Campus Uberlândia Centro
[Link]/uberlandiacentro

TRC - Diagnósticos e Testes de Segurança


SQUID

De onde vem o termo Squid?

Squid é um animal cefalópode (como uma lula, polvo) de dez


braços, encontrado nas costas marítimas.
No mundo tecnológico squid é um aplicativo utilizado como
proxy, filtro de conteúdos e cache de endereços. O squid
pode ser instalado tanto em Linux quanto no sistema
operacional Windows... Veremos mais adiante!

TRC - Diagnósticos e Testes de Segurança


20/11/2023
2
Proxy (introdução)

Proxy = Procuração

• Trata-se de um servidor (um sistema de computador ou uma aplicação) que age


como um intermediário para requisições de clientes solicitando recursos de
outros servidores.

• Em termos técnicos, servidor proxy é um software que tem uma “procuração”


de um ou mais hosts para buscar na internet uma informação solicitada.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
3
Proxy (introdução)

• Um servidor proxy funciona como servidor e também como cliente web.

• Vantagens
1. Diminui tempo de resposta
2. Reduz substancialmente o tráfego nos enlaces de acesso à Internet
3. Além disso, o Cache Web pode conectar uma rede inteira à internet...
4. ...e também proporcionar segurança a essa rede, uma vez que a Internet só “enxerga” ele.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
4
Proxy (introdução)

• O servidor proxy se encontra em uma posição estratégica, entre o cliente e o


servidor web, conectando redes distintas.

• Por conta dessa posição estratégica, ele pode receber funcionalidades de


segurança, fiscalizando cada pacote que entra e sai da rede interna.
TRC - Diagnósticos e Testes de Segurança
20/11/2023
5
Proxy (introdução)

O servidor proxy é responsável pela execução de 3 funções importantes:

1. Cache de conteúdos.

2. Prover conexão a internet para os computadores de uma rede local.

3. Filtro de conteúdos dos pacotes.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
6
1. Cache de conteúdos

• Sempre que há uma requisição de serviços (por exemplo, HTTP ou FTP), o servidor proxy
captura os dados que o destinatário disponibiliza ao cliente e os guarda em uma área local
(cache).

• Na próxima vez que o mesmo site for acessado, o navegador primeiro fará a procura no
servidor proxy.

• Se os dados forem encontrados neste servidor e o arquivo não estiver desatualizado, a


transferência de dados se dará entre ele e o cliente (navegador). Se o servidor proxy não
dispuser dos dados requisitados, o acesso será feito normalmente ao site de destino.

OBS: O acesso ao conteúdo disponível no cache, através da rede local, é muito mais rápido do que o acesso à
mesma informação disponível na internet.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
7
1. Cache de conteúdos

• Problema: E se o arquivo do Cache WEB estiver desatualizado?

• Solução: Mecanismo GET CONDICIONAL


• Linha de cabeçalho adicional: If-Modified-Since

TRC - Diagnósticos e Testes de Segurança


20/11/2023
8
2. Fornecer conexão a internet...

• Os usuários da rede local compartilham um único


acesso a internet provido pelo servidor proxy.

• Isto viabiliza a utilização de um número maior de


computadores dividindo a mesma infraestrutura
de acesso.

• Neste caso, o proxy funciona como um gateway


da rede, coordenando todos os redirecionamentos
e executando a substituição de um endereço que
não pode ser visualizado na internet por outro
que é chamado de endereço válido na internet.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
9
3. Filtro de conteúdos dos pacotes

• Devido a localização privilegiada do proxy, toda troca de informações entre o usuário (cliente) e o
servidor web (http) passam, obrigatoriamente, por ele.
• Neste caso, o administrador de rede pode configurar o proxy para controlar ou filtrar todo o
conteúdo das informações que entram ou saem pela rede, de acordo com os critérios estabelecidos
como política de segurança da empresa.
• Por exemplo, um empresário pode não querer que seus funcionários acessem sites de
relacionamento ou sites de conteúdo considerados não adequados ao ambiente de trabalho.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
10
Servidor Proxy - Squid

O squid trabalha, basicamente, com 2 conceitos importantes:

1. A criação de listas de acesso (acl’s – access lists);

2. A criação de regras (http_access) que executam ações com as listas criadas.

Esses parâmetros são configurados dentro do arquivo de configurações do squid


com o nome de [Link]

TRC - Diagnósticos e Testes de Segurança


20/11/2023
11
1. Access List (ACL)

• Uma lista de acesso é um arquivo que contém informações sobre o que o


administrador da rede quer que seja permitido ou proibido de ser acessado pela
rede.

• Por exemplo, a configuração do proxy pode prever que uma lista de usuários
tenham acesso a internet, porém uma lista de palavras deve ser verificada e não
ter o acesso permitido.

• A sintaxe de configuração de uma acl é mostrada abaixo:

acl nome_da_acl tipo_da_lista arquivo

TRC - Diagnósticos e Testes de Segurança


20/11/2023
12
1. Access List (sintaxe)

acl nome_da_acl tipo_da_lista arquivo


• acl : palavra reservada do squid para identificar o parâmetro de configuração de um access
list.

• nome_da_acl : toda acl possui um nome, o qual deve ser sugestivo para indicar do que se
trata o conteúdo da lista.

• tipo_da_lista : existem vários tipos de lista, vamos exemplificar apenas 2:


- src é o tipo usado para indicar que a lista contém endereços IP;
- url_regex é o tipo usado para indicar que a lista contém palavras.

• arquivo : nome e local do arquivo que irá conter a lista de endereços IP ou de palavras.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
13
2. Regras (http_access)

As regras são ações que devem ser executadas com as listas criadas. Duas ações são as mais
executadas pelo servidor proxy:
(1) permitir o acesso (allow)
(2) negar o acesso (deny)
A sintaxe é mostrada a seguir:
http_access ação nome_da_acl
• http_access: Palavra reservada para identificar o parâmetro de configuração de uma regra.

• ação:
- deny proibir o acesso de acordo com o conteúdo;
- allow permitir o acesso de acordo como o conteúdo.
• nome_da_acl : é o nome da acl criada anteriormente, sobre a qual será executada uma ação.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
14
Exemplo de configuração
• Imagine que o administrador deseje permitir o acesso a
internet para os usuários de uma rede representada pelo
endereço [Link]/24.

• Este mesmo administrador também deseja que as


palavras “bate-papo” e “facebook” tenham acesso
proibido. As configurações das acl’s e regras são
mostradas abaixo:

• acl ips_permitidos src rede_local


• acl palavras_proibidas url_regex palavras
• ...
• http_access deny palavras
• http_access allow rede_local

TRC - Diagnósticos e Testes de Segurança


20/11/2023
15
Exemplo de configuração

• Primeiramente será necessário criar o rede_local e inserir uma linha contendo o ip dos
computadores com acesso permitido a internet ([Link]/24).

• Em seguida será preciso criar o palavras contendo as palavras bate-papo e facebook.

• As acl’s podem ser criadas em qualquer ordem.

• Já as regras obedecem uma ordem de execução vertical, ou seja, se invertêssemos as


regras, qualquer usuário da rede teria acesso às palavras proibidas.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
16
Exemplo de configuração
• acl ips_permitidos src rede_local
• acl palavras_proibidas url_regex palavras
• ...
• http_access deny palavras
• http_access allow rede_local

• Do jeito que está, primeiro é verificado se o conteúdo que o usuário pretende acessar está dentro da lista
de palavras proibídas.

• Caso esteja, a tentativa de conexão é interrompida imediatamente, independente de ser um usuário que
tenha ou não acesso a internet.

• Caso o conteúdo não seja proibido, a regra seguinte será determinante para decidir se é ou não um
usuário que pertence a lista de usuários com acesso permitido.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
17
Hora da Prática

• Objetivo: Instalar e configurar o servidor Squid (Proxy), usando o Kali (ou Ubuntu),
para realizar as funções de compartilhamento de acesso, filtro de conteúdo de
pacotes e cache de página web acessadas pelos clientes de uma rede local. Como
cliente, utilize o Windows 7.

Importante: o Kali (ou Ubuntu) e o Windows 7 (cliente) devem estar dentro da mesma rede local!

TRC - Diagnósticos e Testes de Segurança


20/11/2023
18
Hora da Prática

• Objetivo: Instalar e configurar o servidor Squid (Proxy), usando o Kali (ou Ubuntu),
para realizar as funções de compartilhamento de acesso, filtro de conteúdo de
pacotes e cache de página web acessadas pelos clientes de uma rede local. Como
cliente, utilize o Windows 7.

Importante: o Kali (ou Ubuntu) e o Windows 7 (cliente) devem estar dentro da mesma rede local!

TRC - Diagnósticos e Testes de Segurança


20/11/2023
19
Hora da Prática
Antes da instalação do squid (Kali ou Ubuntu):

• Para ativar o roteamento entre as interfaces eth0 e eth1 do servidor proxy, deve ser atribuído o valor 1 ao
arquivo ip_forward. Tal atribuição pode ser feita através do comando:

echo "1" > /proc/sys/net/ipv4/ip_forward

• Finalmente, deve-se usar uma regra do Iptables que permita que os pacotes da rede interna sofram NAT.

iptables -t nat -A POSTROUTING -s [Link]/24 -o eth1 -j MASQUERADE

Importante: verifique se a interface eth0 é a que está conectada a rede local e a


eth1 está na rede NAT

TRC - Diagnósticos e Testes de Segurança


20/11/2023
20
Hora da Prática

• Instalando o Squid:
Para instalar o squid basta digitar:

apt-get install squid

o servidor proxy será instalado na pasta /etc/squid

TRC - Diagnósticos e Testes de Segurança


20/11/2023
21
Hora da Prática

• Configurando o Squid:
Abra o arquivo de configuração: nano /etc/squid/[Link]

Localize a linha onde está escrito: acl Safe_ports port 777 ...
Em seguida acrescente as ACLs como mostramos no exemplo

Dica: o texto explicativo antes da colocação das acls facilita encontrar essa
localização caso tenha que alterar alguma coisa no que foi feito.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
22
Hora da Prática

• Configurando o Squid:
Abra o arquivo de configuração: nano /etc/squid/conf.d/[Link]

Em seguida acrescente as linhas (http_access) como mostramos no exemplo

A regra http_access allow localhost foi acrescentada para permitir acesso a


internet a partir do próprio servidor proxy.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
23
Hora da Prática

Importante: as regras poderiam ter sido acrescentadas diretamente no mesmo


arquivo de configurações [Link]. Isso vai depender da versão instalada.

Observe que este é o local onde as regras devem há um include que aponta para o diretório /etc/squid/conf.d,
local onde serão verificadas todas as regras escritas, porém, na versão do squid instalada, serão verificadas todas
As regras escritas em arquivos com extensão .conf

TRC - Diagnósticos e Testes de Segurança


20/11/2023
24
Hora da Prática

• Criando as listas de acesso:


nano /etc/squid/rede_local

Escreva o ip e máscara da rede local e salve o arquivo


No nosso exemplo: [Link]/24

nano /etc/squid/palavras
Escreva as palavras que serão usadas para bloquear acesso aos sites que as contenham
em sua url, em seguida salve o arquivo
No nosso exemplo:
bate-papo
facebook
TRC - Diagnósticos e Testes de Segurança
20/11/2023
25
Hora da Prática

• Reiniciando o servidor squid


Finalmente ative o servidor proxy usando o comando:

/etc/init.d/squid restart

Caso ele já esteja ativo aparecerá uma mensagem de que o servidor já “está rodando”.

Importante: A cada alteração nos arquivos de configuração ou caso você queira, por
exemplo, alterar as palavras proibidas no arquivo “palavras”, será necessário reiniciar
o servidor, neste caso o comando squid -k reconfigure, é o mais indicado.

TRC - Diagnósticos e Testes de Segurança


20/11/2023
26
Hora da Prática

• Testando o acesso:
Abra o navegador no Windows 7 e altere as configurações de rede para acessar o
proxy (insira o endereço IP do servidor) na porta 3128.
Tente acessar uma url que contenha a palavra facebook ou bate-papo

TRC - Diagnósticos e Testes de Segurança


20/11/2023
27
Avaliação 2

1. A medida que for executando as tarefas, faça um roteiro explicativo (how-to) e acrescente as telas
com os resultados obtidos e comentários.
2. Crie regras no servidor proxy para permitir acesso para permitir acesso a todos os ips da rede local,
exceto um deles (a sua escolha)
3. Acrescente palavras para proibir acesso a sites através do tipo de lista url_regex
4. Acrescente regras para bloquear acesso a domínios completos, [Link]. [Link] (e não apenas
a palavra uol)
5. Acrescente regras para que a internet não fique disponível fora do horário comercial (seg a sex das
08h às 18h)
6. Acrescente uma regra para autenticação do usuário para acesso ao proxy
7. Utilize o aplicativo SARG para visualizar as informações do cache dos acessos realizados.

OBS:
• Avaliação realizada em duplas
• Entrega do relatório (how-to) e apresentação do funcionamento dos requisitos
acima no laboratório, são obrigatórios para avaliação

TRC - Diagnósticos e Testes de Segurança


20/11/2023
28

Você também pode gostar