Tiago_Ribeiro 0 Denunciar post Postado Setembro 21, 2006 Galera.. um problema.. Criei esse script do iptables com a utilizaçao de outros e scripts q encontrei na internet.. So que tem um porem, nao deixa acessar o msn?? como liberar?? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Segue script.... #!/bin/bash# FIREWALL IPTABLES# CRIADO 12/09# TIAGO G. RIBEIRO.# LINUX###################################################################################IPTABLES="/sbin/iptables"MODPROBE="/sbin/modprobe"IF_EXT="192.168.0.0/24"IF_INT="192.168.1.0/24"I_EXT="eth0" # Link NetI_INT="eth1" # RedeI_LOC="lo"IP_SSH="192.168.1.10"#==================================================================================# Inciando Firewall.#==================================================================================startFirewall(){ limpa_regras # Limpando todas regras Firewall carrega_modulos # Carregando modulos necessarios. regras_default # Regras default #-------------------------------------------------------------------------- cria_chain_trojan # Cria Chains de trojans cria_chain_INT_EXT # Cria chains de ACEESO (INT) X (EXT) cria_chain_EXT_INT # Cria chains de ACESSO (EXT) X (INT) #-------------------------------------------------------------------------- cria_regras_INPUTOUTPUT # Criando regras entrada e saida. cria_regra_liberaproxy # Liberando maquinas do proxy cria_regras_FORWARD # regras rede interna internet cria_regras_POSTROUTING # Criando o proxy transparente }#==================================================================================# Carrega Modulos.#==================================================================================carrega_modulos(){ # fazer NAT, de forma geral compartilha a interenet com forward $MODPROBE iptable_nat # resolve os problemas de FTP, sempre que tiver problemas com acesso a sites de FTP, #lentidão, problemas de login ou acesso, tente carregar estes modulos relacionados a FTP. $MODPROBE ip_conntrack $MODPROBE ip_conntrack_ftp $MODPROBE ip_nat_ftp # utlizado nas opções que geram log. $MODPROBE ipt_LOG $MODPROBE ipt_REJECT $MODPROBE ipt_MASQUERADE}#==================================================================================# Limpa Firewall#==================================================================================limpa_regras(){ $IPTABLES -F $IPTABLES -F -t filter # flush nas regras de filter $IPTABLES -F -t nat # flush nas regras de nat $IPTABLES -F -t mangle # flush nas regras de mangle $IPTABLES -X -t filter # deleta chains de filter $IPTABLES -X -t nat # deleta chains de nat $IPTABLES -X -t mangle # deleta chains de mangle $IPTABLES -Z -t filter # zera contadores de filter $IPTABLES -Z -t nat # zera contadores de nat $IPTABLES -Z -t mangle # zera contadores de mangle}#==================================================================================# Regra default#==================================================================================regras_default(){ $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP}#==================================================================================# Chain INT_EXT# serviços liberado rede (INT) para rede (EXT)#==================================================================================cria_chain_INT_EXT(){ # Novo chain. $IPTABLES -N INT_EXT # Liberando o chain $IPTABLES -A INT_EXT -j ACCEPT # Serviços liberados pelo chain $IPTABLES -A INT_EXT -p tcp --dport 25 -j ACCEPT # smtp $IPTABLES -A INT_EXT -p tcp --dport 110 -j ACCEPT # Pop3 $IPTABLES -A INT_EXT -p tcp --dport 21 -j ACCEPT # FTP $IPTABLES -A INT_EXT -p tcp --dport 20 -j ACCEPT # FTP dat $IPTABLES -A INT_EXT -p tcp --dport 1024:5000 -j ACCEPT # faixa para resposta internet. # Dropando o que sobrar e log. $IPTABLES -A INT_EXT -j LOG --log-prefix "FIREWALL INT_EXT :" $IPTABLES -A INT_EXT -j DROP}#==================================================================================# Chain EXT_INT# serviços liberado rede (EXT) para rede (INT)#==================================================================================cria_chain_EXT_INT(){ # Novo chain. $IPTABLES -N EXT_INT # liberando chain $IPTABLES -A EXT_INT -j ACCEPT # Dropando o que sobrar e log. $IPTABLES -A EXT_INT -j LOG --log-prefix "FIREWALL INT_EXT :" $IPTABLES -A EXT_INT -j DROP}#==================================================================================# Criando chains de trojan#==================================================================================cria_chain_trojan(){ ### END_TROJAN $IPTABLES -N END_TROJAN $IPTABLES -A END_TROJAN -j LOG --log-prefix "FIREWALL: Trojan! " $IPTABLES -A END_TROJAN -j DROP ### TROJANS # Alguns trojans, os mais comuns # Nào é necessário checar por trojans se você adota a política de # tudo fechado, abrem-se as excessões. Mas, você pode querer verificar # mesmo assim, para poder registrar um log mais específico (nosso caso). $IPTABLES -N TROJAN_CHECK $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 555 # phAse zero $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 555 # phAse zero $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 1243 # Sub-7, SubSeven $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 1243 # Sub-7, SubSeven $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 3129 # Masters Paradise $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 3129 # Masters Paradise $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 6670 # DeepThroat $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 6670 # DeepThroat $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 6711 # Sub-7, SubSeven $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 6711 # Sub-7, SubSeven $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 6969 # GateCrasher $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 6969 # GateCrasher $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 12345 # NetBus $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 12345 # NetBus $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 21544 # GirlFriend $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 21544 # GirlFriend $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 23456 # EvilFtp $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 23456 # EvilFtp $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 27374 # Sub-7, SubSeven $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 27374 # Sub-7, SubSeven $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 30100 # NetSphere $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 30100 # NetSphere $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 31789 # Hack'a'Tack $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 31789 # Hack'a'Tack $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 31337 # BackOrifice, and many others $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 31337 # BackOrifice, and many others $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p tcp --dport 50505 # Sockets de Troie $IPTABLES -A TROJAN_CHECK -j END_TROJAN -p udp --dport 50505 # Sockets de Troie}#==================================================================================# Criando regras Input e Output - Politica default = DROP#==================================================================================cria_regras_INPUTOUTPUT(){ # liberando LOC $IPTABLES -A INPUT -i $I_LOC -j ACCEPT #Libera tudo ateh a casa arrumar $IPTABLES -A INPUT -j ACCEPT $IPTABLES -A OUTPUT -j ACCEPT # Aceita ssh da maquina definida (manutenção) $IPTABLES -A INPUT -j ACCEPT -p tcp -s $IP_SSH --dport ssh $IPTABLES -A OUTPUT -j ACCEPT -p tcp -d $IP_SSH --sport ssh #Aceita que o firewall acesse a web $IPTABLES -A INPUT -j ACCEPT -p tcp --sport 80 $IPTABLES -A OUTPUT -j ACCEPT -p tcp --dport 80 #Aceita squid $IPTABLES -A INPUT -j ACCEPT -s $IF_INT -p tcp --dport squid $IPTABLES -A OUTPUT -j ACCEPT -p tcp --sport squid #Aceita conexao com o no-ip.com $IPTABLES -A INPUT -j ACCEPT -p tcp --sport 8245 $IPTABLES -A OUTPUT -j ACCEPT -p tcp --dport 8245 # Aceita conexoes da rede interna $IPTABLES -A INPUT -j ACCEPT -s $IF_INT $IPTABLES -A OUTPUT -j ACCEPT -d $IF_INT # Aceita consultas a DNSs externos $IPTABLES -A INPUT -j ACCEPT -p udp --sport domain --dport 1024: $IPTABLES -A OUTPUT -j ACCEPT -p udp --sport 1024: --dport domain $IPTABLES -A INPUT -j ACCEPT -p udp --dport domain $IPTABLES -A OUTPUT -j ACCEPT -p udp --sport domain # Liberando web serv $IPTABLES -A INPUT -p tcp --dport 8080 -j LOG --log-prefix "FIREWALL : ServWeb: " $IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT # Acesso a ServWEb # Checa por trojans, para logar diferenciado $IPTABLES -A INPUT -j TROJAN_CHECK -m state --state NEW}#==================================================================================# Criando regras FORWARD - Politica default = DROP#==================================================================================cria_regras_FORWARD(){ # Se for inválido, jogamos fora $IPTABLES -A FORWARD -j DROP -m state --state INVALID # Se já está estabelecida, pode passar $IPTABLES -A FORWARD -j ACCEPT -m state --state ESTABLISHED # Se relacionada, pode passar (inclusive ftp & cia caem aqui) $IPTABLES -A FORWARD -j ACCEPT -m state --state RELATED # Verifica Existencia trojan rede interna tentando ir para fora. $IPTABLES -A FORWARD -j TROJAN_CHECK # liberando a rede interna e externa. $IPTABLES -A FORWARD -j ACCEPT -s $IF_EXT -d $IF_INT $IPTABLES -A FORWARD -j ACCEPT -s $IF_INT -d $IF_EXT # liberando serviços. # rede interna para rede externa. $IPTABLES -A FORWARD -j INT_EXT -s $IF_INT -o $I_EXT # liberando serviços. # rede externa para rede interna $IPTABLES -A FORWARD -j EXT_INT -s $IF_EXT -o $I_INT}#==================================================================================# Liberando maquinas proxy#==================================================================================cria_regra_liberaproxy(){ # liberando maquinas do proxy. # $IPTABLES -t nat -A PREROUTING -i $I_NT -s 192.168.1.10 -p tcp -m multiport --dport 80,443 -j ACCEPT # Direcina a porta 8080 para a maquina 192.168.100 na porta 80 $IPTABLES -A PREROUTING -t nat -p tcp -i $I_EXT --dport 8080 -j DNAT --to 192.168.1.1:80}#==================================================================================# Criando regras Proxy transparente#==================================================================================cria_regras_POSTROUTING(){ # Proxy transparente $IPTABLES -t nat -A PREROUTING -i $I_INT -p tcp -m multiport --dport 80,443 -j REDIRECT --to-port 3128 # Compartilhando a internet (ultimo comando sempre). echo 1 > /proc/sys/net/ipv4/ip_forward $IPTABLES -t nat -A POSTROUTING -o $I_EXT -j MASQUERADE}#==================================================================================# Opçoes firewall#==================================================================================startFirewall Por favor se alguem e mais entendido nessa parte e puder me ajudar?? Um detalhe não quero q a maquina que vou liberar o msn deixei de usar o proxy cache (SQUID) Agradeço.. Obrigado... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 21, 2006 Apenas uma alternativa... Tentou configurar o MSN para usar o Proxy? Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_Ribeiro 0 Denunciar post Postado Setembro 21, 2006 Intrigante, pq normalmente se o msn nao consegui entrar por porta 1863 ele tenta pela 80 que esta no proxy (transparente).. correto..No proxy a porta (http) 80 (https) 443 estao numa acl liberada... E um detalhe...Mesmo se tentar acessar o email no direto no site do hotmail ele tb nao deixa passar... o site do email... loga tudo, mais sempre carregando e nunca termina... IdeiaS?? Sugestoes?? Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 22, 2006 Bem, eu tenho quase certeza que o MSN não consegue passar usando proxy transparente. Tente configurar manualmente, no MSN, para ele usar o Proxy na porta 3128. Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_Ribeiro 0 Denunciar post Postado Setembro 22, 2006 Estranho, pq nao empresa que trabalho não a necessidade dessa configuraçao.Sera que criam entao um nat?? direto para a porta 1863.. valeu. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Setembro 23, 2006 Mas lá na empresa eles usam proxy transparente ou o mascaramento da internet é direto pelo iptables? Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_Ribeiro 0 Denunciar post Postado Setembro 23, 2006 Proxy transparente.Ja tambem liberei a porta 443 para sair e 1863.. tb.. e nada.. ALguem tem ideia?? Compartilhar este post Link para o post Compartilhar em outros sites
luiz humberto 0 Denunciar post Postado Setembro 26, 2006 Fez a configuração do proxy no msn? Nos lugares onde mencionou que não faz essa configuração pode ser duas coisas, ou o proxy é transparente, ou na regra do iptables tá liberada a porta 1863.Para resolver o seu problema pode fazer testes como por exemplo, fazer um script que libera tudo apenas para testar, verificar no log do proxy o que pode está acontecendo. Compartilhar este post Link para o post Compartilhar em outros sites