Irei descrever neste artigo como fazer a instalação de um servidor proxy
Squid para controle de acesso à internet em um servidor
CentOS. Neste artigo iremos fazer a instalação compilada, existem muitos artigos na internet que ensinam a fazer a instalação e configuração através de repositórios, o problema neste caso é que às vezes precisamos de recursos mais específicos que a versão pré-compilada não vem habilitada.
Geralmente as máquinas da rede local não possuem endereços válidos na internet para navegação por isso precisamos de um servidor proxy para que as máquinas da rede local tenham acesso à internet.
Para quem não conhece, um servidor proxy é um host intermediário entre a sua rede local e a internet. Ele tem muitas funções, entre elas, controle de conteúdo, controle de acesso por usuário ou de forma anônima, além disso ele pode filtrar conteúdos conforme você especificar.
Irei descrever uma instalação e configuração simples com controle de conteúdo e acesso para rede local.
Se você pesquisar vai encontrar muitos tipos de configurações e vai descobrir que é uma excelente ferramenta para controle de acesso a internet.
Tipos de configurações:
- Web proxy :: faz o armazenamento de páginas na internet para navegação mais rápida. É a forma mais simples de configuração do proxy.
- Proxy transparente :: funciona obrigando a rede local a utilizarem o proxy para acesso à internet de forma transparente para o usuário. Podendo impor políticas de utilização e colher dados estatísticos para controle do acesso à internet.
- Proxy aberto :: é um servidor que não pede autenticação e pode liberar o acesso a internet anonimamente.
Mais informações em:
https://pt.wikipedia.org/wiki/Proxy.
As informações deste artigo foram tiradas do meu site pessoal:
Instalando as dependências do sistema
Vamos instalar alguns pacotes importantes para o sistema, alguns são opcionais e outros facilitam nossa vida:
# yum install libssh2 libssh2-devel openssh libcurl curl libcurl-devel make MAKEDEV gcc wget mlocate libnfnetlink-devel gcc-c++ gcc-objc++ cppunit gc telnet
Instalando o Squid a partir do código fonte
Baixando o código fonte do Squid:
Vamos fazer o download do Squid na página oficial e vamos compilar, entre no site:
E baixe a última versão. Copie o arquivo para um diretório de sua escolha. Ou encontre o link pela página e execute o seguinte comando:
# wget http://www.squid-cache.org/Versions/v3/3.3/squid-3.3.5.tar.gz
Criando um diretório de instalação em
/srv/installsquid:
# mkdir /srv/installsquid
Copiando o arquivo baixado para este diretório:
# mv squid-3.3.5.tar.gz /srv/installsquid/
# cd /srv/installsquid/
Extraindo o arquivo:
# tar -xvzf squid-3.3.5.tar.gz
# cd squid-3.3.5
Instalando o Squid a partir do código fonte:
Dentro do diretório extraído, existe o arquivo configure, que também possui um "help", para instalações específicas que podemos verificar as opções de instalação:
# ./configure --help
Em nosso caso vamos usar a seguinte configuração:
# ./configure --prefix=/usr --enable-shared --enable-icmp --enable-delay-pools --enable-sll --enable-linux-netfilter --enable-auth --enable-basic-auth-helpers=NCSA,LDAP,SMB
Explicando a instalação:
- --prefix=/usr :: local de instalação do Squid
- --enable-shared :: habilita o compartilhamento de bibliotecas
- --enable-icmp :: habilita o protocolo ICMP
- --enable-delay-pools :: habilita delay pools para controle de banda de internet
- --enable-sll :: habilita o suporte ao SSL, troca de informações com segurança
- --enable-linux-netfilter :: habilita o uso do proxy transparente com o iptables
- --enable-basic-auth :: habilita autenticação
- --enable-basic-auth-helpers=NCSA,LDAP,SMB :: determina os tipos de autenticações
Se tudo estiver OK e não houver erros de dependência:
# make
# make install
Agora vamos fazer um backup do arquivo de configuração do Squid. Neste arquivo conseguimos visualizar muitos tipos de configurações e como utilizá-las:
# cp /usr/etc/squid.conf /usr/etc/squid.conf.old