Android

Como instalar e configurar o squid proxy no debian 10 linux

Linux Debian - Proxy (Squid) Tutorial

Linux Debian - Proxy (Squid) Tutorial

Índice:

Anonim

O Squid é um proxy de cache completo que suporta protocolos de rede populares como HTTP, HTTPS, FTP e muito mais. Ele pode ser usado 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.

Neste tutorial, explicaremos como configurar um Squid Proxy no Debian Buster. Também mostraremos como configurar os navegadores Firefox e Google Chrome para usá-lo.

Instalando o Squid no Debian

O pacote Squid está incluído no padrão nos repositórios Debian 10. Execute os seguintes comandos como usuário sudo para instalar o Squid:

sudo apt update sudo apt install squid

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

Verifique se a instalação foi bem-sucedida e o serviço Squid está sendo executado, verificando o status do serviço Squid:

sudo systemctl status squid

● squid.service - LSB: Squid HTTP Proxy version 3.x Loaded: loaded (/etc/init.d/squid; generated) Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago…

Configurando o Squid

O Squid pode ser configurado editando o arquivo de configuração /etc/squid/squid.conf . Arquivos de configuração separados podem ser incluídos usando a diretiva "incluir".

O arquivo de configuração squid.conf inclui comentários que descrevem o que cada opção de configuração faz.

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

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

Para modificar a configuração, abra o arquivo no seu editor de texto:

sudo nano /etc/squid/squid.conf

Por padrão, o Squid escuta na porta 3128 em todas as interfaces de rede.

/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.

As Listas de controle de acesso (ACLs) permitem controlar como os clientes podem acessar recursos da Web. 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, a opção mais simples é criar uma ACL que inclua os IPs permitidos.

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

/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 exemplo, configuraremos o Squid para usar autenticação básica. É um método simples de autenticação embutido no protocolo

Usaremos o utilitário openssl para gerar as senhas e anexar o username:password par de username:password ao arquivo /etc/squid/htpasswd com 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 "buster" com a senha " Sz$Zdg69 ":

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

buster:RrvgO7NxY86VM

A próxima etapa é habilitar a autenticação básica HTTP. 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

Os usuários do UFW podem abrir a porta 3128 ativando o perfil 'Squid':

sudo ufw allow 'Squid'

sudo nft add rule inet filter input tcp dport 3128 ct state new, established counter accept Se o Squid estiver sendo executado em outra porta não padrão, você precisará permitir o tráfego nessa porta.

Configurando o navegador para usar proxy

Nesta seção, mostramos bem como configurar seu navegador para usar o proxy Squid.

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 também vários plugins que 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

Nós cobrimos o básico de como instalar o Squid no Debian 10 e configurar o 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 debian