Squid/Firewall [RESOLVIDO]

1. Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 14/09/2013 - 15:48h

Boa tarde pessoal,


Seguinte tenho uma rede wirelles, recetemente coloquei um servidor proxy/firewall em produção esse servidor com ip 192.168.1.2

Observo o seguinte quando coloco o ip dele como gateway em um pc da rede ele pega as regras de proxy. No entanto se como tenho usuários mais espertos eles vão colocar o ip do modem 192.168.1.1 de gateway e vão continuar navegando normalmente. Nesse caso como devo proceder, segue meu squid e meu firewall..

SQUID

http_port 3128 transparent
visible_hostname atenas
cache_mem 256 MB #--Tamanho do cache da RAM usado pelo squid
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
cache_access_log /var/log/squid3/cache.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
acl manager proto cache_object
acl localhost src 127.0.0.1
acl localnet src 192.168.1.0/24
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 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 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563
##ACLS
acl sitesbloqueados url_regex -i "/etc/squid3/bloqueados"
#acl hora_manha time MTWHF 07:00-11:30
#acl hora_tarde time MTWHF 14:00-19:00
#acl hosts_macaddress arp "/etc/squid3/"
acl redelocal src 192.168.1.0/24
##Controle de acesso
#http_access deny sitesbloqueados hora_manha
#http_access deny sitesbloqueados hora_tarde
http_access allow localhost
http_access allow localnet
http_access deny all
# Email do ADM Cache Squid
#cache_mgr webmaster usuario@dominio.com.br
#error_directory /usr/share/squid3/errors/pt-br



FIREWALL

#!/bin/bash
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128

iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT

iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -o eth+ -j MASQUERADE

chmod +x /etc/init.d/firewall

/etc/init.d/firewall



  


2. Re: Squid/Firewall [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 14/09/2013 - 16:20h

Coloque as políticas padrões assim:
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

e depois vá liberando o que você precisa nas chains INPUT e FORWARD.

Altere essas duas regras

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -o eth+ -j MASQUERADE

para

iptables -t nat -A PREROUTING -i ethx -p tcp --dport 80 -j REDIRECT --to-port 3128 # Interface da rede interna
iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE # Interface de entrada da internet

e altere esta

iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED

acrescentando uma regra, ficando como abaixo

iptables -A INPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A FORWARD -t filter -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

Fale com o Manuel nesse link:
http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras

E provavelmente você tem duas placas de rede no servidor. A placa de rede conectada no modem você deixa com IP automático (dinâmico).
A placa da tua rede interna (provavelmente conectada num switch) você fixa o IP em 192.168.1.1, que será o gateway da tua rede interna.

Estra regra iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE faz o mascaramento/compartilhamento criando uma nova rede (a tua rede interna) independentemente se o modem está na rede 192.168.1.0/24 também. São duas redes distintas.


3. Re: Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 16/09/2013 - 16:04h

boa tarde,


Como sugeriu abaixo não funcionou, deixando a placa de rede da rede interna 192.168.1.1, mesmo assim o pessoal não está passando pelo proxy...

só uma dúvida preciso instalar também um servidor de DNS nesse proxy?










4. Re: Squid/Firewall [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 17/09/2013 - 01:17h

O servidor recebe e envia por wireless?
Quais são as conexões físicas... qual placa está conectada por fio e qual sem fio e onde estão conectadas... num modem roteador... num switch...?


5. Re: Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 17/09/2013 - 08:37h

Bom dia,


O servidor só envia wireless, as duas conexões que chegam no servidor são via cabo.Tanto a que vai do modem roteador para o Servidor como o que sai do servidor para Switch.



att,


6. Re: Squid/Firewall [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 17/09/2013 - 17:32h

ralencar escreveu:

Bom dia,


O servidor só envia wireless, as duas conexões que chegam no servidor são via cabo.Tanto a que vai do modem roteador para o Servidor como o que sai do servidor para Switch.



att,


A conexão que vem por fio do modem/roteador é a que chega e a conexão que vai para o switch provavelmente é a que sai para a rede interna cabeada.
Então você tem aí no servidor 3 placas de rede: uma placa de rede com fio que recebe a conexão do modem/roteador, uma placa de rede com fio que vai para o switch e uma placa wireless que distribui a rede wireless... é isso?

E outra coisa, esse modem/roteador é o único da tua rede?
Ele tem a função wireless também?


7. Re: Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 17/09/2013 - 17:49h

Não tenho duas placas de redes só Eth0 que recebe a internet do Modem/Roteador wifi e outra eth1 que mandar a internet para a rede aí que está o problema.. os cliente cabeados são muito poucos.. a maioria conecta mesmo é wifi, o modem/roteador wifi é o único...


ps. vou precisar também de uma placa wifi pra distribuir o sinal wifi para a rede??? o modem/router não faria isso???



att,


8. Re: Squid/Firewall [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 17/09/2013 - 18:27h


Teu servidor não envia wireless então, quem está fazendo isso é o roteador wireless. Por isso não está passando pelo Squid.
Tente o seguinte no squid.conf:

http_port xxx.xxx.xxx.xxx:3128 transparent << aqui você coloca o endereço da rede cabeada.
http_port yyy.yyy.yyy.yyy:3128 transparent << aqui você coloca o endereço da rede wireless.

E você terá que fazer um redirecionamento no roteador wireless da rede wireless para o IP da placa de rede eth1.

Tenta primeiro somente com a alteração no squid, se não funcionar você deve redirecionar no roteador.

Ou então coloca uma placa wireless no servidor para distribuir a rede e desabilita a wireless do roteador.


9. Re: Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 19/09/2013 - 10:16h

bom dia,

deixa eu explicar como funciona aqui....


Modem/roteador Wifi acho que quatro pcs apenas conectam por cabo, vinte e poucas por wifi.....
o Modem tem o ip 192.168.1.1... o pessoal navega wifi nesse classe de ip porque temos um software aqui de suporte remoto que preciso direcionar as portas para ips especificos na rede.. então todos na rede navegam na faixa 192.168.1.XX

Quando configurei o Servidor (proxy/firewall) coloquei nele ip fixo 192.168.1.2 nesse caso é que está a questão não posso mudar a faixa de ips porque vai ser um stress só..rsrsrs, mudar ip de todo mundo configurar todo mundo de novo..... Assim a solução seria mesmo somente no squid????? colocando essa configuração que orientou???
E atualmente pego o DNS DO MODEM 192.168.1.1....

http_port xxx.xxx.xxx.xxx:3128 transparent << aqui você coloca o endereço da rede cabeada.
http_port yyy.yyy.yyy.yyy:3128 transparent << aqui você coloca o endereço da rede wireless.


abraço


10. Re: Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 19/09/2013 - 17:37h

Pessoal tava querendo partir para um proxy que não seja transparente como poderia fazer segue squid e firewall....


SQUID

http_port 3128 transparent
visible_hostname atenas
cache_mem 256 MB #--Tamanho do cache da RAM usado pelo squid
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
cache_access_log /var/log/squid3/cache.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
acl manager proto cache_object
acl localhost src 127.0.0.1
acl localnet src 192.168.1.0/24
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 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 1025-65535 #portas altas
acl purge method PURGE
acl CONNECT method CONNECT
acl SSL_ports port 443 563
##ACLS
acl sitesbloqueados url_regex -i "/etc/squid/bloqueados"
#acl hora_manha time MTWHF 07:00-11:30
#acl hora_tarde time MTWHF 14:00-19:00
#acl hosts_macaddress arp "/etc/squid3/"
acl redelocal src 192.168.1.0/24
##Controle de acesso
#http_access deny sitesbloqueados hora_manha
#http_access deny sitesbloqueados hora_tarde
http_access allow localhost
http_access allow localnet
http_access deny all
# Email do ADM Cache Squid
#cache_mgr webmaster usuario@dominio.com.br


FIREWALL


#!/bin/bash
iptables -F
iptables -X
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

echo 0 > /proc/sys/net/ipv4/conf/all/log_martians
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/ip_dynaddr


modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128
iptables -A FORWARD -t filter -j ACCEPT
iptables -A FORWARD -t filter -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT
#iptables -A INPUT -p tcp --dport 33214:33234 -j ACCEPT
#iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
#iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
#iptables -A INPUT -p tcp --dport 13000 -j ACCEPT
#iptables -A INPUT -p tcp --dport 14000 -j ACCEPT

iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -o eth+ -j MASQUERADE

chmod +x /etc/init.d/firewall

/etc/init.d/firewall


Grande Abraço




11. Re: Squid/Firewall [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 19/09/2013 - 20:37h

Squid autenticado:
http://www.vivaolinux.com.br/artigo/Squid-+-Iptables-Combinacao-Infalivel/?pagina=4

Mas mesmo o Squid autenticado não irá resolver teu problema.
Veja bem, o roteador wireless que está distribuindo tua rede wireless está conectado fisicamente ANTES do servidor com Squid, por isso não está passando pelo Squid e por isso basta colocar o IP do roteador para navegar na rede wireless sem passar pelo proxy.

Você deve redirecionar no modem/roteador a rede wireless para passar no servidor com Squid e depois retornar ao roteador.

Ou compra uma antena wireless e coloca no servidor, ou (mais aconselhável) compra um roteador ou um access point wireless e coloca no meio do caminho para distribuir a rede wireless.

E quanto a mudar a faixa de IPs não vai ser stress nenhum, é só mudar no DHCP e no Squid, pois teu Squid é transparente e provavelmente tuas máquinas clientes estão com IP automático.


12. Re: Squid/Firewall [RESOLVIDO]

Lenoxx
xlinux

(usa Ubuntu)

Enviado em 20/09/2013 - 08:58h

Beleza entendi agora o que devo fazer, só um comentário os ips são fixos... nesse caso alteraria alguma coisa?????

outra coisa não tenho nenhum servidor de DNS na rede preciso configurar o bind no server?
Além disso só uma dúvida só eu que estou navegando pelo proxy para testes e percebo que tá muito lento, nesse caso o que eu poderia fazer para acelerar o processo....



att






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts