2140 Views
Tempo de leitura: 2 MinutosO TinyProxy é um serviço de proxy para sistemas Linux. Uma vez configurado, pode-se utilizar servidores Linux ou Windows para consultá-lo sempre que forem fazer requisições na Internet. Veremos a seguir como é fácil e prático configurá-lo.< simples e prático de configurar. Veremos a seguir como configurá-lo em menos de 5 minutos.
O que é Proxy?
Para esse artigo, parto do princípio que já sabe o que é um proxy web. Para àqueles que não sabem, basicamente, por meio de um proxy, pode-se navegar na Internet por um IP diferente do seu IP de conexão.
Instalando o TinyProxy
Disponível nos melhores repositórios de software, o tinyproxy pode ser instalado pelo gerenciador de pacotes padrão da distribuição Linux. Neste artigo, abordaremos a instalação no Centos 7.
Com usuário root, execute o comando abaixo:
yum install tinyproxy
Colocando o TinyProxy na Inicialização
Coloque o serviço no arranque do sistema (um abraço aos amigos portugueses) com o comando abaixo:
systemctl enable tinyproxy
Liberação no Firewall
Pra quem utiliza um Firewall à frente de seus serviços, deve-se liberar 8888 a porta do proxy:
firewall-cmd --add-port=8888/tcp --permanent
Subindo e configurando o TinyProxy
Agora é hora de configurar o TinyProxy para aceitar conexões do seu endereço IP. O arquivo de configuração do serviço é o “/etc/tinyproxy/tinyproxy.conf“. Abra-o para edição com seu editor de textos favorito.
A seguir, vá até a linha 203 onde há o seguinte comentário:
# Allow: Customization of authorization controls. If there are any # access control keywords then the default action is to DENY. Otherwise, # the default action is ALLOW. # # The order of the controls are important. All incoming connections are # tested against the controls based on order. #
Abaixo do comentário supracitado, insira seu endereço de IP, como no exemplo abaixo:
Allow 191.23.33.241
Você também pode inserir um range de IP como neste exemplo:
Allow 191.23.33.0/24
Agora basta iniciar o serviço:
systemctl start tinyproxy
Configurando restrições no TinyProxy: Bloqueio de domínios:
Dependendo da necessidade, pode-se forçar via NAT no firewall o forwarding de portas como 80 e 443 para o proxy, o que direcionaria todo tráfego de saída dessas portas para proxy, onde pode-se ter regras com restrições para hosts específicos.
Configurando o Firewall
A regra de firewall para isso seria, por exemplo, essas:
Redirecionando saída da 80 para a 8888:
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8888 --permanent
Observação: O comando firewall-cmd é provido pelo System D. Para o amigo leitor que estiver configurando o TinyProxy diretamente no iptables, pode utilizar o comando abaixo:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8888
Redirecionando saída da 443 para a 8888:
Mesma coisa do anterior. Só trocar a porta 80 por 443:
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=8888 --permanent
E pra quem usa iptables…
iptables -t nat -A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to-port 8888
Criando a blacklist
Agora crie um arquivo onde serão listados os domínios que o proxy bloqueará. Por exemplo; usarei o arquivo “/etc/tinyproxy/blacklist” com o seguinte conteúdo:
facebook.com twitter.com plus.google.com xvideos.com pornhub.com globo.com uol.com.br terra.com.br
Observação: Importante frisar que o termo “blacklist” não é do TinyProxy.
Por fim, abra novamente o arquivo de configuração do serviço /etc/tinyproxy/tinyproxy.conf e insira o seguinte conteúdo:
Filter "/etc/tinyproxy/blacklist" FilterURLs On
Com isso, todo domínio contido na lista blacklist será bloqueado. O usuário deverá ver uma mensagem como esta:
Resumo da ópera
O TinyProxy é uma baita ferramenta. Pode-se deixá-la tão restrita quanto o necessário. Somado suas funcionalidades aos recursos que encontramos no Linux, seja ele Centos, Debian ou o que for, podemos moldá-lo perfeitamente às nossas necessidades.
Enjoy and be happy