+ Responder ao Tópico



  1. #1

    Padrão Analisem meu squid

    Ola. Não tenho muita experiência em configuração do squid. Após "configurar" o squid para minha rede, gostaria que vocês dessem a opnião de vocês quanto a segurança e funcionalidade dele. Caso eu tenha esquecido de algo ou cometido um erro grosseiro me corrijam, ok. Lembrando que esse servidor onde terá o squid, também terá LAMP, DNS e Firewall rodando. Na rede tem 30 estações windows, alem de um servidor de rede com dhcp, samba e algumas coisinhas a mais. Segue abaixo a configuração do squid que eu penso em colocar em produção daqui a alguns dias para testá-lo.

    Obrigado pela ajuda:
    []s, Renato


    # /etc/squid.conf
    # Arquivo de configuração do squid. Modificado por Renato
    # Modelo retirado de Kurumin Linux 7. Autor: Carlos E. Morimoto

    # Porta:
    http_port 3128

    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY

    # >> Quantidade de memória RAM dedicada ao cache <<
    cache_mem 256 MB
    maximum_object_size_in_memory 256 KB
    maximum_object_size 256 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95

    # >> Cache em disco <<
    cache_dir ufs /var/spool/squid 4096 16 256

    # Arquivo onde são guardados os logs de acesso do Squid.
    cache_access_log /var/log/squid/access.log

    visible_hostname serverteste.com.br

    # >> Padrão de atualização do cache <<
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    # >> Controle de acesso <<
    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 # unregistered ports
    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

    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow localhost

    # A acl "proibidos" é usada para fazer bloqueio baseado em palavras
    acl proibidos dstdom_regex "/etc/squid/proibidos"
    http_access deny proibidos

    ## Esta acl bloqueia todos malewares contidos em /etc/squid/malware
    acl malware dstdom_regex "/etc/squid/malware"
    http_access deny malware

    ## Esta acl bloqueia todos arquivos com extensões contidas em /etc/squid/arquivos_bloqueados
    acl arquivos_bloqueados dstdom_regex "/etc/squid/arquivos_bloqueados"
    http_access deny arquivos_bloqueados

    ## Esta acl determina que somente usuários da acl "redelocal" tem acesso liberado as acl's abaixo
    acl redelocal src 192.168.7.0/24

    ## Esta acl libera msn por mac address
    acl mac arp "/etc/squid/mac"
    http_access allow redelocal mac

    ## Esta acl libera os domínios contidos no arquivo /etc/squid/liberados/
    acl liberados dstdomain -i "/etc/squid/liberados"
    http_access allow redelocal liberados

    ## Esta acl libera os endereços ip contidos no arquivo /etc/squid/ip_liberados
    acl ip_liberados dst "/etc/squid/ip_liberados"
    http_access allow redelocal ip_liberados

    # >> Bloqueio com base no horário <<
    acl madrugada time 00:00-06:00
    http_access deny madrugada

    # >> Proxy com autenticação <<
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados

    # >> Controle de acesso <<
    #acl redelocal src 192.168.7.0/24
    #http_access allow redelocal
    http_access deny all
    #http_access allow all

  2. #2

    Padrão

    Permita-me tecer um comentário pertinente acerca da situação.

    Supondo que o IP do seu servidor seja 192.168.7.254/24, considero importante no seu caso fazer com que o Squid seja um Proxy Transparente.
    Dessa forma, não se fará necessária nenhuma configuração nas estações.
    Além de que, também é legar evitar o Delay no seu Proxy. Dessa forma, somente pessoas da sua rede interna terão acesso ao mesmo e, se alguém de fora passar algum port scanner em seu servidor à procura de Proxy, não encontrará o Squid em funcionamento.
    Para tal, seguem as modificações:

    No lugar de:
    Código :
    # Porta:
    http_port 3128

    Coloque:
    Código :
    # Porta sem Delay + Proxy Transparent
    http_port 192.168.7.254:3128 transparent

    Feito isso, coloque a seguinte regra em seu IPTables:
    Código :
    # Redirecionando Navegação para Squid.
    iptables -t nat -A PREROUTING -p tcp -m multiport --destination-ports 80,8080 -j REDIRECT --to-port 3128

    No mais, as suas necessidades farão com que você aperfeiçoe seu script...

    abracos

  3. #3

    Padrão

    Ola Frusciante. Muito obrigado pela sua dica, vou testar ela depois. Porém, como não tenho muito conhecimento sobre squid, tenho uma dúvida sobre o proxy transparente. Pelo que eu ouvi dizer, proxy transparente é para usuário se conectar na internet como se tivesse uma conexão direta (sem autenticação). Mas eu gostaria que sempre que ele se conecta-se na net, ele tivesse que digitar usuário e senha, por isso que eu não havia implementado o proxy transparente. Mas caso eu tenha falado alguma besteira, gostaria que me corrigissem.

  4. #4

    Padrão

    É exatamente isso.

    Proxy Transparente é o Proxy imperceptível ao usuário.
    Ele é de alta eficiência e eficácia quando está no gateway (firewall) da rede. Dessa forma, ninguém foge dele.
    Já o Proxy Autenticado requer que você altere algumas configurações no squid.conf e aplique configurações em todos os navegadores das estações.

    Porém, utilizando um Proxy Transparente, se uma pessoa conectar um notebook em sua rede, ela navegará normalmente.
    Com o Proxy Autenticado, somente quem tiver conta de usuário poderá navegar.