Android

Como instalar e configurar o squid proxy no ubuntu 18.04

Ubuntu Server 18.04 - Install Squid Proxy Server

Ubuntu Server 18.04 - Install Squid Proxy Server

Índice:

Anonim

O Squid é um proxy de cache completo que suporta protocolos de rede populares como HTTP, HTTPS, FTP e muito mais. O Squid é usado principalmente para melhorar o desempenho do servidor da Web, armazenando em cache solicitações repetidas, filtrando o tráfego da Web e acessando conteúdo com restrição geográfica.

Este tutorial o guiará pelo processo de configuração de um Squid Proxy no Ubuntu 18.04 e de configuração dos navegadores Firefox e Google Chrome para usá-lo.

Instalando o Squid no Ubuntu

O pacote Squid está incluído nos repositórios padrão do Ubuntu 18.04. Para instalá-lo, digite os seguintes comandos como usuário sudo:

sudo apt update sudo apt install squid

Quando a instalação estiver concluída, o serviço Squid será iniciado automaticamente.

Para verificar se a instalação foi bem-sucedida e o serviço Squid está em execução, digite o seguinte comando que imprimirá o status do serviço:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Thu 2019-06-27 11:45:17 UTC…

Configurando o Squid

O Squid pode ser configurado editando o arquivo /etc/squid/squid.conf . Você também pode usar arquivos separados com opções de configuração que podem ser incluídas usando a diretiva "incluir".

O arquivo de configuração contém comentários que descrevem o que cada opção de configuração faz.

Antes de fazer alterações, é uma boa idéia fazer backup do arquivo de configuração original:

sudo cp /etc/squid/squid.conf{,.orginal}

Para editar o arquivo, abra-o no seu editor de texto:

sudo nano /etc/squid/squid.conf

Por padrão, o Squid está configurado para escutar na porta 3128 em todas as interfaces de rede no servidor.

/etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Rodar o Squid em todas as interfaces e na porta padrão deve ser bom para a maioria dos usuários.

No Squid, você pode controlar como os clientes podem acessar os recursos da web usando as Listas de controle de acesso (ACLs).

Por padrão, o Squid permite acesso apenas a partir do host local.

Se todos os clientes que usarão o proxy tiverem um endereço IP estático, você poderá criar uma ACL que incluirá os IPs permitidos.

Em vez de adicionar os endereços IP no arquivo de configuração principal, criaremos um novo arquivo dedicado que conterá os IPs:

/etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Depois de aberto, abra o arquivo de configuração principal e crie uma nova ACL denominada allowed_ips (primeira linha destacada) e permita o acesso a essa ACL usando a diretiva http_access (segunda linha destacada):

/etc/squid/squid.conf

#… acl allowed_ips src "/etc/squid/allowed_ips.txt" #… #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

A ordem das regras http_access é importante. Certifique-se de adicionar a linha antes que o http_access deny all .

A diretiva http_access funciona de maneira semelhante às regras do firewall. O Squid lê as regras de cima para baixo e, quando uma regra corresponde às regras abaixo, não são processadas.

Sempre que você faz alterações no arquivo de configuração, é necessário reiniciar o serviço Squid para que as alterações entrem em vigor:

sudo systemctl restart squid

Autenticação Squid

O Squid pode usar diferentes back-ends, incluindo autenticação básica Samba, LDAP e HTTP para usuários autenticados.

Neste tutorial, configuraremos o Squid para usar a autenticação básica. É um método simples de autenticação embutido no protocolo

Usaremos o openssl para gerar as senhas e anexar o username:password pair ao arquivo /etc/squid/htpasswd usando o comando tee como mostrado abaixo:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Vamos criar um usuário chamado "josh" com a senha " Sz$Zdg69 ":

printf "josh:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd

josh:RrvgO7NxY86VM

Agora que o usuário foi criado, a próxima etapa é ativar a autenticação básica HTTP e incluir o arquivo htpasswd .

Abra a configuração principal e adicione o seguinte:

/etc/squid/squid.conf

#… auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED #… #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

As três primeiras linhas destacadas estão criando uma nova ACL denominada authenticated e a última linha destacada está permitindo o acesso a usuários autenticados.

Reinicie o serviço Squid:

sudo systemctl restart squid

Configurando firewall

Supondo que você esteja usando o UFW para gerenciar seu firewall, será necessário abrir a porta Squid do teg. Para isso, habilite o perfil 'Squid', que inclui regras para as portas Squid padrão.

sudo ufw allow 'Squid'

Para verificar o tipo de status:

sudo ufw status

A saída será semelhante à seguinte:

Status: active To Action From -- ------ ---- 22/tcp ALLOW Anywhere Squid ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) Squid (v6) ALLOW Anywhere (v6) Se o Squid estiver sendo executado em outra porta não padrão, por exemplo, 8888 , você poderá permitir o tráfego nessa porta com: sudo ufw allow 8888/tcp .

Configurando o navegador para usar proxy

Agora que você configurou o Squid, o último passo é configurar o seu navegador preferido para usá-lo.

Raposa de fogo

As etapas abaixo são as mesmas para Windows, macOS e Linux.

  1. No canto superior direito, clique no ícone de hambúrguer para abrir o menu do Firefox:

    Clique no link ⚙ Preferences .

    Role para baixo até a seção Network Settings e clique no botão Settings…

    Uma nova janela se abrirá.

    • Selecione o botão de opção Manual proxy configuration Digite o endereço IP do servidor Squid no campo HTTP Host e 3128 no campo Port Marque a caixa de seleção Use this proxy server for all protocols Clique no botão OK para salvar as configurações.

Neste ponto, seu Firefox está configurado e você pode navegar na Internet através do proxy Squid. Para verificar, abra google.com , digite "what is my ip" e você verá o endereço IP do servidor Squid.

Para voltar às configurações padrão, vá para Network Settings , selecione o botão de opção Use system proxy settings e salve as configurações.

Existem vários plugins que também podem ajudá-lo a definir as configurações de proxy do Firefox, como o FoxyProxy.

Google Chrome

O Google Chrome usa as configurações padrão de proxy do sistema. Em vez de alterar as configurações de proxy do sistema operacional, você pode usar um complemento como o SwitchyOmega ou iniciar o navegador Chrome na linha de comando.

Para iniciar o Chrome usando um novo perfil e conectar-se ao servidor Squid, use o seguinte comando:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Mac OS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Janelas:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

O perfil será criado automaticamente se ele não existir. Dessa forma, você pode executar várias instâncias do Chrome ao mesmo tempo.

Para confirmar se o servidor proxy está funcionando corretamente, abra google.com e digite "what is my ip". O IP mostrado no seu navegador deve ser o endereço IP do seu servidor.

Conclusão

Você aprendeu como instalar o Squid no Ubuntu 18.04 e configurar seu navegador para usá-lo.

O Squid é um dos servidores de cache proxy mais populares. Ele melhora a velocidade do servidor da Web e pode ajudá-lo a ter acesso restrito do usuário à Internet.

proxy ubuntu