[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

SOLUÇÃO FINAL <<< portas 25 e 110 >>> SOLUÇÃO FINAL



Gente por favor!
olha só, não entendi uma coisa.
o Roney diz:
> Neste caso , estamos assim:
> ip válido : 200.xxx.xxx.xxx
> ip da rede : 10.0.0.0/8
> ip do firewall na rede : 10.0.0.1
> eth1 interface da internet
> eth0 interface da rede local
mas a eth0 não é a mesma coisa que o IP do Firewall na rede:10.0.0.1???
se alguém conseguir me explica de uma forma diferente agradeço.
link oficial da mensagem abaixo é: http://br.groups.yahoo.com/group/squid-br/message/9132 

 

 

--- Em squid-br@yahoogrupos.com.br, "Roney" <roney_linux@...> escreveu
>
>
> Pessoal, o meu problema estava em resolver o DNS externamente...
> abaixo segue o script que adotei e funcionou.
>
> Grato a todos,
> Roney Fábio
> ____________________________________________________________________________________
>
> Fonte: http://www.linuxplace.com.br/sqush_place/1066680668/iptables+squid+outlook.txt
> Acesso em:01/12/2003
> _____________________________________________
> IMPLEMENTANDO IPTABLES + OUTLOOK + SQUID
> por Márcio Oliveira (beastie)
>
> Introdução
>
>    Bom pessoal, meu objetivo não é construir um
> firewall muito avançado, nem mostrar regras muito
> especificas, meu objetivo é implementar um firewall
> simples, que possibilite a navegação e uso de SQUID +
> OUTLOOK, para uma pequena ou grande rede, dependendo
> da necessidade.
>
>    Neste caso , estamos assim:
> ip válido : 200.xxx.xxx.xxx
> ip da rede : 10.0.0.0/8
> ip do firewall na rede : 10.0.0.1
> eth1 interface da internet
> eth0 interface da rede local
>
> IPTABLES
>
>   Vou usar IPTables, pois está muito estável e é uma
> boa "pedida" quando falamos em firewall, apesar de eu
> particularmente usar também ipchains em firewalls mais
> antigos e me divertir com ipmasqadm mfw e portfw...
> hehehe...
>
>   Basico do básico, vamos começar a carregar os
> módulos:
>
> /sbin/modprobe ip_tables
> /sbin/modprobe iptable_filter
> /sbin/modprobe ip_conntrack
> /sbin/modprobe ip_conntrack_ftp
> /sbin/modprobe iptable_nat
> /sbin/modprobe ip_nat_ftp
> /sbin/modprobe ipt_LOG
> /sbin/modprobe ipt_state
> /sbin/modprobe ipt_MASQUERADE
>
>
>   Beleza, carregados os módulos, vamos dar um
> "flushing" no firewall, para não termos problemas do
> tipo: Porque quando eu tiro o proxy do navegador ele
> continua a utilizar a internet?"...
>
> /usr/sbin/iptables -F
> /usr/sbin/iptables -Z
> /usr/sbin/iptables -X
> /usr/sbin/iptables -t nat -F
> /usr/sbin/iptables -P INPUT DROP
> /usr/sbin/iptables -P FORWARD DROP
> /usr/sbin/iptables -P OUTPUT ACCEPT
>
>   Detalhes relevantes: nunca se esqueça de dar um
> flushing na tabela nat também, e pessoal, pensa bem,
> você tem que liberar o que É NECESSÁRIO, e não tudo,
> por isso o Policy padrão de input e do forward é DROP,
> porque se não ta nas regras, ou você esqueceu ou não é
> para estar liberado! Isso evita acidentes "comuns".
>
>    Habilitando roteamento e demais cositas...
>
> echo "1" > /proc/sys/net/ipv4/ip_forward
>
> echo "1" >
> /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
>
>    No meu firewal nada de scan...
>
>    INPUT
>
>    Vamos liberar o INPUT para a interface de loopback,
> que só vai ser usada pelo servidor, mas com origem de
> qualquer ip, para não ter perigo de não manipular
> alguns pacotes:
>
> /usr/sbin/iptables -A INPUT -p ALL -s 127.0.0.1 -i lo
> -j ACCEPT
> /usr/sbin/iptables -A INPUT -p ALL -s 10.0.0.1 -i lo
> -j ACCEPT
> /usr/sbin/iptables -A INPUT -p ALL -s 200.xxx.xxx.xxx
> -i lo -j ACCEPT
>
>    Agora uma regra que eu procuro colocar no começo,
> que na minha opinião melhora um "pouco" a performance
> do firewall já que a leitura das regras para os
> pacotes é linear. Ela diz que toda conexão
> estabilizada ou relacionada com o meu firewall deve
> ser mantida e não analizada pelas proximas regras:
>
> /usr/sbin/iptables -A INPUT -m state --state
> RELATED,ESTABLISHED -j ACCEPT
>
>    Libera as respostas dos DNS para meu firewall
>
> /usr/sbin/iptables -A INPUT -p udp -s 200.204.0.10
> --sport 53 -d 200.xxx.xxx.xxx -j ACCEPT
> /usr/sbin/iptables -A INPUT -p udp -s 200.204.0.138
> --sport 53 -d 200.xxx.xxx.xxx -j ACCEPT
>
>    Nada de pacote fragmentado no meu firewall! Se
> temos um programa criando pacotes despadronizados ou
> uma tentativa de ataque, o problema não é meu!
>
> /usr/sbin/iptables -A INPUT -i eth1 -f -j LOG
> --log-prefix "Pacote INPUT fragmentado: "
> /usr/sbin/iptables -A INPUT -i eth1 -f -j DROP
>
>    (Não esquecendo de logar o pacote fragmentado para
> descobrir oquê ele é).
>
>    Evitando Spoofing:
>
> /usr/sbin/iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j
> DROP
> /usr/sbin/iptables -A INPUT -i eth1 -s 172.16.0.0/12
> -j DROP
> /usr/sbin/iptables -A INPUT -i eth1 -s 192.168.0.0/16
> -j DROP
> /usr/sbin/iptables -A INPUT -i eth1 -s 224.0.0.0/4 -j
> DROP
> /usr/sbin/iptables -A INPUT -i eth1 -s 240.0.0.0/5 -j
> DROP
>
>    Obs: as mascaras estão corretas.
>
>    Regras para ping, aqui varia muito de admin para
> admin, eu só libero resposta de ping de outros ips,
> ping para minha rede interna e ping do servidor da
> minha empresa para o firewall do cliente, como ta na
> ultima linha:
>
> /usr/sbin/iptables -A INPUT -p icmp --icmp-type 8 -i
> eth0 -j ACCEPT
> /usr/sbin/iptables -A INPUT -p icmp --icmp-type 0 -j
> ACCEPT
> /usr/sbin/iptables -A INPUT -p icmp -s 200.20x.xxx.xxx
> -d 200.xxx.xxx.xxx -j ACCEPT
>
>    Libero o acesso as squid para minha rede interna:
>
> /usr/sbin/iptables -A INPUT -p TCP -i eth0 -s
> 10.0.0.0/8 --dport 3128 -j ACCEPT
>
>    Libero o acesso ao ssh:
>
> /usr/sbin/iptables -A INPUT -p TCP --dport 22 -j
> ACCEPT
>
>    Libera resposta de servidores www para meu squid:
>
> /usr/sbin/iptables -A INPUT -p TCP -i eth1 --sport 80
> -j ACCEPT
> /usr/sbin/iptables -A INPUT -p TCP -i eth1 --sport 443
> -j ACCEPT
> /usr/sbin/iptables -A INPUT -p TCP -i eth1 --sport 20
> -j ACCEPT
> /usr/sbin/iptables -A INPUT -p UDP -i eth1 --sport 21
> -j ACCEPT
>
>    Ora de mandar embora as porcarias, agora que ta
> tudo que eu preciso liberado:
>
> /usr/sbin/iptables -A INPUT -p tcp --dport 3128 -j
> REJECT --reject-with tcp-reset
> /usr/sbin/iptables -A INPUT -j LOG --log-prefix
> "Pacote input descartado: "
> /usr/sbin/iptables -A INPUT -j DROP
>
>    Não esqueça de sempre logar o que você descarta,
> pois pode ser uma tentativa de ataque ou uma porta que
> deve ser liberada para um programa funcionar!
>
>    FORWARD
>
>    Já começamos com barra pesada no forward,
> descartando os pacotes inválidos, coisa que no
> ipchains deixa os admins de firewall loucos:
>
> /usr/sbin/iptables -A FORWARD -m state --state INVALID
> -j DROP
>
>    Aceita as conexões estabilizada e recionadas com
> outras feitas nos pcs da minha rede interna:
>
> /usr/sbin/iptables -A FORWARD -m state --state
> RELATED,ESTABLISHED -j ACCEPT
>
>    Opa, aqui está um dos segredos para o outlook
> funcionar, uma coisa que ninguém faz e todo mundo
> reclama que o teu outlook não funciona, é liberar a
> resposta e o acesso aos resolvedores de nome, para que
> o outlook transforme o nome que ele possui no
> servoidor smtp e pop em um ip:
>
> /usr/sbin/iptables -A FORWARD -p udp -s 10.0.0.0/8 -d
> 200.204.0.10 --dport 53 -j ACCEPT
> /usr/sbin/iptables -A FORWARD -p udp -s 10.0.0.0/8 -d
> 200.204.0.138 --dport 53 -j ACCEPT
> /usr/sbin/iptables -A FORWARD -p udp -s 200.204.0.10
> --sport 53 -d 10.0.0.0/8 -j ACCEPT
> /usr/sbin/iptables -A FORWARD -p udp -s 200.204.0.138
> --sport 53 -d 10.0.0.0/8 -j ACCEPT
>
>    Feito isso, vamos liberar para a minha rede interna
> as portas que o outlook vai utilizar para acessar os
> servidores externos:
>
> /usr/sbin/iptables -A FORWARD -p TCP -s 10.0.0.0/8
> --dport 25 -j ACCEPT
> /usr/sbin/iptables -A FORWARD -p TCP -s 10.0.0.0/8
> --dport 110 -j ACCEPT
> /usr/sbin/iptables -A FORWARD -p tcp --sport 25 -j
> ACCEPT
> /usr/sbin/iptables -A FORWARD -p tcp --sport 110 -j
> ACCEPT
>
>   Pronto, o nosso objetivo do outlook funcionar está
> OK! Agora vamos dropar o resto, nunca se esquecendo de
> logar isso:
>
> /usr/sbin/iptables -A FORWARD -j LOG --log-prefix
> "Pacote forward descartado: "
> /usr/sbin/iptables -A FORWARD -j DROP
>
>   No caso da rede que eu fiz isso, eram poucos pcs,
> uns 30, então em masquerei a conexão mesmo, mas nada
> te impede de usar SNAT:
>
> /usr/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
>
>   Entendendo o Funcionamento do Outlook:
>
>   Bem pessoal, depois de tudo isso as regras estão ai,
> mas pode ser que não entendam o funcionamento do
> outlook, então vamos lá:
>
> * Foi liberado o acesso da minha rede interna aos
> resolvedores de nome (200.204.0.10 e 200.204.0.138)
> para que o outlook consiga transformar
> pop.domain.com.br em um ip.
> * Foi liberada requisição das estações nas portas 25 e
> 110 na rede externa e resposta da rede externa pelas
> portas 25 e 110.
> * Não esquecendo que as conexões da rede interna estão
> sendo mascaradas e toda conexão estabelecida ou
> relacionada por elas é aceita, não sofrendo novamente
> a verificação das regras do firewall subsequentes.
> * Não se esqueça do principal: a configuração da
> estação de trabalho deve ser a serguinte:
> gateway : 10.0.0.1 (no meu caso, este é o ip do
> firewall)
> dns primário : 200.204.0.10
> dns secundário : 200.204.0.138
>
> Sem essas configurações nas estações, nada funcionará.
>
>   Pronto, as simples regras estão OK e o outlook
> funciona!!!
>
> Márcio Oliveira (beastie)
> Analista Linux
> Netkraft Tecnologia de Redes
> marcio@...
>
> Fontes de Pesquisa:
>
> Meu Dia-a-Dia.
>

 


--
|--------------------------------------------------|
|    Marcelo Manzano                    |
|    Cel.99603104                          |
|     manzano.marcelo@gmail.com  |
|--------------------------------------------------|

Reply to: