+ Responder ao Tópico



  1. #1
    icefox
    Visitante

    Padrão regras de firewall

    pessoal nao estou conseguindo resolver o problema com minhas regras, eu ja li muito tutorial e estou querendo resolver o problema, minha intencao é bloquear tudo e abrir o q preciso, mas nao esta funcionando, alguem poderia me informar onde estou errando ?

    #!/bin/sh
    # carrega os modulos de ip
    modprobe ip_tables
    modprobe iptable_nat
    # limpa todas as regras de firewall
    iptables -F
    iptables -t nat -F

    # fecha tudo
    # -P diz que se o firewall receber um pacote de rede e nao tem regra setada para ele, o firewall
    # deve nega-lo por causa da politica padrao, que e o -P....-j DROP
    #iptables -P INPUT -j DROP nao funcionou
    #iptables -P OUTPUT -j DROP nao funcionou
    #iptables -P FORWARD -j DROP nao funcionou

    # assim dessa forma eu consigo navegar se eu trocar ACCEPT por DROP eu nao navego
    iptables -A INPUT -j ACCEPT
    iptables -A OUTPUT -j ACCEPT
    iptables -A FORWARD -j ACCEPT

    # compartilha a conexao
    modprobe iptable_nat
    iptables -t nat -A POSTROUTING -s 10.30.26.0/24 -o wlan0 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 10.100.21.0/24 -o wlan0 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward



    # abre porta
    # 1222 é para o ssh q foi alterado de 22
    iptables -A INPUT -p tcp --destination-port 1222 -j ACCEPT
    #Habilitando porta de SSH
    iptables -A INPUT -p tcp --syn -s 10.30.26.80 --dport 1222 -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 10.100.16.1 --dport 1222 -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 10.100.21.1 --dport 1222 -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 200.199.36.219 --dport 1222 -j ACCEPT

    # 1863 msn
    iptables -A INPUT -p tcp --destination-port 1863 -j ACCEPT
    iptables -A OUTPUT -p tcp --destination-port 1863 -j ACCEPT
    iptables -A FORWARD -p tcp --destination-port 1863 -j ACCEPT

    # porta do squid mudou de 3128 para 3000
    iptables -A INPUT -p tcp --destination-port 3000 -j ACCEPT

    # abre para rede local, por ordem (CASA FCO, ESCRITORIO, CASA TUPI)
    iptables -A INPUT -p tcp --syn -s 10.100.21.0/24 -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 10.30.26.0/24 -j ACCEPT
    iptables -A INPUT -p tcp --syn -s 10.100.16.0/24 -j ACCEPT
    iptables -A OUTPUT -p tcp --syn -s 10.100.21.0/24 -j ACCEPT
    iptables -A OUTPUT -p tcp --syn -s 10.30.26.0/24 -j ACCEPT
    iptables -A OUTPUT -p tcp --syn -s 10.100.16.0/24 -j ACCEPT
    iptables -A FORWARD -p tcp --syn -s 10.100.21.0/24 -j ACCEPT
    iptables -A FORWARD -p tcp --syn -s 10.30.26.0/24 -j ACCEPT
    iptables -A FORWARD -p tcp --syn -s 10.100.16.0/24 -j ACCEPT

    # redireciona a pora para o squid
    #iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 3000

    # rede local receber e-mails
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    #Libera o loopback
    iptables -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

    #Habilitando porta de SMTP, para rede local
    iptables -A INPUT -p tcp -s 10.30.26.0/24 --dport 25 -j ACCEPT
    iptables -A INPUT -p tcp -s 10.100.21.0/24 --dport 25 -j ACCEPT

    #Habilitando porta de FTP para rede local
    iptables -A INPUT -p tcp -s 10.30.26.0/24 --dport 21 -j ACCEPT
    iptables -A INPUT -p tcp -s 10.100.21.0/24 --dport 21 -j ACCEPT

    #Habilitando porta de DNS
    iptables -A INPUT -p tcp -s 10.30.26.0/24 --dport 53 -j ACCEPT
    iptables -A INPUT -p tcp -s 10.100.21.0/24 --dport 53 -j ACCEPT

    #Habilitando porta de POP3
    iptables -A INPUT -p tcp -s 10.100.21.0/24 --dport 110 -j ACCEPT
    iptables -A INPUT -p tcp -s 10.30.26.0/24 --dport 110 -j ACCEPT

    #Habilitando porta de DNS (UDP)
    iptables -A INPUT -p udp -s 10.100.21.0/24 --source-port 53 -j ACCEPT
    iptables -A INPUT -p udp -s 10.30.26.0/24 --source-port 53 -j ACCEPT

    #######PROTECOES##############################

    # protecao contra pacotes danificados ou suspeitos, essa opcao nao funcionou
    iptables -A FORWARD -m unclean -j DROP

    # protecao contra syn-floods
    iptables -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

    #Bloquear Back Orifice:
    iptables -A INPUT -p tcp --dport 31337 -j DROP
    iptables -A INPUT -p udp --dport 31337 -j DROP

    #Bloquear NetBus:
    iptables -A INPUT -p tcp --dport 12345:12346 -j DROP
    iptables -A INPUT -p udp --dport 12345:12346 -j DROP

    # protecao contra port scanners ocultos
    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    # Bloquear ping malicioso
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    # Bloqueia programas P2P
    #iMesh
    iptables -A FORWARD -d 216.35.208.0/24 -j REJECT
    #BearShare
    iptables -A FORWARD -p TCP --dport 6346 -j REJECT
    #ToadNode
    iptables -A FORWARD -p TCP --dport 6346 -j REJECT
    #WinMX
    iptables -A FORWARD -d 209.61.186.0/24 -j REJECT
    iptables -A FORWARD -d 64.49.201.0/24 -j REJECT
    #Napigator
    iptables -A FORWARD -d 209.25.178.0/24 -j REJECT
    #Morpheus
    iptables -A FORWARD -d 206.142.53.0/24 -j REJECT
    iptables -A FORWARD -p TCP --dport 1214 -j REJECT
    #KaZaA
    iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
    iptables -A FORWARD -p TCP --dport 1214 -j REJECT
    #Limewire
    iptables -A FORWARD -p TCP --dport 6346 -j REJECT
    #Audiogalaxy
    iptables -A FORWARD -d 64.245.58.0/23 -j REJECT

    #Bloqueando traceroute
    iptables -A INPUT -p udp -s 0/0 -i wlan0 --dport 33435:33525 -j DROP

    #Protecoes contra ataques
    iptables -A INPUT -m state --state INVALID -j DROP

    #Bloqueando pacotes fragmentados, essa regra nao funcionou
    #iptables -A INPUT -i wlan0 -m unclean -j log_unclean
    #iptables -A INPUT -f -i wlan0 -j log_fragment

    # o computador nao vai responder a pings
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

  2. #2

    Padrão regras de firewall

    voce fez quase tudo certo, exceto por:

    iptables -P CHAIN POLITICA

    nao tem o -j que voce colocou, é : iptables -P FORWARD DROP

    nao de DROP na output porque facilita muita coisa. e no final das suas regras falta por o state para poder funcionar com as suas regras (do jeito que voce usa usando o --syn)

    iptables -A CHAIN -m state --state RELATED,ESTABLISHED -j ACCEPT

    so falta isso pelo visto.

    # assim dessa forma eu consigo navegar se eu trocar ACCEPT por DROP eu nao navego
    iptables -A INPUT -j ACCEPT
    iptables -A OUTPUT -j ACCEPT
    iptables -A FORWARD -j ACCEPT
    e quando voce poem isso aqui voce libera tudo 100% sem passar pelas regras debaixo

  3. #3

    Padrão regras de firewall

    Uma dúvida.
    Li que o ideal é por a seguinte regra:

    $ iptables -P INPUT DROP

    E em seguida ir abrindo o necessário.
    Mas sempre que eu faço isso, eu não consigo fazer nada, nem navegar.

    Como contornar isso?

  4. #4

    Padrão regras de firewall

    De cara... Não precisa bloquear o que sai a partir de seu firewall. Se não, vai ter criar regras espećificas para tudo que é output.

    :good: :good: :good:

    Até...

    mtec

  5. #5

    Padrão Regras padrões

    Estas são minhas regras padrões.

    #Por padrão tudo será bloqueado
    #Depois eu liberarei o que preciso

    echo -n "Definindo as regras padrões..."

    #Bloqueando toda a entrada
    iptables -t filter -P INPUT DROP

    #Bloqueando o redirecionamento
    iptables -t filter -P FORWARD DROP

    #A saida por padrão será liberada
    iptables -t filter -P OUTPUT ACCEPT

    #Bloquando POSTROUTING
    iptables -t nat -P POSTROUTING DROP

    #Bloqueando PREROUTING
    iptables -t nat -P PREROUTING DROP

    echo "[OK]"

    Dai, quando preciso liberar algo, eu preciso liberar tanto no INPUT, FORWARD e PREROUTING, se não ele não funciona.

  6. #6

    Padrão regras de firewall

    Caro amigo,
    O nosso firewall que roda na empresa, foi instalada por terceiros, a cerca de 3 anos, rodando num Conectiva 8 até hoje.
    O nosso modem é um Alcatel Speed Touch Pro. Esse pessoal solicitou que a BrasilTelecom deixasse o modem com todas as portas abertas. Todas as regras/portas são liberadas ou bloqueadas pelo firewall.
    A política padrão é DROP, tanto para INPUT/OUTPUT/FORWARD. Depois vai liberando as portas necessárias. Tem funcionado legal até hoje.
    Outra coisa que li recentemente num artigo no www.abusar.org , é que se você der um telnet no ip do modem para acessá-lo, digitando usuário e senha, veja através do comando ipconfig se a opção FIREWALLING está ON ou OFF. Tivemos um problema seríssimo recentemente de lentidão na internet e era por causa dessa opção que estava OFF. Não se isso tem em todos as outras marcas de modens. Sei que por causa disso praticamente todas as seções do modem estava ocupada por spyware's vinda da rede interna. E como as seções que sobravam eram poucas a net ficava lentíssima.
    Um grande abraço ........ :good:

  7. #7
    icefox
    Visitante

    Padrão regras de firewall

    fiz os testes colocando DROP em INPUT, OUTPUT, FORWARD e nao naveguei
    fui mudando uma a uma e ficou ACCEPT em INPUT e OUTPUT, dessa forma eu consigui navegar, mas se eu estou aceitando tudo que entra e sai da minha maquina e bloqueando apenas o que atrevessa a maquina, entao minha regra ta errada. No tutorial que estou lendo, ele diz claramente, o melhor é bloquear tudo e depois ir abrindo, mas como fazer isso, se cada tutorial que leio me diz uma forma diferente de trabalhar. Qual a melhor maneira de se fazer um bom firewall

  8. #8

    Padrão regras de firewall

    Primeiro voces tem que aprender que como firewall é algo diferente em cada situacao, a parar de catar receita de bolo ... tem que entender como funciona. Existe um artigo aqui na underlinux que explica muito bem como ele funciona, apartir dai voce ja pode criar suas regras e pensar no que é melhor para a sua situacao ao inves de falar "li em um lugar que ...".

  9. #9

    Padrão regras de firewall

    Mistymst, bom dia caro moderador ......
    Você mencionou que "eu li em um lugar que ...." , eu até concordo em parte contigo.
    Mas caro amigo, são graças as sugestões que aprendemos aqui que conseguimos aprender, entender como funciona as configurações do Linux.
    É graças a você, Xtefanox, Demiurgo, etc, etc, da vida, que estamos aprendendo a entender como funciona o maravilhoso mundo Linux.
    Eu confesso mesmo amigo, que muita coisa que posto aqui são do tipo " eu li aqui no Underlinux que tal coisa é assim ou assado ...."
    Não estou polemizando por favor. Apenas agradecendo as sugestões que vocês que conhecem mais do que nós nos passam.
    E claro que cada situação é uma situação. E vou continuar a postar soluções baseadas nas suas sugestões. E obrigado caro amigo.
    Um grandiosíssimo abraço caro Moderador .... :clap: :good: :clap:

  10. #10
    Poseidon_online
    Visitante

    Padrão ve se ajuda

    olha, eu num entendo muito da coisa mas isso tb tava acontecendo comigo e eu coloquei uma linha aqui q resolveu:

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


    Tomara q ajude!!!!