squid, firewall , estou velho para isto! [RESOLVIDO]

1. squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 14:06h

Boa tarde

Depois de algumas semanas, digo semanas, lendo,pesquisando(rezando p/ o dominio viva o linux voltar) estou quase desistindo, eu simplesmente não consigo fazer com que o squid ou firewall bloquei algumas aplicações, o que estou fazendo errado? alguem poderia me ajudar? o linux funciona perfeitamente, ótimo SO, mas preciso compartilhar a conexão(já consegui isto) mas bloquear tenho muitas dúvidas, eu não sei qual interface levar em consideração, abaixo coloco alguns logś. desde já agradeço: eth0 - recebe internet, eth1 compartilha:

eth0 Link encap:Ethernet HWaddr 78:2b:cb:07:3b:63
inet addr:192.168.1.90 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::7a2b:cbff:fe07:3b63/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1113320 errors:0 dropped:34025 overruns:0 frame:0
TX packets:476908 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:436959470 (436.9 MB) TX bytes:168520837 (168.5 MB)

eth1 Link encap:Ethernet HWaddr 78:2b:cb:07:3b:64
inet addr:10.42.0.1 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::7a2b:cbff:fe07:3b64/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:190731 errors:0 dropped:0 overruns:0 frame:0
TX packets:150114 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45189805 (45.1 MB) TX bytes:60629342 (60.6 MB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:214266 errors:0 dropped:0 overruns:0 frame:0
TX packets:214266 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:90552553 (90.5 MB) TX bytes:90552553 (90.5 MB)

aqui está o log do squid:

http_port 3128 transparent #proxy transparente é super interessante e viável para uma grande ou pequena rede local
cache_dir ufs /var/spool/squid3 100 16 256 #o primeiro numero o "100" é o tamanho do arquivo em KB, aqui podemos escolher quando KB nosso arquivo vai ter
cache_mem 50 MB #nessa parte vamos disponibilizar 50MB de memoria RAM para o Squid, podem mudar conforme a necessidade disponibilidade de cada um
visible_hostname FIREWALL #aqui vai o nome do nosso servidor no rodapé da pagina


#Regras de acesso para rede local
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 70 #gopher
acl Safe_ports port 210 #wais
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 Safe_ports port 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
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

#Bloqueando por dominios e palavras
acl bloqueados url_regex "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavras dstdom_regex "/etc/squid/palavras"
http_access deny palavras
error_directory /usr/share/squid/errors/Portuguese

acl redelocal src 10.42.0.1/24
http_access allow redelocal
http_access allow localhost
http_access deny all

AQUI ESTÁ O LOG FIREWALL:

#! /bin/bash

#rezando as regras;
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F

#adicionando modulos no kernel;
modprobe ip_tables
modprobe iptable_nat

#liberando encaminhamento de pacotes;
echo "1" > /proc/sys/net/ipv4/ip_forward

#compartilhando a internet;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


PS: acho q meus 40 anos estão pesando...
abraço



  


2. MELHOR RESPOSTA

Buckminster
Buckminster

(usa Debian)

Enviado em 21/05/2013 - 15:41h

flavac escreveu:

ok, muito bom seu artigo, acabei de ler, realmente dá uma melhor visão de como funciona, fiz as alterações e tal, mas mesmo assim continua bloqueado os sites, dá aquela msg do squid(bloqueado por ele), mas mesmo retirando algumas regras continua bloqueando,esta linha iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 , se eu entendi todo o tráfego da porta 80 é direcionado para porta 3128 ( que é a regra squid) isto? deveria funcionar.


Esta linha iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 somente redireciona o tráfego da porta 80 (http) para a porta 3128 do Squid. Ela é necessária em caso de proxy transparente.

Quanto aos bloqueios, verifique as ACLs e verifique dentro dos arquivos "bloqueados" e "palavras". Veja as sugestões de alteração que fiz no comentário anterior.

E sempre que alterar o squid.conf você deve executar:

squid -k reconfigure

ou reiniciar o Squid

/etc/init.d/squid restart (ou squid3).

Para criar o cache:
squid -z
Esse mesmo comando limpa o cache, porém, depois de executado pela primeira vez, só se deve executá-lo de novo em caso de problemas com o cache.


3. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 21/05/2013 - 14:23h

No Squid:

acl redelocal src 10.42.0.0/24 << esta linha deixe assim; você colocou o IP e deve colocar o endereço da rede.

cache_dir ufs /var/spool/squid3 2048 16 256 << esta linha deixe assim; coloquei 2 GB de cache_dir.
cache_mem 50 MB << aqui seria bom você colocar mais; quanto você tem de memória RAM total nessa máquina?

No IPtables:

#compartilhando a internet;
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 << acrescente esta linha, ela que fará o redirecionamento para o Squid.

A eth0 que recebe a internet está com IP fixo ou automático?


4. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 14:36h

bah, muito obrigado por responder, minha maquina é esta:
rewall squid # free -t -m
total used free shared buffers cached
Mem: 7970 1926 6044 0 125 1104
-/+ buffers/cache: 695 7274
Swap: 28608 0 28608
Total: 36579 1926 34653


cpu:
cpu 4302055 2056 27837 21139181 16729 27 38658 0 0 0
cpu0 4024105 41 5674 2339107 2261 26 23077 0 0 0
cpu1 77886 571 6984 6281624 1286 0 13961 0 0 0
cpu2 60929 420 7748 6302148 1461 0 1353 0 0 0
cpu3 139134 1022 7429 6216300 11721 0 266 0 0 0

você acha que preciso mais?

estou alterando aqui e já posto os resultados
obrigado por enquanto


5. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 14:47h

a eth0 que recebe a internet é ipfixo : 192.168.1.90, mask: 255.255.255.0 gw: 192.168.1.100, dns: 192.168.1.100, 8.8.8.8
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE -----eu achava q ao inves de eth0 seria eth1 neste campo!

estou inicializando o pequeno servidor





6. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 15:06h

bom, ficou assim:
#! /bin/bash

#rezando as regras;
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F

#adicionando modulos no kernel;
modprobe ip_tables
modprobe iptable_nat

#liberando encaminhamento de pacotes;
echo "1" > /proc/sys/net/ipv4/ip_forward

#compartilhando a internet;
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

#Proxy transparente, tratando dos protocolos UDP e TCP, e movendo o trafego das portas 80,443 para porta 3128;
iptables -t nat -A PREROUTING -s 10.42.0.1/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 10.42.0.1/24 -p udp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 10.42.0.1/24 -p tcp --dport 443 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 10.42.0.1/24 -p udp --dport 443 -j REDIRECT --to-port 3128

squid:
http_port 3128 transparent #proxy transparente é super interessante e viável para uma grande ou pequena rede local
cache_dir ufs /var/spool/squid3 2048 16 256 #o primeiro numero o "100" é o tamanho do arquivo em KB, aqui podemos escolher quando KB nosso arquivo vai ter
cache_mem 500 MB #nessa parte vamos disponibilizar 50MB de memoria RAM para o Squid, podem mudar conforme a necessidade disponibilidade de cada um
visible_hostname FIREWALL #aqui vai o nome do nosso servidor no rodapé da pagina


#Regras de acesso para rede local
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 70 #gopher
acl Safe_ports port 210 #wais
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 Safe_ports port 443 563 #https e snews
acl Safe_ports port 1025-65535 #portas altas
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

#Bloqueando por dominios e palavras
acl bloqueados url_regex "/etc/squid/bloqueados"
http_access deny bloqueados
acl palavras dstdom_regex "/etc/squid/palavras"
http_access deny palavras
error_directory /usr/share/squid/errors/Portuguese

acl redelocal src 10.42.0.0/24
http_access allow redelocal
http_access allow localhost
http_access deny all

estou pingando tudo, gw, dominios, mas não navega, dá esta msg:

ERROR
The requested URL could not be retrieved

The following error was encountered while trying to retrieve the URL: /

Invalid URL

Some aspect of the requested URL is incorrect.

Some possible problems are:

Missing or incorrect access protocol (should be "http://" or similar)

Missing hostname

Illegal double-escape in the URL-Path

Illegal character in hostname; underscores are not allowed.

Your cache administrator is webmaster.



7. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 21/05/2013 - 15:16h

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE << aqui SEMPRE vai a placa de rede de entrada da internet; ela que vai compartilhar com a(s) outra(s).

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 << aqui SEMPRE vai a placa de rede que sai para a rede interna.

Bom, como você tem IP fixo na placa de rede de entrada da internet, substitua essa regra

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

por essa

iptables -t nat A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.90/24

Quando se fixa o IP na placa de rede não se usa MASQUERADE, se usa SNAT. O MASQUERADE é somente para IP dinâmico na placa de rede.

#Bloqueando por dominios e palavras
acl bloqueados url_regex -i "/etc/squid/bloqueados" << aqui é /etc/squid ou /etc/squid3?
http_access deny bloqueados
acl palavras dstdom_regex -i "/etc/squid/palavras" << mesma coisa.
http_access deny palavras
error_directory /usr/share/squid/errors/Portuguese << esse arquivo Portuguese você deve cria-lo (se já não criou), ou comente essa linha; essa é a sua página de erro personalizado.

cache_dir ufs /var/spool/squid3 2048 16 256 << mesma coisa; verifique se essa pasta existe.

Outra coisa:
acl palavras dstdom_regex -i "/etc/squid/palavras" << essa ACL dstdom_regex bloqueia por domínios e não por palavras; dentro do arquivo deve ter somente domínios, .domínio.com, www.dominio.com.br, etc.

acl bloqueados url_regex -i "/etc/squid/bloqueados" << essa ACL url_regex bloqueia as palavras que estiverem na url do endereço e "baterem" com as palavras colocadas dentro do arquivo; a opção -i é para não distinguir entre maiúsculas e minúsculas (case insensitive).
E dentro dos arquivos deve ir uma palavra (ou domínio) por linha.
Exemplo:
sexo
pedra
paralelepípedo
inconstitucionalissimamente

Leia isto:
http://www.vivaolinux.com.br/artigo/Redes-de-Computadores-IPtables-Enderecos-IPs-Explicacoes-basicas...

http://www.vivaolinux.com.br/artigo/Squid-Entendendo-um-pouco-as-configuracoes/

http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras/


8. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 15:36h

ok, muito bom seu artigo, acabei de ler, realmente dá uma melhor visão de como funciona, fiz as alterações e tal, mas mesmo assim continua bloqueado os sites, dá aquela msg do squid(bloqueado por ele), mas mesmo retirando algumas regras continua bloqueando,esta linha iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 , se eu entendi todo o tráfego da porta 80 é direcionado para porta 3128 ( que é a regra squid) isto? deveria funcionar.


9. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 16:07h

dando o comando : squid3 restart
2013/05/21 16:06:17| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2013/05/21 16:06:17| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2013/05/21 16:06:17| WARNING: For now we will assume you meant to write /32

deus estes erros, agora já to fumegando heheh



10. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 21/05/2013 - 16:13h

flavac escreveu:

dando o comando : squid3 restart
2013/05/21 16:06:17| WARNING: Netmasks are deprecated. Please use CIDR masks instead.
2013/05/21 16:06:17| WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges.
2013/05/21 16:06:17| WARNING: For now we will assume you meant to write /32

deus estes erros, agora já to fumegando heheh


Não são erros, são avisos (Warning).

acl localhost src 127.0.0.1/255.255.255.255

essa regra acima, deixa ela assim:

acl localhost src 127.0.0.1/32

Faça a alteração e reinicia o Squid.

Netmasks are deprecated. Please use CIDR masks instead. << A máscara de rede está obsoleta; por favor use a notação CIDR.
WARNING: IPv4 netmasks are particularly nasty when used to compare IPv6 to IPv4 ranges. << A máscara de rede IPv4 está sendo usada para comparar ranges IPv4 com IPv6.
WARNING: For now we will assume you meant to write /32 << a partir de agora assumirei que você quis dizer /32.

Sempre nesses avisos de retorno, utilize o Google Tradutor. É uma ótima ferramenta.



11. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

flavio castro
flavac

(usa Debian)

Enviado em 21/05/2013 - 16:34h

ok, a dica do google foi ótima, mas fiz as alterações , não dá mais erro, aparentemente tudo ok, inclusive dei mais uma pesquisada e cheguei até o log que diz que o squid : 2013/05/21 16:26:40| Squid is already running! Process ID 17596
mesmo assim não abre nenhuma página, dá msg que parece q o squid está bloqueando tudo, outra questão existe a pasta squid/squid3 em ambas existe o mesmo arquivo dentro, está certo isto?


12. Re: squid, firewall , estou velho para isto! [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 21/05/2013 - 16:41h

Não, não está certo isso.

Delete uma delas. A que você deixar, você aponta o caminho no squid.conf.

Exemplo:
/etc/squid/bloqueados

ou

/etc/squid3/bloqueados

Menos a /var/spool/squid3, essa você deixa como está. Somente delete as pastas dos arquivos que você mesmo criou, no caso, bloqueados e palavras e crie de novo se for o caso, mas sem duplicar.
O importante é que o arquivo deve estar dentro do caminho que estiver apontado no squid.conf, lógico.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts