Problemas p/ liberar msn e SSL com iptables
E daí galera blz?
estou implementando um servidor de proxy+firewall aqui na empresa onde trabalho com squid+iptables. Sou usuario de linux a algum tempo mas comecei explorar seus recurso mesmo a alguns meses, (alias cada dia me apaixono mais por esse S.O.) mas ainda apanho com coisas pequenas que provavelmente muitos já tenham passado. Bom voltando aos meus problemas, oq ocorre é o seguinte: estou com meu squid transparete em perfeito funcionamento bloqueando e liberando sites, downloads etc... exatamente com eu queria, mas qto ao meu firewall estou com dificuldade para que eu possa liberar o msn e SSL para minha lan pois deixei meu firewall com a polÍtica de negar tudo e liberar apenas os serviços que for necessário, e um desses serviços é o msn messenger.
Fiz um teste deixando o squid rodando e apenas fazendo o redirecionmento da porta 80 para 3128 e mascaramento no iptables de deixando a política de segurança padrão para testar o squid, dessa forma tudo funciona, portanto não tenho problemas com squid.
Quando executo meu script com as regras do iptables os serviços acima mencionados não funcionam.
Como poderia resolver isso?
Segue abaixo meu script de regras do iptables
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A FORWARD -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p udp -j ACCEPT
iptables -A FORWARD -i eth0 -p udp -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 53 -j ACCEPT #dns
iptables -A FORWARD -i eth1 -p udp --sport 53 -j ACCEPT #dns
iptables -A INPUT -i eth1 -m multiport -p tcp --sport 80,443 -j ACCEPT #http
iptables -A FORWARD -i eth1 -m multiport -p tcp --sport 80,443 -j ACCEPT #http
iptables -A INPUT -i eth1 -p icmp -j ACCEPT #ping
iptables -A FORWARD -i eth1 -p icmp -j ACCEPT #ping
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT #squid
iptables -A FORWARD -i eth0 -p tcp --dport 3128 -j ACCEPT #squi
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT #pop
iptables -A FORWARD -i eth0 -p tcp --dport 110 -j ACCEPT #pop
iptables -A INPUT -i eth1 -p tcp --sport 25 -j ACCEPT #smtp
iptables -A FORWARD -i eth1 -p tcp --sport 25 -j ACCEPT #smtp
iptables -A INPUT -i eth0 -p tcp --dport 5005 -j ACCEPT #apache
iptables -A FORWARD -i eth0 -p tcp --dport 5005 -j ACCEPT #apache
#############------msn-----------------#################################
iptables -A INPUT -i eth0 -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 1863 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --sport 1863 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --sport 1863 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 1863 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --sport 1863 -j ACCEPT
#############------msn-----------------#################################
iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -m multiport -p tcp --dport 80,443 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -j MASQUERADE
Valeu galera!!
Re: Problemas p/ liberar msn e SSL com iptables
iptables -t nat -A POSTROUTING -j MASQUERADE???
Problemas p/ liberar msn e SSL com iptables
sim! essa é a regra que estou usando para mascarar meus pacotes. Tem algo de errado ?
#iptables -t nat -A POSTROUTING -j MASQUERADE
Problemas p/ liberar msn e SSL com iptables
#iptables -t nat -A POSTROUTING -o ethX -j MASQUERADE
Problemas p/ liberar msn e SSL com iptables
desta forma que estou fazendo o mascaramento tb está funcionando! mas será que isso estaria influenciando qto ao fato de não conseguir liberar o msn e SSL?
Problemas p/ liberar msn e SSL com iptables
primeiro deve liberar as portas, depois fechar !
Problemas p/ liberar msn e SSL com iptables
nycolasbs veja este tópico.
https://under-linux.org/modules.php?...wtopic&t=30342
crie um usuário proxy no squid e utiliza este usuário para conectar os msn.
Problemas p/ liberar msn e SSL com iptables
SSL usa porta TCP 443
Para entender melhor o iptables recomendo a leitura do guia-foca.
http://focalinux.cipsga.org.br/
Problemas p/ liberar msn e SSL com iptables
Problemas p/ liberar msn e SSL com iptables
SSL não funciona com proxy transparente, somente configurando o proxy no browser ou fazendo nat, pelo que vi você está redirecionando a porta 443 do SSL para a porta do squid 3128, por isso não está funcionando, apenas libere no iptables essa porta e tire o redirecionamento dela.
Problemas p/ liberar msn e SSL com iptables
Com relação ao msn
Já fez um teste tirando essas regras:
iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Essa regra abaixo não deveria existir pois o INPUT são para pacotes destinados a sua máquina e ela não é o servidor do msn, então não deverá aceitar pacotes destinados a porta 1863.
iptables -A INPUT -i eth0 -p tcp --dport 1863 -j ACCEPT
Essa abaixo, somente se o msn no cliente estiver configurado para utilizar o proxy na porta 3128.
iptables -A INPUT -i eth1 -p tcp --sport 1863 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 1863 -j ACCEPT
Re: Problemas p/ liberar msn e SSL com iptables
Citação:
Postado originalmente por nycolasbs
E daí galera blz?
estou implementando um servidor de proxy+firewall aqui na empresa onde trabalho com squid+iptables. Sou usuario de linux a algum tempo mas comecei explorar seus recurso mesmo a alguns meses, (alias cada dia me apaixono mais por esse S.O.) mas ainda apanho com coisas pequenas que provavelmente muitos já tenham passado. Bom voltando aos meus problemas, oq ocorre é o seguinte: estou com meu squid transparete em perfeito funcionamento bloqueando e liberando sites, downloads etc... exatamente com eu queria, mas qto ao meu firewall estou com dificuldade para que eu possa liberar o msn e SSL para minha lan pois deixei meu firewall com a polÍtica de negar tudo e liberar apenas os serviços que for necessário, e um desses serviços é o msn messenger.
Fiz um teste deixando o squid rodando e apenas fazendo o redirecionmento da porta 80 para 3128 e mascaramento no iptables de deixando a política de segurança padrão para testar o squid, dessa forma tudo funciona, portanto não tenho problemas com squid.
Quando executo meu script com as regras do iptables os serviços acima mencionados não funcionam.
Como poderia resolver isso?
Segue abaixo meu script de regras do iptables
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A FORWARD -i eth0 -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -p udp -j ACCEPT
iptables -A FORWARD -i eth0 -p udp -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 53 -j ACCEPT #dns
iptables -A FORWARD -i eth1 -p udp --sport 53 -j ACCEPT #dns
iptables -A INPUT -i eth1 -m multiport -p tcp --sport 80,443 -j ACCEPT #http
iptables -A FORWARD -i eth1 -m multiport -p tcp --sport 80,443 -j ACCEPT #http
iptables -A INPUT -i eth1 -p icmp -j ACCEPT #ping
iptables -A FORWARD -i eth1 -p icmp -j ACCEPT #ping
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT #squid
iptables -A FORWARD -i eth0 -p tcp --dport 3128 -j ACCEPT #squi
iptables -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT #pop
iptables -A FORWARD -i eth0 -p tcp --dport 110 -j ACCEPT #pop
iptables -A INPUT -i eth1 -p tcp --sport 25 -j ACCEPT #smtp
iptables -A FORWARD -i eth1 -p tcp --sport 25 -j ACCEPT #smtp
iptables -A INPUT -i eth0 -p tcp --dport 5005 -j ACCEPT #apache
iptables -A FORWARD -i eth0 -p tcp --dport 5005 -j ACCEPT #apache
#############------msn-----------------#################################
iptables -A INPUT -i eth0 -p tcp --dport 1863 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 1863 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --sport 1863 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --sport 1863 -j ACCEPT
iptables -A INPUT -i eth1 -p udp --sport 1863 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --sport 1863 -j ACCEPT
#############------msn-----------------#################################
iptables -A OUTPUT -m state --state NEW -o eth0 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state NEW -o eth0 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -m multiport -p tcp --dport 80,443 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -j MASQUERADE
Valeu galera!!