+ Responder ao Tópico



  1. #1

    Padrão Meu squid não bloqueia mais...

    Meu Squid não bloqueia mais... alguém pode me ajudar?
    Aí está ele:


    http_port 3128 transparent
    visible_hostname servidor2

    cache_mem 512 MB
    maximum_object_size_in_memory 100 KB
    maximum_object_size 512 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir ufs /mnt/hda5 20000 64 1024
    cache_access_log /var/log/squid/access.log


    refresh_pattern ^ftp: 15 2% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    acl all src 0.0.0.0/0.0.0.0


    acl localhost src 127.0.0.1/255.255.255.255


    #LIBERAÇÃO DE SITES EM GERAL
    acl cmt src 192.168.0.57
    http_access allow cmt

    #ARQUIVO CONTENDO SITES QUE SÃO PROIBIDOS
    acl proibidos url_regex -i "/etc/squid/proibidos"
    http_access deny proibidos

    #ACL PARA BLOQUEIO DO MSN
    acl msn url_regex -i /gateway/gateway.dll
    http_access deny msn

    #SEM INTERNET

    acl sem_internet src 192.168.0.1 192.168.0.20 192.168.0.252 192.168.0.253 192.168.0.254 http_access deny sem_internet

    #BLOQUEIO DE ARQUIVOS POR EXTENSÃO
    acl video url_regex -i \.tar \.rar \.scr \.mov \.mpeg \.mp4 \.mpeg \.avi \.rmvb \.torrent \.ogg \.iso \.mp3 \.wav
    http_access deny video

    acl redelocal src 192.168.0.0/255.255.255.0
    http_access allow localhost
    delay_pools 1
    delay_class 1 2
    delay_access 1 allow redelocal
    http_access allow redelocal
    http_access deny all
    http_access allow all

  2. #2

    Padrão

    você já olhou se o iptables está fazendo o redirecionamento da porta 80 para 3128??
    Verifica com o comando iptables -t nat -nvL



  3. #3

    Padrão

    Amigo,
    Verifiquei com o comando iptables -t nat -nvL que vc sugeriu e obtive o seguinte resultado:

    Chain PREROUTING (policy ACCEPT 87962 packets, 5799K bytes)
    pkts bytes target prot opt in out source destination

    Chain POSTROUTING (policy ACCEPT 1385 packets, 219K bytes)
    pkts bytes target prot opt in out source destination
    81327 4675K MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0

    Chain OUTPUT (policy ACCEPT 8207 packets, 718K bytes)
    pkts bytes target prot opt in out source destination


    Sendo que no bootmisc.sh está assim:

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

    Desde já agradeço...

  4. #4

    Padrão

    A regra de iptables que redireciona todo mundo pra porta 3128 sumiu. Só isso...
    Executa de novo a última linha:
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

    Isso deve resolver...
    Nesse Linux tem algum servidor de páginas web?? Talvez fosse interessante que você bloqueasse os pacotes que saem para internet utilizando a porta 80, pra que caso essa regra suma de novo o pessoal não navegue livremente sem o bloqueio de sites...

    Até mais...



  5. #5

    Padrão

    Funcionooooooooooouuuuuuuuuuu!!!!

    Muitíssimo Grato pelas dicas... Ficou tudo ok novamente!!!
    Nâo esperava resolver este problema tão rápido...
    Graças aos superconhecimentos do companheiro está tudo resolvido!

    E, ... aproveitando a oportunidade, vc mencionou servidor de páginas web. Na verdade estou construindo uma Intranet para a empresa, está quase pronta. Fiz o bloqueio no squid por IPs para que algumas máquinas não tenham o acesso à internet. Como posso fazer para bloquear a internet sem bloquear a Intranet nessas máquinas?

    Até...

  6. #6

    Padrão

    Depende da estrutura da sua rede cara, você tem algumas opções a serem analisadas.
    1. Se todo mundo estiver na mesma rede 192.168.0.0/0 (tirando da configuração do seu squid) e o seu squid estiver utilizando proxy transparente (que está, dado ao fato que todo mundo estava navegando sem a regra de redirect) não é necessário se preocupar com criar regras pois o servidor de páginas será acessado diretamente sem passar pelo squid.
    2. Se o servidor de páginas estiver em uma rede diferente (por exemplo 192.168.1.0/24) e o squid estiver fazendo o roteamento para esta rede pode ser utilizada uma regra de iptables informando que SOMENTE os pacotes de origem das redes 192.168.1.0/24 e 192.168.0.0/24 com destino à internet sofrerão o redirecionamento para a porta 3128. Desta forma a cominicações entre 192.168.1.0/24 e 192.168.0.0/24 não passarão pelo squid e não serão bloqueadas.
    3. Se o servidor de páginas estiver em uma rede diferente (por exemplo 192.168.1.0/24) e o squid estiver fazendo o roteamento para esta rede pode ser utilizado o próprio squid para liberar toda a comunicação entre as redes 192.168.1.0/24 e 192.168.0.0/24. Mas isso irá carregar o squid com algo que não seria necessário.


    Eu imagino que você tenha somente uma única rede (192.168.0.0/24)... Então não precisa se preocupar com o squid para o servidor web da intranet...

    Até mais...



  7. #7

    Padrão

    Olha só... o acesso a Intranet foi realmente bloqueado nos computadores em que foram bloqueados a internet por IPs. O servidor está no IP 192.168.0.2, teria como liberar somente o nome do site da Intranet?

    Envio novamente o meu squid:

    http_port 3128 transparent
    visible_hostname servidor

    cache_mem 512 MB
    maximum_object_size_in_memory 100 KB
    maximum_object_size 512 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir ufs /mnt/hda5 20000 64 1024
    cache_access_log /var/log/squid/access.log


    refresh_pattern ^ftp: 15 2% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280

    acl all src 0.0.0.0/0.0.0.0


    acl localhost src 127.0.0.1/255.255.255.255

    #ARQUIVO CONTENDO SITES QUE SÃO PROIBIDOS
    acl proibidos url_regex -i "/etc/squid/proibidos"
    http_access deny proibidos

    #ACL PARA BLOQUEIO DO MSN
    acl msn url_regex -i /gateway/gateway.dll
    http_access deny msn

    #SEM INTERNET

    acl sem_internet src 192.168.0.1 192.168.0.20 192.168.0.252 192.168.0.253 192.168.0.254
    http_access deny sem_internet

    #BLOQUEIO DE ARQUIVOS POR EXTENSÃO
    acl video url_regex -i \.tar \.rar \.scr \.mov \.mpeg \.mp4 \.mpeg \.avi \.rmvb \.torrent \.ogg \.iso \.mp3 \.wav
    http_access deny video

    acl redelocal src 192.168.0.0/255.255.255.0
    http_access allow localhost
    delay_pools 1
    delay_class 1 2
    delay_access 1 allow redelocal
    http_access allow redelocal
    http_access deny all
    http_access allow all

  8. #8

    Padrão

    Cria uma linha assim:

    Código :
     acl intranet url_regex -i "/etc/squid/intranet"
    http_access allow intranet

    e nesse arquivo /etc/squid/intranet você coloca as urls que compõem a intranet.

    Põe isso antes de:
    Código :
     #SEM INTERNET
    acl sem_internet src 192.168.0.1 192.168.0.20  192.168.0.252 192.168.0.253 192.168.0.254 
    http_access deny sem_internet

    Faz tempo q não mexo com squid mas acho que é isso ai...



  9. #9

    Thumbs up

    Tudo Ok mais uma vez...
    A Intranet foi liberada...
    Uma regra simples, mas eficiente.
    Valeu pelas dicas!!!

    Gracias!!!

  10. #10

    Padrão Proxy com autenticação

    Gostaria de utilizar o proxy com autenticação, então coloquei essas linhas no squid:
    #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



    ...e registrei o pessoal que terá acesso (usuário e senha) com o comando:
    # htpasswd /etc/squid/squid_passwd usuário


    ...mas não funcionou. Não sei se a posição dos comandos do proxy com autenticação está correta..., ou se tenho que fazer algo mais!!!






    Aí vai o meu squid:

    http_port 3128 transparent


    visible_hostname servidor


    cache_mem 512 MB
    maximum_object_size_in_memory 100 KB
    maximum_object_size 512 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    cache_dir ufs /mnt/hda5 20000 64 1024
    cache_access_log /var/log/squid/access.log


    refresh_pattern ^ftp: 15 2% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 15 20% 2280


    acl all src 0.0.0.0/0.0.0.0


    acl localhost src 127.0.0.1/255.255.255.255


    #LIBERAÇÃO DE SITES EM GERAL
    acl cmt src 192.168.0.57 192.168.0.68
    http_access allow cmt


    #ACESSO LIVRE À INTRANET POR TODOS
    acl intranet url_regex -i "/etc/squid/intranet"
    http_access allow intranet


    #ARQUIVO CONTENDO SITES QUE SÃO PROIBIDOS
    acl proibidos url_regex -i "/etc/squid/proibidos"
    http_access deny proibidos


    #ACL PARA BLOQUEIO DO MSN
    acl msn url_regex -i /gateway/gateway.dll
    http_access deny msn


    #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


    #SEM INTERNET
    acl sem_internet src 192.168.0.1 192.168.0.18 192.168.0.20 192.168.0.25 192.168.0.27 192.168.0.29 192.168.0.30 192.168.0.45 192.168.0.48 192.168.0.53 192.168.0.54 192.168.0.55 192.168.0.58 192.168.0.59 192.168.0.67 192.168.0.69 192.168.0.70 192.168.0.71 192.168.0.72 192.168.0.75 192.168.0.76 192.168.0.77 192.168.0.74 192.168.0.81 192.168.0.83 192.168.0.84 192.168.0.86 192.168.0.89 192.168.0.92 192.168.0.93 192.168.0.100 192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.105
    http_access deny sem_internet


    #BLOQUEIO DE ARQUIVOS POR EXTENSÃO
    acl video url_regex -i \.tar \.rar \.scr \.mov \.mpeg \.mp4 \.mpeg \.avi \.rmvb \.torrent \.ogg \.iso \.mp3 \.wav
    http_access deny video


    acl redelocal src 192.168.0.0/255.255.255.0
    http_access allow localhost
    delay_pools 1
    delay_class 1 2
    delay_access 1 allow redelocal
    http_access allow redelocal
    http_access deny all
    http_access allow all



  11. #11

    Padrão

    Não sei muito de Squid autenticado com ncsa mas achei isso aqui:

    ------------------------------------------------------------------
    Autenticando usuários
    É um recurso bem interessante para controle pessoal de usuários. Isso permite que você crie ACLs individuais e gere LOGs de qualidade bem superior.
    Existem diversos métodos de autenticação, sendo interessante averiguar exatamente o que você irá precisar. Na maioria dos casos, o ncsa_auth resolve o problema.

    ncsa_auth
    O ncsa_auth é a alternativa mais simples. Ele está disponível junto com o squid e pode ser implementado rapidamente. É a solução ideal para pequenas e média instalações e redes com arquitetura de grupo de trabalho.

    Editando o squid.conf
    Procure pela seção que fala sobre autenticação (TAG: authenticate_program) e insira as linhas:
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/
    auth_param basic children 5
    auth_param basic realm Digite seu Login

    Criando um arquivo de senhas
    O arquivo /etc/squid/passwd não existe por padrão. Para cria−lo vamos fazer:
    # touch /etc/squid/passwd

    Adicionando usuários
    Para adicionar novos usuários basta fazer:
    # htpasswd /etc/squid/passwd USUARIO
    e confirmar a senha duas vezes.
    Nota: Dependendo da sua distribuição, o ncsa_auth pode estar em vários lugares, como /usr/bin, /usr/sbin e assim por diante! Verifique onde está a sua e coloque as linhas acima de acordo!
    Quanto ao authenticate_children 5, é o suficiente se sua rede não é muito grande. Mude o valor de acordo com suas necessidades.

    Agora vamos editar novamente a ACL de nossa rede interna (aquela da seção 2.3)

    acl rede_interna src 192.168.5.0/24
    acl rede_interna proxy_auth REQUIRED
    ------------------------------------------------------------------
    Retirado de: http://www.rjunior.com.br/download/squid-ninja.pdf


    Comparando com o que você fez...
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    acl autenticados proxy_auth REQUIRED
    http_access allow autenticados

    Acho que faltou definir quais hosts e/ou rede serão requeridos autenticação. Com as linhas:
    acl rede_interna src 192.168.5.0/24
    acl rede_interna proxy_auth REQUIRED

    Você usou "autenticados" mas não definiu quem compõe "autenticados".

    Acho que só isso, qualquer coisa posta ai...

  12. #12

    Padrão

    1- Nâo entendo muito bem esta numeração 192.168.5.0/24. Vc pode me explicar?
    2- Onde deve ficar o conjunto de comandos e regras da autenticação?
    2- Tenho uma rede com mais de 60 máquinas. Existe algum software de controle de usuário e senhas mais prático para utilização e que em um determinado período peça para alterar a senha do usuário?

    Grato por tudo...



  13. #13

    Padrão

    1- Nâo entendo muito bem esta numeração 192.168.5.0/24. Vc pode me explicar?
    Cara, se eu for explicar aqui vai ficar um pouco grande o tópico. Não costumo fazer isso mas... dá uma olhada nisso aqui: CIDR - Wikipédia e aqui: Máscara de rede - Wikipédia

    2- Onde deve ficar o conjunto de comandos e regras da autenticação?
    Cara, ja que seu squid você saiu bloqueando algumas coisas e quer permitir o acesso do que não foi bloqueado, você tem que por no final das suas regras após a linha "http_access deny video".

    2- Tenho uma rede com mais de 60 máquinas. Existe algum software de controle de usuário e senhas mais prático para utilização e que em um determinado período peça para alterar a senha do usuário?
    Cara, isso eu não se te dizer... mas acho que dá pra usar o squid com autenticação no domínio. Com isso a gerencia de senhas fica sendo feita pelo servidor de autenticação do domínio.

    Se eu tiver errado, alguém me corrija!