Powered By Blogger

Translate

quinta-feira, 31 de agosto de 2017

SQUID - SERVIDOR PROXY CACHE DEBIAN 8.4


Squid  é um servidor proxy de cache para WEB que suporta os protocolos HTTP, HTTPS, FTP entre outros, reduz a largura de banda e melhora os tempos de resposta ao colocar em cache e reutilizar as páginas da Web frequentemente solicitadas. Possui extensos controles de acessos a internet.


Pacotes Necessários.
  • SQUID3
INSTALAÇÃO

# apt-get install squid3


Apos a Instalação do Squid, vamos efetuar um backup do arquivo de configuração squid.conf , o squid.conf esta localizado no diretorio /etc/squid3.

root@squid3:/etc/squid3# cp squid.conf squid.conf.dist
Apos o backup crie um novo arquivo com o nome squid.conf


root@squid3:/etc/squid3# touch squid.conf

Edite o arquivo com o comando abaixo 

root@squid3:/etc/squid3# vi squid.conf

 Cole as linhas abaixo no arquivo de configuração do Squid.


#       WELCOME TO SQUID 3.4.8
#       ----------------------------
# should be allowed

error_directory /usr/share/squid-langpack/pt-br/
acl localnet src 172.16.100.0/24

# ACL Portas
acl SSL_ports port 443 563 448
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 563 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 81 # tcp host to host
acl Safe_ports port 82 # estapar
acl Safe_ports port 7071 # Zimbra
acl Safe_ports port 403
acl safe_ports port 448
acl CONNECT method CONNECT

acl sites_sem_proxy dstdomain "/etc/squid3/sites.ssl"
always_direct allow sites_sem_proxy

acl nocache url_regex -i "/etc/squid3/nocache"
acl sitesliberados dstdom_regex -i "/etc/squid3/sites.allow"
acl ipsfull src "/etc/squid3/ips.allow"
acl palavraspermitidas url_regex -i "/etc/squid3/palavras.allow"
acl skype_domain dstdom_regex skype.com
acl sitesbloqueados dstdom_regex -i "/etc/squid3/sites.deny"
acl palavrasbloqueadas url_regex -i "/etc/squid3/palavras.deny"
acl downloadsblock urlpath_regex -i "/etc/squid3/downloads.deny"
acl mailblocks url_regex -i "/etc/squid3/mail.deny
acl ipsblock src "/etc/squid3/ips.deny"

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow nocache
http_access allow skype_domain
http_access allow sitesliberados
http_access allow ipsfull
http_access allow palavraspermitidas
http_access deny sitesbloqueados
http_access deny palavrasbloqueadas
http_access deny downloadsblock
http_access deny ipsblock
http_access deny mailblocks
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all
#http_access allow localnet

http_port 3128

cache_mem 1724 MB
cache_swap_low 90
cache_swap_high 95

cache_dir diskd /var/spool/squid3 20480 64 256 Q1=64 Q2=72

coredump_dir /var/spool/squid3

maximum_object_size 16384 kb
maximum_object_size_in_memory 128 kb

# Tempo de vida para resultado bem sucedidos de resolução DNS
positive_dns_ttl 5 minutes
# Ganho de performance
pipeline_prefetch on

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320


cache_mgr suporte@suporte.com.br # INFORME AQUI O SEU E-MAIL



dns_nameservers 8.8.8.8
dns_nameservers 8.8.4.4


Crie os arquivos abaixo no diretorio /etc/squid3  


ips.allow
ips.deny
nocache
palavras.allow
palavras.deny
sites.allow
sites.deny
downloads.deny
mail.deny
skype_domain

Obs: ao inserir algum site, ip etc.. utilize o comando abaixo para recarregar as regras no SQUID

# squid3 -k reconfigure


ESTRUTURA DOS AQUIVOS

IPS.ALLOW esse arquivo armazena os IPS que terão acesso Full a Internet sem nenhum bloqueio.

Edite o arquivo ips.allow e informe os Ips que terão acesso Total a Internet

# vi ips.allow

172.16.100.96/32  
172.16.100.145/32
172.16.100.95/32

IPS.DENY esse arquivo armazena os IPS que não terão acesso a Internet

Edite o arquivo ips.deny e informe os IPS que não terão acesso a Internet

# vi ips.deny

172.16.100.64/32                        # exemplo 
                                                    # se não for informar nenhum IP informe pelo menos
                                                    # um  e coloque um # comentário para não dar erro quando inciar o                                                       #squid 


NOCACHE esse arquivo armazena os sites para o Squid não armazenar em Cache, utilizado para sites de Bancos

Edite o arquivo nocache e informe os sites de bancos  

# vi nocache

.itau.com.br
.bradesco.com.br
.santander.com.br
.bb.com.br


PALAVRAS.ALLOW esse arquivo armazenas as palavras a serem liberadas, exemplo se informar a palavra puta no arquivo palavras.deny para ser bloqueada, todas as palavras relacionadas a este assunto serão bloqueadas ate mesmo a palavra computador, por isso que informei a palavra computador no arquivo abaixo, para o squid liberar o acesso

Edite o arquivo palavras.allow e informe as palavras as serem liberadas

# vi palavras.allow

computador    


PALAVRAS.DENY esse arquivo armazena as palavras a serem bloqueadas


Edito o arquivo palavras.deny e informe as palavras a serem bloqueadas.

# vi  palavras.deny

jogos
jogo
game
games
torrent


SITES.ALLOW esse arquivo armazena os sites para serem liberados caso haja algum bloqueio pelo Squid.  


Edito o arquivo sites.allow e informe os sites.

# vi sites.allow

.gnre.pe.gov.br


SITES.DENY esse arquivo armazena os sites para serem bloqueados, 

# vi sites.deny

.uol.com.br
.facebook.com
.4shared.com
.rocklaser.com.br
.uzgames.com.br
.unblocker.biz
 unipeak.com
 kproxy.com
.proxy420.com
.proxyweb.net
.webproxy.kaxy



DOWNLOADS.DENY - esse arquivo armazena as extensões que serão bloqueadas edite o arquivo downloads.deny e isira o que vai ser bloqueado

 #downloads proibidos
\.msi(\?.*)?$
\.msu(\?.*)?$
\.torrent(\?.*)?$
\.mp3(\?.*)?$
\.bat(\?.*)?$
\.zip(\?.*)?$
\.exe(\?.*)?$
\.iso(\?.*)?$
\.bat(\?.*)?$
\.zip(\?.*)?$
\.rar(\?.*)?$
\.iso(\?.*)?$
\.torrent(\?.*)?$
\.wcry(\?.*)?$


MAIL.DENY - Esse arquivo armazena os e-mails a serem bloqueados, edite o arquivo mail.deny e informe os endereços que vão ser bloqueados.

.hotmail.com
.live.com
.mail.yahoo.com.br
.email.bol.com.br
.email.r7.com
.zipmail.uol.com.br


SKYPE_DOMAIN - Esse arquivo armazena os ips que terão acesso ao SKYPE edite o arquivo skype_domain e informe o IP

172.16.100.223/32

FIREWALL

Vamos criar o arquivo abaixo para direcionar a saida da porta 80 para a porta do squid 3128

Crie o arquivo firewall.sh no diretorio /etc/init.d/

# touch  firewall.sh

# Firewall
#!/bin/sh
iptables -t nat -A PREROUTING -i eth0 -s 172.16.100.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -s 172.16.100.0/24 -p tcp --dport 443 -j REDIRECT --to-port 31443


salve o arquivo e mude a permissão desse arquivo para executável com o comando abaixo

/etc/init.d/# chmod 777 firewall.sh

Execute o script com o comando abaixo.

.# /firewall.sh


Criando o cache do SQUID

Execute o comando abaixo para criar os diretorios para armazenamento do cache

# squid3 -z

2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/01
2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/02
2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/03
2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/04
2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/05
2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/06
2017/05/09 17:27:34 kid1| Making directories in /var/spool/squid3/07
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/08
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/09
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/0A
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/0B
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/0C
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/0D
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/0E
2017/05/09 17:27:35 kid1| Making directories in /var/spool/squid3/0F

Apos criar o Cache inicie o serviço do Squid

#/etc/init.d/squid3 start


Diretorio onde a Pagina do Squid é armazenada 

/usr/share/squid-langpack/pt-br/








PERSONALIZANDO O LOGO NO SQUID3

Com seu editor favorito, edite o arquivo "/etc/squid3/errorpage.css". 

 vim errorpage.css 

Encontre no arquivo a tag #titles, troque o endereço pelo de sua imagem. 

#titles { margin-left: 15px; padding: 10px; padding-left: 100px; background: url(‘http://192.168.0.1/img.jpg’) no-repeat left; }