Limitando tamanho de envio do método POST no SQUID
Colaboração: Smailli Hemori Moraes
Data de Publicação: 25 de Novembro de 2006
Crie o script /usr/lib/squid/size.sh com o seguinte conteúdo
#!/bin/sh while read size limit; do **if [ "${size}" -gt "${limit}" ]; then echo ERR else echo OK fi done
Torne-o executável com o comando
# chmod +x /usr/lib/squid/size.sh
- Crie as seguintes ACLs em /etc/squid/squid.conf
Chamada de ACL externa para verificação do tamanho do envio no método POST
external_acl_type request_body %{Content-Length} /usr/lib/squid/size.sh
ACL que define o tamanho do método POST, nesse caso 10 kbacl request_max_10KB external request_body 10240
Bloqueia todo POST acima de 10 kbhttp_access deny !request_max_10KB
==EXTRAS== Pode-se atrelar essa ACL com outras, por exemplo com algum IPhttp_access deny !request_max_10KB IPS_BLOQUEADOS
Assim, quando o IPS_BLOQUEADOS tentar fazer um post maior de 10KB (enviar um anexo por exemplo) ele será bloqueado. Porém, essa configuração pode negar envio de algum tipo de formulário que seja maior que 10KB. Um exemplo é o tradutor do google, se tentar traduzir algo que ultrapasse o método POST em 10KB será bloqueado. Para sanar isso crie a seguinte regraacl GOOGLE dstdomain translate.google.com.br http_access deny !request_max_10KB localhost !GOOGLE
O mais correto, criar uma ACL com os webmails atrelados e limitar o POST somente para eles.acl DOM_WEBMAIL dstdomain "/etc/squid/dominios_webmail.conf" acl USER_NO_ATT proxy_auth "/etc/squid/usuarios_webmail_sem_anexo.conf" http_access deny !request_max_10KB DOM_WEBMAIL USER_NO_ATT