Você está na página 1de 43

Proxy SQUID

Nesta aula inicialmente utilizaremos as seguintes máquinas de nosso


laboratório:

- Gateway.

- Intranet e Datacenter.

- Cliente Interno
Proxy SQUID
Um servidor proxy atua como um filtro para WEB. Em servidores que
façam acesso a internet, provê, eles funcionam como um cache de
conteúdo, bloqueando sites e autenticador de acesso.

O principal servidor para cache proxy para Linux é o SQUID.

A instalação deste serviço é muito simples e está disponível para todas as


versões de Linux.

Sua instalação pode ser efetuada de forma automatizada com os


comando de instalação de pacote ou a partir de seu código fonte.
Proxy SQUID
Proxy SQUID
A configuração do proxy de cache como já falamos é muito simples. Basta
editar o seu arquivo de configuração, squid.conf.

Seguem abaixo algumas opções importantes para o funcionamento inicial


do squid:

- http_port – Define a porta utilizada pelo squid.


- Cache_mgr – O email do administrador do squid.
- Cache_effective_use – O usuário sob o qual o daemon squid será
executado.
- Cache_effective_group – O grupo sob o qual o daemon squid será
executado.
Proxy SQUID
A ACL (Acces Control List) é a definição de uma regra de acesso. É
responsável pelas permissões e limitações impostas aos usuários.

As acl´s são definidas no arquivo squid.conf. Como podemos ver nos


exemplos abaixo:

acl lan src 192.168.1.0/24 – Acl definida com o nome lan e se refere a
todas a requisições para a rede.
http_access allow lan – Realiza a liberação da acl.

*Diversas outras liberações pode ser realizadas, como por exemplo


autorizar apenas os usuários identificados por login e senha, a partir de
uma base LDAP.
Proxy SQUID
Vamos logar como root diretamente na máquina Gateway:

Atualizar os repositórios
# yum check-update

Realizar a atualização dos pacotes


# yum update

Após realizar a instalação das atualizações é importante


realizar a reinicialização do sistema.
Proxy SQUID
Para realizar a instalação do Squid é necessário executar o seguinte
comando:
# yum install squid

Entrar no diretório raiz do serviço


# cd /etc/squid

Acessar o arquivo de configuração para configurarmos o serviço


# vim squid.conf
Proxy SQUID
No arquivo de configuração podemos criar acl´s de vários
tipo:
• src
• dst
• dstdomain
• time
• urlpath_regex
• url_regex
• proto
• proxy_auth
• arp
• maxconn
• port
*Elas seguirão a seguinte estrutura: acl nome_da_acl tipo
(nome/dominio/ip/regex/port)
Proxy SQUID
Vamos voltar para nosso arquivo de configuração do squid:
# vim /etc/squid.conf

Vamos verificar as configurações existentes no arquivo e atentar


para as entradas http_access
Por questões de segurança vamos alterar a
linha 59 do arquivo (http_port 3128)
Proxy SQUID
Realizar a seguintes configurações
Proxy SQUID
Vamos salvar o arquivo e realizar a verificação de status do serviço
# systemctl status squid

Com o serviço parado devemos criar a estrutura de cache configurada


# squid -z

Iniciar o serviço squid


# systemctl start squid

Verificar status do serviço para saber se existe algum erro


# systemctl status squid
Proxy SQUID
Neste momento não existe nenhuma regra / política em nosso serviço
squid. São necessárias algumas configurações para que possamos
visualizar algumas restrições.

Antes de efetuarmos as modificações no arquivo squid.conf vamos


realizar a liberação do proxy squid em nosso firewall
Acessar arquivo de configuração do firewall
# vim /sbin/firewall.sh

Modificar a linha 117 do arquivo de firewall , Regra 7 da INPUT


Proxy SQUID
Fazer a modificação nas seguintes linhas

Slavar o arquivo e executar o comando de carregamento das regras


do firewall
# firewall.sh

Realizar teste de acesso a internet pelo node interno


# Não será possível navegar pela internet
Configurar o proxy no Firefox, 192.168.1.1 na porta 3128
# O acesso será permitido. Já estamos acessando a internet pelo squid.
Proxy SQUID

Para comprovarmos o funcionamento do proxy vamos acessar o log


do squid
# tail –f /var/log/squid/access.log

Vamos verificar também o log de cache


# tail –f /var/log/squid/cache.log
Proxy SQUID
Nosso proxy ainda não possui regras de acesso, neste momento
vamos configurá-las
# vim /etc/squid/squid.conf
Realizar as alterações na linha 51 e vamos criar uma regra para liberar
o acesso ao site 4chan.org

Vamos salvar o arquivo e sair e na sequência realizamos o sequinte


comando
# systemctl restart squid
Proxy SQUID
Realizaremos o teste de acesso ao site
# Devemos ter sucesso no acesso

Agora iremos bloquear o acesso no arquivo de configuração

Após a alteração será necessário reiniciar o serviço


# systemctl restart squid
Realizar novamente o acesso ao site
# Não será possível acessar
Proxy SQUID
Para seguirmos com a aula iremos retirar as configurações de
bloqueio do site 4chan e reiniciar o serviço do squid.
# systemctl restart squid

Nesta etapa realizaremos a configuração de nossa base LDAP e para


isso vamos nos conectar no node datacenter
# ssh –p 52020 datacenter

Vamos a root
# su -
Verificar se o slapd está rodando
# systemctl status slapd
Proxy SQUID
Instalaremos o pacote migrationtools para nos ajudar a popular a
base LDAP
# apt-get install migrationtools

Verificar os usuários existentes em nosso servidor


# getent passwd

Acessar o diretório
# cd /usr/share/migrationtools

Abrir o arquivo migration_common.ph


# vim migration_common.h
Proxy SQUID
Modificar o conteúdo da linha 71 e 74 , DEFAULT_MAIL_DOMAIN,
DEFAULT_BASE

Modificaremos também a linha 96 e 97

Modificar a linha 41
Proxy SQUID

Sair e salvar

Executar o arquivo migrate_common.pl


# ./migration_common.pl /etc/passwd /etc/ldap/users.ldif

Verificar se as informações foram criadas no seguinte caminho


# cat /etc/ldap/users.ldif

Abrir o arquivo migration_group.ph


# vim migration_group.h
Proxy SQUID

Modificar a linha 39

Sair / salvar e executar


# ./migration_group.pl /etc/group /etc/ldap/groups.ldif

Agora vamos migrar a base e para isso vamos acessar o arquivo


migrate_base.pl
# vim migrate_base.pl
Vamos alterar a seguinte linha
Proxy SQUID

Sair e salvar
Executar o arquivo migrate_base.pl
# ./migration_base.pl > /etc/ldap/base.ldif
Acessar a pasta do LDAP
# cd /etc/ldap
Abrir o arquivo base.ldif
# vim base.ldif
Proxy SQUID

Vamos executar uma limpeza neste aquivo e deixa-lo neste formato


Proxy SQUID

Neste momento vamos começar a tratar da inserção dos dados


# ldapadd –x –D cn=admin,dc=asf,dc=com –f base.ldif -W

Será solicitada a senha do ldap


# LinuxForce01

Executar o comando de verificação da base e verificar informações


# slapcat

Inserir a informação dos usuários


# ldapadd –x –D cn=admin,dc=asf,dc=com –f users.ldif -W
Proxy SQUID

Iremos realizar a customização do LDAP pata facilitar as nossas buscas


Vim /etc/ldap/ldap.conf
Proxy SQUID

Acessar o arquivo hosts e colocar uma entrada para que o servidor


ache o endereço configurado anteriormente
# 192.168.1.20 ldap.asf.com ldap

Vamos realizar um teste de consulta a nossa base LDAP


# ldapsearch –x –b dc=asf,dc=com uid=analista loginShell -LLL
Uma coisa interessante a ser feita neste momento em que a base esta
populada é realizarmos um backup de toda a base
# systemctl stop slapd
# slapcat –l /root/backup_ldap.ldif
Proxy SQUID

Executaremos um teste de disater recovery de nossa base ldap


# systemctl start slapd
Deletar a base de dados
# ldapdelete –x –D cn=admin,dc=asf,dc=com –r dc=asf,dc=com

Para verificarmos que a base nçao existe mais executamos o comando


abaixo
# slapcat
Proxy SQUID

Iniciaremos o processo de recuperação de nossa base


# systemctl stop slapd
Para inserirmos as informações do backup em nossa base
# slapadd –cl /root/backup_ldap.ldif

Reinicar o serviço slapd


# systemctl start slapd

Para verificar se a base foi recuperada executamos o camando


# slapcat
Proxy SQUID
Vamos criar o arquivo modifyShell.ldif, com este arquivo nos vamos
alterar atributos dentro de nossa base LDAP.

Iremos agora executar o comando abaixo para verificarmos os


atributos do usuário
# ldapsearch –x –b dc=asf,dc=com uid=lloyd.chung -LLL
Devemos nos atentar para o conteúdo do atributo loginShell
Proxy SQUID

Para realizarmos a alteração de acordo com o arquivo que criamos


devemos executar o seguinte comando
# ldapmodify –x –D cn=admin,dc=asf,dc=com –f modifyShell.ldif -W

Executaremos o comando de consulta ao usuário para verificar o


sucesso na modificação
# ldapsearch –x –b dc=asf,dc=com uid=lloyd.chung -LLL
Devemos nos atentar para o conteúdo do atributo loginShell
Proxy SQUID
Vamos consultar quais são as bibliotecas de autenticação existentes
para uso no squid
# ls /usr/lib64/squid/
A partir deste momento vamos realizar as configurações necessárias
em nosso squid para autenticação de usuários
# vim /etc/squid/squid.conf
Devemos realizar a seguinte configuração
Proxy SQUID
Continuando a configuração do arquivo squid.conf

Vamos sair e salvar o arquivo e rodar o comando abaixo para verificar


se existe algum erro de configuração no arquivo squid.conf
# squid –k parse

Reiniciar o serviço do squid e verificar o seu status


# systemctl restart squid
# systemctl status squid
Proxy SQUID

Testar o acesso a internet pelo node cliente interno


# Deverá ser solicitado usuário e senha para acesso a internet
Podemos verificar que ele não conseguirá realizar a autenticação, pois
devemos liberar o acesso ao servidor LDAP no firewall
# vim /sbin/firewall.sh

Descomentar a linha 156 Regra 7 da chain OUTPUT


Proxy SQUID

Vamos testar novamente o acesso a internet pelo node cliente interno


# Após a autenticação devemos conseguir navegar
Para visualizarmos o sucesso de nosso acesso vamos acessar o log do
squid com o comando abaixo
# tail –f /var/log/squid/access.log
Como teste tentaremos realizar um acesso a um site sem nos
autenticarmos
# Não poderemos conseguir acessar a nenhum site, será solicitada a
senha em todas as tentativas
Proxy SQUID

Neste momento realizaremos a configuração do squidGuard para a


implementação de segurança automatizada de bloqueios de site
Verificar lista de repositórios instalados
# yum repolist
Se não existir o repositório epel, devemos realizar sua instalação
# yum install epel-release
Após sua instalação exexutar o comando de verificação de
repositórios
# yum check-update
Proxy SQUID

Executar a instalação do pacote squidGuard


# yum install squidGuard
Devemos indicar ao squid a utilização do suidGuard
# vim /etc/squid/squid.conf
# adicionar a linha conforme indicado na figura abaixo

Fazer backup do arquivo squidGuard.conf


# mv squidGuard.conf squidGuard.conf.orig
Proxy SQUID
Baixar os pacotes de blacklist do site do squidGuard
# wget –c https://squidguard.mesd.k12.or.us/blacklists.tgz
Acessar o arquivo /etc/squid/squidGuard.conf
Proxy SQUID

Criar a estrutura de pastas que o squidGuard usuará


# mkdir /var/lib/squidGuard/db
Descompactar conteúdo do arquivo baixo na pasta criada
# tar xvf blacklists.tgz –C /var/lib/squidGuard/db/
Executar comando do squidGuard para aceitar arquivos de
confgiuração
# squidGuard –d –C all
Reiniciar o squid e verificar seu status
# systemctl restart squid
# systemctl status squid
Proxy SQUID

Vamos testar as configurações realizadas e tentar um acesso a um site


de conteúdo adulto
# Acessar por exemplo o site xvideos.com
Neste momento já possuímos total controle dos acessos a internet da
asf.com. Qualquer configuração personalizada de acesso deve ser
configurada no arquivo suidGuard.conf de acordo com a necessidade
de cada empresa.

Você também pode gostar