Como personalizar a página de Bloqueio do Squid



  • Como personalizar a página de Bloqueio do Squid

    Primeiro vamos entender que o pfSense já traz consigo um servidor Web. Ele é chamado "lighthttp". O diretório aonde ele armazena as páginas do pfSense é o "/usr/local/www".

    De posse dessa informação vamos fazer o download do WinSCP 5.1 no link a seguir: https://s3.amazonaws.com/superdownloads/programas/7616/winscp-509-build-2578-rc-superdownloads-32-bits.exe.

    Esse será o programa que nos vai permitir fazer o upload do nosso arquivo de imagem para dentro do lightsquid. :)

    Com o WinSCP instalado, vamos executá-lo.

    Na tela que irá abrir clicamos em "NEW". Com isso vai aparecer outra tela pedindo as informações do servidor para conectar.
    Preencha com cuidado e lembre-se que para poder ter controle total aos arquivos do sistema você devera logar com a conta "root" e a senha dela.

    Não se desespere, o pfSense faz uma troca de logins por trás dos panos. Na parte gráfica, a conta de root é a "admin". Já para a parte de administração via SSH ele usa "root" no campo de login. A senha é a mesma para "admin" ou "root". Resumindo: na parte gráfica vc usa "admin" e a senha e na parte de SSH e outros serviços de terminal você usa "root" e a mesma senha de "admin".

    Já conectados no nosso pfSense, na janela da direita vamos navegar até o diretório aonde o pfSense armazena sua interface de Configuração Web: "/usr/local/www"

    Agora apertamos "F7" para criar uma nova pasta. Eu dei o nome de "logo". Entrei nessa pasta e então fiz o upload da logo da empresa, que estava na janela do lado esquerdo que corresponde aos arquivos do PC Local.

    Trocando a Página de Erro do Squid

    Agora vamos de fato trocar a página de erro do Squid. Para isso vamos logar na Interface Gráfica. Vamos até o menu "Diagnostics" e escolhemos a opção "Edit File". No campo "Save / Load from path:" vamos colocar esse endereço: "/usr/local/etc/squid/errors/Portuguese/ERR_ACCESS_DENIED" e então apertar o botão "LOAD".

    Obs: Nesse momento assumi que a página de exibição de erros do seu Squid está em Português. Para ter certeza disso vá até o o menu "Services" e escolha "Proxy Server" Na tela que irá surgir verifique se o campo "Language" está "Portuguese".

    No centro da página irá aparecer o código fonte da página de erro original do Squid para a versão em Portugues. Vamos então trocar o conteúdo dessa página para essa:

    
    <title>Proibido o Acesso</title>
    
    # Proibido o Acesso
    
    ![](http://10.87.48.125/logo/logo.jpg)
    
    A Tecnologia da Informação e Comunicação, TIC, informa que o acesso ao site/download: **%U**,
    está bloqueado por infringir as regras definidas na Diretriz Geral de Segurança da Informação.
    
    

    Obs: Nesse código vamos procurar por "http://172.31.255.250/logo/logo.jpg" e alterar para o endereço IP de LAN do seu pfSense e o diretório aonde está a logo.

    Agora vamos fazer um bloqueio de algum site e que o Squid se reconfigure, forçando-o a recarregar as novas regras bem como essa alteração da página de erro. Para isso clicamos em "Services" e escolhemos "Proxy Server". Na aba "Access Control" vamos procurar o campo "Blacklist" e vamos bloquear propositalmente um site qualquer, eu escolhi o "uol.com.br". Então apertamos em "Save" no final da página.

    Para testar se a nossa página de erro personalizada funcionou como deveria, vamos setar o proxy no navegador e tentar accessar o site configurado na "Blacklist" do Squid. Se você fez tudo certo, deverá aparecer uma página de erro parecida com a a baixo.

    Parabéns!



  • Parabens pela iniciativa, post incluído na lista de tutoriais.



  • Parabéns Daniel…

    Fique à vontade para publicar este post no blog da Comunidade Brasileira do pfSense: http://www.pfsense-br.org/blog/

    Basta se registrar e começar a postar! ;)

    Abraços!
    Jack



  • Muito bom parabéns.



  • Parabéns, gostei do post, simples e direto. No entanto fiquei com uma dúvida. Possuo SquidGuard com blacklist da Shallalist e quando ele bloqueia aparece na tela de erro a categoria no qual foi barrado. Isso é importante pois se ocorre algum falso positivo, posso saber onde barrou pela propria máq. do user. Tem como fazer assim?



  • alexdr,

    Não tive tempo de testar o Squidguard entretanto achei algumas variáveis que trazem os valores que você precisa para serem exibidos na sua página de erro personalizada. Espero que lhe seja útil. Recomento fortemente que você siga o tutorial http://forum.pfsense.org/index.php/topic,51016.msg278787.html#msg278787 pois esse explica como personalizar a página de erro pro SquidGuard. É claro que você pode fazer um mix das informações de ambos e chegar ao resultado esperado.

    • %a: the IP address of the client.
    • %n: the domain name of the client or "unknown" if not available.
    • %i: the user ID or "unknown" if not available.
    • %s: the matched source group or "unknown" if no groups were matched.
    • %t: the matched destination group or "unknown" if no groups were matched.
    • %u: the requested URL.
    • %p: the path and the optional query string of %u but without the leading "/".
    • %%: a single "%".


  • Obrigado, vou testar


Log in to reply