Firefox [Link]
TEXTO-BASE
Tutorial: Web cache squid
Nota: Antes de começar, você deve fazer o download de uma distribuição Linux Ubuntu/Debian. Caso
tenha apenas Windows instalado em seu computador/notebook, você pode fazer uso de um virtualizador e
configurá-lo para instalar a distribuição Linux. Dentre os virtualizadores, você pode utilizar o VirtualBox, por
ser de fácil entendimento e configuração. Procure no Youtube por tutoriais de como instalar e configurar o
VirtualBox no Windows ou Linux e como instanciar uma máquina virtual Linux dentro do VirtualBox.
Caso tenha dois computadores em sua rede com Linux e Windows, não será necessário fazer uso da
virtualização.
Prezado aluno,
procure seguir adequadamente o material disponibilizado a seguir para que tenha sucesso ao final das
configurações.
Faça bom proveito e espero que aprenda bastante!
O pacote squid é um proxy Internet com uma cache integrada. A vantagem de uma cache Internet é a de
guardar localmente dados pedidos anteriormente para, numa utilização futura, serem servidos localmente,
evitando acessos repetidos a servidores distantes.
1. Instalação
#apt-get install squid
2. Configuração
A configuração do squid é guardada no arquivo “/etc/squid/[Link]”. O squid aceita ligações na porta 3128,
por omissão. No entanto, esta pode ser alterada (a porta 8080 também é muito utilizada com porta para o
serviço de cache Internet):
#nano /etc/squid/[Link]
1 of 11 22/05/2023, 00:17
Firefox [Link]
1 #[...]
3 # Squid normally listens to port 3128
4 http_port 3128
6 #[...]
Por segurança o squid só responderá a pedidos originados na rede local ou no próprio servidor. Esta restrição é
conseguida definindo uma lista de controle de acesso ou ACL (Access Control List) (acl [Link] src
[Link]/24) e autorizando o acesso apenas aos sistemas incluídos nessa lista (http_access allow
[Link]):
Definição da lista de endereços da rede interna na secção acl:
#nano /etc/squid/[Link]
2 of 11 22/05/2023, 00:17
Firefox [Link]
1 # [...]
3 # TAG: acl
4 # Defining an Access List
6 # [...]
8 #Default:
9 # ACLs all, manager, localhost, and to_localhost are predefined.
10 #
11 #
12 # Recommended minimum configuration:
13 #
14
15 # Example rule allowing access from your local networks.
15 # Adapt to list your (internal) IP networks from where browsing
16 # should be allowed
17 #acl localnet src [Link]/8 # RFC1918 possible internal network
18 #acl localnet src [Link]/12 # RFC1918 possible internal network
19 #acl localnet src [Link]/16 # RFC1918 possible internal network
20 #acl localnet src fc00::/7 # RFC 4193 local private network range
21 #acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
22
23 acl [Link] src [Link]/24
24
25 # [...]
3 of 11 22/05/2023, 00:17
Firefox [Link]
Definição das permissões de acesso na secção http_access:
#nano /etc/squid/[Link]
1 # [...]
3 #
4 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM
YOUR CLIENTS
5
#
6
7
# Example rule allowing access from your local networks.
8
# Adapt localnet in the ACL section to list your (internal) IP networks
9
# from where browsing should be allowed
10
#http_access allow localnet
11
4 of 11 22/05/2023, 00:17
Firefox [Link]
12 http_access allow localhost
13
14 http_access allow [Link]
15
16 # And finally deny all other access to this proxy
17 http_access deny all
18
# [...]
O tamanho total da cache do squid pode ser afinado para um valor conveniente, como por exemplo, 2048Mb:
#nano /etc/squid/[Link]
1 # [...]
3 # Uncomment and adjust the following to add a disk cache directory.
5 of 11 22/05/2023, 00:17
Firefox [Link]
4 #cache_dir ufs /var/spool/squid 100 16 256
5 cache_dir ufs /var/spool/squid 2048 16 256
7 # [...]
A identificação do servidor proxy pode também ser definida:
#nano /etc/squid/[Link]
1 # [...]
3 # TAG: visible_hostname
4 # If you want to present a special hostname in error messages, etc,
5 # define this. Otherwise, the return value of gethostname()
6 # will be used. If you have multiple caches in a cluster and
7 # get errors about IP-forwarding you must set them to have individual
6 of 11 22/05/2023, 00:17
Firefox [Link]
8 # names with this setting.
9 #Default:
10 # Automatically detect the system host name
11 visible_hostname [Link]
12
13 # [...]
Opcionalmente, pode-se também configurar o tamanho máximo de um objeto a guardar em cache definindo o
parâmetro maximum_object_size:
#nano /etc/squid/[Link]
1 # [...]
3 # TAG: maximum_object_size (bytes)
4 # Objects larger than this size will NOT be saved on disk. The
7 of 11 22/05/2023, 00:17
Firefox [Link]
5 # value is specified in kilobytes, and the default is 4MB. If
6 # you wish to get a high BYTES hit ratio, you should probably
7 # increase this (one 32 MB object hit counts for 3200 10KB
8 # hits). If you wish to increase speed more than your want to
9 # save bandwidth you should leave this low.
10 #
11 # NOTE: if using the LFUDA replacement policy you should increase
12 # this value to maximize the byte hit rate improvement of LFUDA!
13 # See replacement_policy below for a discussion of this policy.
14 #Default:
15 # maximum_object_size 4 MB
16 maximum_object_size 16 MB
17
18 # [...]
8 of 11 22/05/2023, 00:17
Firefox [Link]
Como segurança adicional, é possível também instruir o squid para não divulgar a sua versão:
#nano /etc/squid/[Link]
1 # [...]
3 # TAG: httpd_suppress_version_string on|off
4 # Suppress Squid version string info in HTTP headers and HTML error pages.
5 #Default:
6 # httpd_suppress_version_string off
7 httpd_suppress_version_string on
9 # [...]
O arquivo de configuração pode ser testado:
#squid -k parse
9 of 11 22/05/2023, 00:17
Firefox [Link]
É mostrado um resumo da configuração. Se não houverem erros, é necessário reiniciar o serviço squid:
#systemctl restart squid
10 of 11 22/05/2023, 00:17
Firefox [Link]
Configuração de clientes
3. Navegadores Web
É possível configurar o browser Firefox para utilizar um proxy, acessando ao menu Ferramentas –> Opções…
–> Avançadas –> Rede –> Definições…, ativar a opção Configuração manual do proxy e inserir o endereço do
servidor proxy ([Link]) e a porta (3128). Podem-se definir exceções para o próprio posto ([Link]) e para a
rede local ([Link]/24):
Em Sistemas Linux
No caso de sistemas Linux, é possível declarar a variável http_proxy com a URL do proxy a utilizar:
#export http_proxy=[Link]
No entanto, na próxima sessão terá que ser declarada novamente. Um método mais duradouro é declarar a
variável automaticamente a cada login, incluindo a declaração no arquivo ~/.profile do utilizador:
# echo 'http_proxy="[Link] >> ~/.profile
A declaração pode ainda ser feita de modo automático e para todos os utilizadores, se incluída no arquivo de
sistema “/etc/profiles”:
#echo 'http_proxy="[Link] >> /etc/profile
O mesmo princípio é aplicável para a variável ftp_proxy que define o proxy a utilizar nas ligações FTP ou para a
variável https_proxy para as ligações seguras.
11 of 11 22/05/2023, 00:17