+ Responder ao Tópico



  1. #1
    genival
    Visitante

    Padrão iptables

    Eu sou novo com o linux, e estou configurando umas regras de firewall, onde eu coloco as regras do iptables???

    Pode ser no rc.local???

    Desde Já Obrigado

  2. #2

    Padrão

    cara pode colocar no rc.local.. mas o legal seria vc criar um rc.firewall para ficar mais organizado.

  3. #3

    Padrão

    cara..

    como o neonx disse, vc pode colocar no rc.local, mas melhor mesmo é colocar em um arquivo separado, isso ajuda quando vc precisa reiniciar o firewall..

    vc pode criar um script de firewall bem interessante, com direito a "start|restart|stop"


    valeu

  4. #4
    genival
    Visitante

    Padrão

    Outra pergunta,o que é melhor na minha rede??? Um roteador D-LINK ou uma máquina linux com iptables e squid??

    EU to pensando em usar o squid e esse script que achei no guia do hardware.net, que está logo abaixo,alguém já usou, ele é bom?

    Outra dúvida do script: onde está rede internatvai o ip da minha rede até aí tudo bem.... e a variável IPDNSPROVEDOR? o que coloco nela? o ip do speedy ou o dns do provedor?

    Eu dei uma olhada no script porém eu tenho pouca experiência com isso, tem mais alguma variável que tenho que alterar??

    Script:


    #!/bin/bash

    # ----------------------------------------------------------------
    # Script iptables montado pela comunidade forumgdh.net
    # FórumGdH
    # Última atualização: 06/09/2004
    # ---
    # Participantes na ordem alfabetica:
    # AValle
    # bolao
    # Default
    # JohnDoe
    # Kalicrates
    # ----------------------------------------------------------------

    echo "Carregando o firewall..."

    # Definindo as variaveis
    IPTABLES="/sbin/iptables"
    REDEINT="192.168.0.0/8"
    IPDNSPROVEDOR="200.227.128.21"
    ENT="ppp+"

    # carregando os modulos
    modprobe ip_tables
    modprobe iptable_nat

    # limpando as tabelas
    $IPTABLES -F
    $IPTABLES -t nat -F

    # Protege contra os "Ping of Death"
    $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

    # Protege contra os ataques do tipo "Syn-flood, DoS, etc"
    $IPTABLES -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT

    # Permitir repassamento (NAT,DNAT,SNAT) de pacotes etabilizados e os relatados ...
    $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Logar os pacotes mortos por inatividade ...
    $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG

    # Protege contra port scanners avançados (Ex.: nmap)
    $IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

    # Protege contra pacotes que podem procurar e obter informações da rede interna ...
    $IPTABLES -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP

    # Protege contra todos os pacotes danificados e ou suspeitos ...
    $IPTABLES -A FORWARD -m unclean -j DROP

    # Bloqueando tracertroute
    $IPTABLES -A INPUT -p udp -s 0/0 -i $ENT --dport 33435:33525 -j DROP

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

    # Performance - Setando acesso a web com delay minimo
    $IPTABLES -t mangle -A OUTPUT -o $ENT -p tcp --dport 53 -j TOS --set-tos Minimize-Delay
    $IPTABLES -t mangle -A OUTPUT -o $ENT -p tcp --dport 80 -j TOS --set-tos Minimize-Delay

    # Deixa passar as portas UDP do servidores DNS, e Rejeitar o restante
    $IPTABLES -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p udp -s $IPDNSPROVEDOR -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p udp -j REJECT

    # Bloqueia qualquer tentativa de conexao de fora para dentro por TCP
    $IPTABLES -A INPUT -i $ENT -p tcp --syn -j DROP

    # Mesmo assim fechar todas as portas abaixo de 32000
    $IPTABLES -A INPUT -i $ENT -p tcp --dport :32000 -j DROP

    # Responde pacotes icmp especificados e rejeita o restante
    $IPTABLES -A INPUT -i $ENT -p icmp --icmp-type host-unreachable -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p icmp --icmp-type source-quench -j ACCEPT
    $IPTABLES -A INPUT -i $ENT -p icmp -j REJECT --reject-with icmp-host-unreachable

    # Rejeita o Kazaa (não testado ainda)
    #$IPTABLES -A FORWARD -p tcp -m string --string X-Kazaa-Username: -j REJECT --reject-with tcp-reset

    # libera acesso interno da rede
    $IPTABLES -A INPUT -p tcp --syn -s $REDEINT -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --syn -s $REDEINT -j ACCEPT
    $IPTABLES -A FORWARD -p tcp --syn -s $REDEINT -j ACCEPT

    # libera o loopback
    $IPTABLES -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT

    # libera conexoes de fora pra dentro
    $IPTABLES -A INPUT -p tcp --destination-port 80 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 443 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 20 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 21 -j ACCEPT
    #$IPTABLES -A INPUT -p tcp --destination-port 22 -j ACCEPT

    #libera conexoes de dentro pra fora:
    $IPTABLES -A OUTPUT -p tcp --destination-port 80 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 3306 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 22 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 20 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 21 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 86 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 5190 -j ACCEPT
    $IPTABLES -A OUTPUT -p tcp --destination-port 443 -j ACCEPT

    # libera o bittorrent - (não testado)
    # troque o X.X.X.X pelo IP da máquina correspondente
    #$IPTABLES -A INPUT -p tcp --destination-port 1214 -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p tcp --dport 1214 -j DNAT --to-dest X.X.X.X
    #$IPTABLES -A FORWARD -p tcp -i ppp0 --dport 1214 -d X.X.X.X -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p udp --dport 1214 -j DNAT --to-dest X.X.X.X
    #$IPTABLES -A FORWARD -p udp -i ppp0 --dport 1214 -d X.X.X.X -j ACCEPT

    # faz o icq receber arquivos - (não testado)
    # troque o X.X.X.X pelo IP da máquina correspondente
    #$IPTABLES -A INPUT -p tcp --destination-port 2000:3000 -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p tcp --dport 2000:3000 -j DNAT --to-dest X.X.X.X
    #$IPTABLES -A FORWARD -p tcp -i ppp0 --dport 2000:3000 -d X.X.X.X -j ACCEPT
    #$IPTABLES -t nat -A PREROUTING -i ppp0 -p udp --dport 2000:3000 -j DNAT --to-dest X.X.X.X
    #$IPTABLES -A FORWARD -p udp -i ppp0 --dport 2000:3000 -d X.X.X.X -j ACCEPT

    # compartilha a web na rede interna
    $IPTABLES -t nat -A POSTROUTING -s $REDEINT -o ppp0 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # bloqueia o resto
    $IPTABLES -A INPUT -p tcp --syn -j DROP
    $IPTABLES -A OUTPUT -p tcp --syn -j DROP
    $IPTABLES -A FORWARD -p tcp --syn -j DROP

    # bloqueia ping
    echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all

    # ----------------------------------------------------------------
    echo "Firewall carregado..."

    # EOF

  5. #5

    Padrão

    cara..

    de qualquer forma vc vai precisar de um modem, então vc pode deixar o d-link como router mesmo...

    eu não li esse squid d firewall, mas uma coisa eu vi nele, ele é feito sobre conexões bridge, ou seja, que usam o pppoe, se vc prestar atenção verá que ele refere-se a interface ppp0, se vc usar o modem como router não será ppp0 e sim a eth que o modem está ligado..

    valeu

  6. #6

    Padrão

    Olá...

    Olha eu não acho que esse script seja muito bom não!
    Analisando as regras me pareceu que o cara não conhece muito bem para que serve cada CHAIN do iptables!

    Se eu fosse você, por enquanto fica com esse roteador e estuda bem iptables, tcp/ip para você poder fazer um firewall exatamente como você precisa e entender bem o que cada regra de iptables irá fazer!

    É melhor por enquanto ficar com um roteador desses, que geralmente tem um firewall embutido do que ter um linux/firewall que não tenha uma configuração muito boa! Pode ter dar dor de cabeça!

    Bom é a minha opnião!!
    Pense bem!

    André

  7. #7

    Padrão

    Kra eu acho q receita de bolo nunca funciona... e qd funciona fica blz ate der pau... pq o dia q o problema aparecer vc vai ficar louco... te aconselho a dar uma estudada sobre iptables e squid e monta o seu...

    Guia Foca GNU/Linux - Firewall iptables

    Configurando um Squid "Ninja" | LinuxMan

    Eu ja quebrei a kra com receita de bolo, principalmente com firewall onde as regras tem ordem correta, no meu caso elas estavam desorganizadas e num dava certo... ate descobrir isso sofri mto e perdi mto tempo!