Product SiteDocumentation Site

5.2. Tornando o Squid mais seguro

O Squid é um dos servidores proxy/cache mais populares e existem algumas considerações de segurança que devem ser levadas em conta. O arquivo de configuração padrão do squid nega todas as requisições de usuários. No entanto, o pacote do Debian permite o acesso através de "localhost", você apenas precisa configurar seu navegador adequadamente. Configure o Squid para permitir acesso aos usuários confiáveis, máquinas ou redes definindo uma lista de controle de acesso no arquivo /etc/squid.conf, veja o endereço http://squid-docs.sourceforge.net/latest/html/book1.html para mais informações sobre a definição de regras de ACLs. Note que o Debian oferece uma configuração mínima para o Squid que prevenirá tudo, exceto a conexão de localhost em seu servidor proxy (que é executado na porta padrão 3128) É necessária a personalização do arquivo de configuração /etc/squid.conf como necessário. A configuração mínima recomendada (fornecida com o pacote) é mostrada abaixo:
The recommended minimum configuration (provided with the package) is shown below:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # portas não registradas
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 901         # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
(...)
# Somente permite acesso do cachemgr vindos de localhost
http_access allow manager localhost
http_access deny manager
# Somente permite requisições de purge vindas de localhost
http_access allow purge localhost
http_access deny purge
# Bloqueia requisições para portas desconhecidas
http_access deny !Safe_ports
# Bloqueia CONNECT a portas que não sejam SSL
http_access deny CONNECT !SSL_ports
#
# INSIRA SUAS PRÓPRIAS REGRAS AQUI PARA PERMITIR O ACESSO DE SEUS CLIENTE
#
http_access allow localhost
# E finalmente bloqueia qualquer outro acesso a este proxy
http_access deny all
#Padrão:
# icp_access deny all
#
#Permite requisições ICQ vindas de qualquer pessoa
icp_access allow all
Você também deverá configurar o Squid baseado nos recursos do seu sistema, incluindo a memória cache (opção cache_mem), localização dos arquivos de cache e quantidade de espaço que utilizarão no disco (opção cache_dir).
Note que, se não for corretamente configurado, alguém poderá enviar mensagens de e-mail através do squid, pois os protocolos HTTP e SMTP tem design similar. O arquivo de configuração padrão do Squid bloqueia o acesso a porta 25. Se desejar permitir conexões a porta 25, apenas adicione-a a lista Safe_ports. No entanto, isto NÃO é recomendado.
Ajustar e configurar um servidor proxy/cache é apenas parte da tarefa de manter um site seguro. Outra tarefa necessária é a análise dos logs do Squid para ter certeza que todas as coisas estão funcionando como deveriam estar. Existem alguns pacotes no Debian GNU/Linux que podem ajudar o administrador a fazer isto. Os seguintes pacotes estão disponíveis na woody (Debian 3.0):
  • calamaris - Analisador de arquivos de log para o Squid ou log do proxy Oops
  • modlogan - Um analisador de arquivos e log modular.
  • sarg - Squid Analysis Report Generator.
  • squidtaild - Programa de monitoramento de logs do Squid.
Quando estiver usando o squid em modo acelerador, ele atuará como servidor web também. Ativando esta opção, a complexidade do código aumenta, tornando-a menos confiável. Por padrão, o squid não é configurado para atuar como um servidor web, assim não precisará se preocupar com isto. Note que se quiser usar esta característica, tenha certeza que é realmente necessária. Para encontrar mais informações sobre o modo acelerador do Squid, veja http://squid-docs.sourceforge.net/latest/html/c2416.html.