Página 6 de 7 PrimeiroPrimeiro ... 234567 ÚltimoÚltimo
+ Responder ao Tópico



  1. Uma sequencia ideal... é uma sequencia organzada... por ex... primeiro os policiys (regras gerais), protecoes extras, depois portas liberadas,..., roteamento de rede....

    Quanto ao script va vou mandar.... deixa eu dar uma editada para vc. O meu tem muita coisa.... redirecionamentos, etc...

    [] Dotta :twisted:

  2. Angkor,
    Como lhe promenti o script para firewall, vc vai ter que dar umas editadas nele... mas da uma olhada e qualquer coisa vc me pergunta. Ahh outra coisa ta tudo fechado, so libera o que vc precisar tá... nao é necessario liberar as portas 25 e 100 para e-mail, vc so liberar as portas que necessitam conexao de origem externa... no caso do e-mail as origens so internas.

    firewall.rc
    #! /bin/sh
    # **********************************************
    # * -=- Configuracao do FIREWALL -=- *
    # * *
    # * Criado por: Fernando Dotta *
    # * Ultima Mod.: 05/05/2004 *
    # * *
    # * Adaptadores de Rede *
    # * ------------------- *
    # * *
    # * ppp0: coneccao speedy *
    # * eth0: rede externa (internet) ligado na ppp0 *
    # * eth1: servidor apache (www) - nao implementado *
    # * *
    # ************************************************************

    IPTABLES="/bin/iptables"

    INTERNAL_INTERFACE="eth1"
    EXTERNAL_INTERFACE_1="ppp0"
    LAN="10.0.0.0/24"


    # -=- [ Pega numero do IP do Speedy ] -=-
    #
    # preip=`ip -4 addr list ppp0 | awk '{print $2}'`
    # IP=`echo $preip | awk '{print $2}'`

    # -=- [ Abilita IP FORWARD ] -=-
    echo "1" > /proc/sys/net/ipv4/ip_forward

    # -=- [ Apaga todas as resgras do Firewall ] -=-
    $IPTABLES -F
    $IPTABLES -Z
    $IPTABLES -X
    $IPTABLES -t nat -F
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -F
    $IPTABLES -t mangle -X
    $IPTABLES -P INPUT DROP
    $IPTABLES -P FORWARD DROP
    $IPTABLES -P OUTPUT ACCEPT

    # -=- [ Protecao de entrada (INPUT) ] -=-
    $IPTABLES -I INPUT -i lo -j ACCEPT
    $IPTABLES -I OUTPUT -o lo -j ACCEPT
    $IPTABLES -I INPUT -i ! lo -s 127.0.0.0/255.0.0.0 -j DROP
    $IPTABLES -A INPUT -p tcp ! --syn -i $INTERNAL_INTERFACE -j ACCEPT
    $IPTABLES -A INPUT -s 172.16.0.0/12 -i $INTERNAL_INTERFACE -j DROP
    $IPTABLES -A INPUT -s 224.0.0.0/4 -i $INTERNAL_INTERFACE -j DROP
    $IPTABLES -A INPUT -s 240.0.0.0/5 -i $INTERNAL_INTERFACE -j DROP

    # -=- [ Regras Gerais do Firewall ] -=-
    $IPTABLES -P INPUT DROP
    $IPTABLES -P OUTPUT ACCEPT
    $IPTABLES -P FORWARD DROP

    $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A INPUT -m state --state NEW -i $INTERNAL_INTERFACE -j ACCEPT

    # -=- [ Servicos Externos Permitidos na interface externa ] -=-
    # $IPTABLES -A INPUT -i $EXTERNAL_INTERFACE_1 -s 0/0 -p tcp --dport 21 -j ACCEPT
    # $IPTABLES -A INPUT -i $EXTERNAL_INTERFACE_1 -s 0/0 -p tcp --dport 22 -j ACCEPT
    # $IPTABLES -A INPUT -i $EXTERNAL_INTERFACE_1 -s 0/0 -p tcp --dport 23 -j ACCEPT
    # $IPTABLES -A INPUT -i $EXTERNAL_INTERFACE_1 -s 0/0 -p tcp --dport 80 -j ACCEPT
    # $IPTABLES -A INPUT -i $EXTERNAL_INTERFACE_1 -s 0/0 -p tcp --dport 443 -j ACCEPT

    # -=- [ Protecoes Extras ] -=-
    $IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
    $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT
    $IPTABLES -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    $IPTABLES -A FORWARD -p tcp --dport 135 -i $INTERNAL_INTERFACE -j REJECT
    $IPTABLES -N syn-flood
    $IPTABLES -A INPUT -i $INTERNAL_INTERFACE -p tcp --syn -j syn-flood
    $IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
    $IPTABLES -A syn-flood -j DROP
    #
    # OBS: [ Protecoes Extras ] 1) protecao contra pacotes indesejaveis
    # 2) protecao contra syn-flood
    # 3) protecao contra ping da morte
    # 4) protecao contra worms
    # 5-8) protecao contra IP spoofing

    # -=- [ Portas Bloqueadas (MSN) ] -=-
    # $IPTABLES -A FORWARD -s LAN -p tcp --dport 1863 -j REJECT
    # $IPTABLES -A FORWARD -s LAN -d loginnet.passport.com -j REJECT
    #
    # -=- [ Portas Bloqueadas (MSN) ] -=-
    # $IPTABLES -A FORWARD -s LAN -d webmessenger.msn.com -j REJECT
    #
    # -=- [ Liberacao do VPN ] -=-
    # $IPTABLES -A INPUT -p udp -i $EXTERNAL_INTERFACE_1 --sport 500 --dport 500 -j ACCEPT
    # $IPTABLES -A OUTPUT -p udp -o $EXTERNAL_INTERFACE_1 --sport 500 --dport 500 -j ACCEPT
    # $IPTABLES -A INPUT -p udp --sport 500 --dport 500 -j ACCEPT
    # $IPTABLES -A OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT
    # $IPTABLES -A INPUT -p 50 -i $EXTERNAL_INTERFACE_1 -j ACCEPT
    # $IPTABLES -A OUTPUT -p 50 -o $EXTERNAL_INTERFACE_1 -j ACCEPT
    # $IPTABLES -A INPUT -p 50 -j ACCEPT
    # $IPTABLES -A OUTPUT -p 50 -j ACCEPT
    # $IPTABLES -A FORWARD -d $LOCALNET -j ACCEPT
    # $IPTABLES -A FORWARD -s $LOCALNET -i $INTERNAL_INTERFACE -j ACCEPT

    # -=- [ Roteamento da REDE ] -=-
    $IPTABLES -A INPUT -j DROP
    $IPTABLES -F FORWARD
    $IPTABLES -t nat -F

    $IPTABLES -A FORWARD -i $EXTERNAL_INTERFACE_1 -o $INTERNAL_INTERFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPTABLES -A FORWARD -i $INTERNAL_INTERFACE -o $EXTERNAL_INTERFACE_1 -j ACCEPT
    # $IPTABLES -t nat -A POSTROUTING -o $EXTERNAL_INTERFACE_1 -j SNAT --to $IP
    $IPTABLES -t nat -A POSTROUTING -o $EXTERNAL_INTERFACE_1 -j MASQUERADE

    # -=- [ Logs ] -=-
    $IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW syn: "
    $IPTABLES -A INPUT -p tcp --dport 21 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: ftp: "
    $IPTABLES -A INPUT -p tcp --dport 23 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: telnet: "
    $IPTABLES -A INPUT -p tcp --dport 25 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: smtp: "
    $IPTABLES -A INPUT -p tcp --dport 80 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: http: "
    $IPTABLES -A INPUT -p tcp --dport 110 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: pop3: "
    $IPTABLES -A INPUT -p udp --dport 111 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: rpc: "
    $IPTABLES -A INPUT -p tcp --dport 113 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: identd: "
    # $IPTABLES -A INPUT -p tcp --dport 137:139 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: samba: "
    # $IPTABLES -A INPUT -p udp --dport 137:139 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: samba: "
    # $IPTABLES -A INPUT -p tcp --dport 161:162 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: snmp: "
    # $IPTABLES -A INPUT -p tcp --dport 6667:6668 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: irc: "
    # $IPTABLES -A INPUT -p tcp --dport 3128 -i $EXTERNAL_INTERFACE_1 -j LOG --log-level 6 --log-prefix "FIREWALL: squid: "

    # -=- [ Diminuindo DELAY de sevicos especiais ] -=-
    # $IPTABLES -t mangle -A INPUT -p tcp --dport 22 -j TOS --set-to Minimize-Delay
    # $IPTABLES -t mangle -A INPUT -p tcp --dport 80 -j TOS --set-to Minimize-Delay
    # $IPTABLES -t mangle -A INPUT -p tcp --dport 443 -j TOS --set-to Minimize-Delay


    [] Dotta



  3. #28
    angkor
    Mais uma vez muito Obrigado Fernando, segunda-feira vou colocar em pratica esse script e pra variar, quelquer duvida te pergunto, Ok ?


    Atenciosamente
    angkor

  4. #29
    angkor
    Como vc deve ter percebido eu não manjo miuto ded firewall, ou melhor, não manjo nada.
    Essas adaptações que fiz estão corretas ?
    Será desse jeito que eu vou roda-lo...

    /*********************************************************/
    #!/bin/bash
    IPT='/usr/sbin/iptables'
    MODPROBE='/sbin/modprobe'
    LOCAL=MEU IP DE INTERNET OU IP DO PROXY ???
    DNSONE=200.183.43.1
    DNSTWO=200.183.43.4

    ## CARREGANDO MODULOS
    $MODPROBE ip_tables
    $MODPROBE iptable_filter
    $MODPROBE ip_conntrack
    $MODPROBE ip_conntrack_ftp
    $MODPROBE iptable_nat
    $MODPROBE ip_nat_ftp
    $MODPROBE ipt_LOG
    $MODPROBE ipt_state
    $MODPROBE ipt_MASQUERADE

    ## DANDO FLUSHING NO FIREWALL, ZERANDO TUDO E DROPANDO TUDO, EXCETO OUTPUT
    $IPT -F
    $IPT -Z
    $IPT -X
    $IPT -t nat -F
    $IPT -P INPUT DROP
    $IPT -P FORWARD DROP
    $IPT -P OUTPUT ACCEPT

    ## HABILITANDO ROTEAMENTO
    echo "1" > /proc/sys/net/ipv4/ip_forward
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    ## LIBERANDO INPUT PARA INTERFACE LOOPBACK
    $IPT -A INPUT -p ALL -s 127.0.0.1 -i lo -j ACCEPT
    $IPT -A INPUT -p ALL -s $LOCAL -i lo -j ACCEPT

    ## LIBERANDO AS RESPOSTAS DOS DNS PARA O FIREWALL
    $IPT -A INPUT -p udp -s $DNSONE --sport 53 -d $LOCAL -j ACCEPT
    $IPT -A INPUT -p udp -s $DNSTWO --sport 53 -d $LOCAL -j ACCEPT
    $IPT -A INPUT -p udp -s $LOCAL --sport 53 -d $LOCAL -j ACCEPT

    ## NADA DE PACOTE FRAGMENTADO NO FIREWALL
    $IPT -A INPUT -i eth0 -f -j LOG --log-prefix "Pacote INPUT fragmentado: "
    $IPT -A INPUT -i eth0 -f -j DROP

    ## REGRAS DE PING
    $IPT -A INPUT -p icmp --icmp-type 8 -i eth0 -j DROP
    $IPT -A INPUT -p icmp --icmp-type 0 -j DROP
    $IPT -A INPUT -p icmp -s $FIREWALL -d $LOCAL -j ACCEPT

    # Protege contra synflood
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies

    ## Desabilita suporte a souce routed packets, este recurso funciona como
    ## um NAT ao contradio, que em certas circunstacias pode permitir que
    ## alguem de fora envie pacotes para micros dentro da rede local.
    echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route
    echo "0" > /proc/sys/net/ipv4/conf/eth1/accept_source_route
    echo "0" > /proc/sys/net/ipv4/conf/ppp0/accept_source_route

    ## Protecao contra ICMP Broadcasting
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

    # Protecoes diversas contra potscaners, ping of death, ataques Dos, etc...
    $IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    $IPT -A FORWARD -p tcp -m limit --limit 1/s -j ACCEPT
    $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
    $IPT -A FORWARD --protocol tcp --tcp-flags ALL SYN,ACK -j DROP
    $IPT -A FORWARD -m unclean -j DROP
    $IPT -A INPUT -m state --state INVALID -j DROP
    $IPT -N VALID_CHECK
    $IPT -A VALID_CHECK -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
    $IPT -A VALID_CHECK -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
    $IPT -A VALID_CHECK -p tcp --tcp-flags ALL ALL -j DROP
    $IPT -A VALID_CHECK -p tcp --tcp-flags ALL FIN -j DROP
    $IPT -A VALID_CHECK -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
    $IPT -A VALID_CHECK -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
    $IPT -A VALID_CHECK -p tcp --tcp-flags ALL NONE -j DROP


    ## LIBERANDO ALGUMAS PORTAS
    $IPT -A INPUT -p TCP -s 0/0 --dport 80 -j ACCEPT
    $IPT -A INPUT -p TCP -s 0/0 --dport 443 -j ACCEPT
    $IPT -A INPUT -p TCP -s 0/0 --dport 25 -j ACCEPT
    $IPT -A INPUT -p TCP -s 0/0 --dport 110 -j ACCEPT
    $IPT -A INPUT -p udp -s 0/0 --dport 53 -j ACCEPT
    $IPT -A INPUT -p TCP -s 0/0 --dport 143 -j ACCEPT
    $IPT -A INPUT -p TCP --destination-port 22 -j ACCEPT

    ## DESCARTANDO PACOTES INVALIDOS
    $IPT -A FORWARD -m state --state INVALID -j DROP

    ## Abre para uma faixa de enderecos da rede local
    $IPT -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT

    ## Libera squid para rede interna
    $IPT -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp --dport 3128 -j ACCEPT

    # Proxy transparente
    $IPT -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

    ## ACEITA CONEXOES ESTABILIZADAS
    $IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

    ## PARA OUTLOOK FUNCIONAR, LIBERA A RESPOSTA E O ACESSO AOS RESOLVEDORES DE NOME
    $IPT -A FORWARD -p udp -s 0/0 -d $DNSONE --dport 53 -j ACCEPT
    $IPT -A FORWARD -p udp -s 0/0 -d $DNSTWO --dport 53 -j ACCEPT
    $IPT -A FORWARD -p udp -s 0/0 -d $LOCAL --dport 53 -j ACCEPT
    $IPT -A FORWARD -p udp -s $DNSONE --sport 53 -d 0/0 -j ACCEPT
    $IPT -A FORWARD -p udp -s $DNSTWO --sport 53 -d 0/0 -j ACCEPT
    $IPT -A FORWARD -p udp -s $LOCAL --sport 53 -d 0/0 -j ACCEPT

    ## DROPANDO TUDO E GRAVANDO
    $IPT -A FORWARD -j LOG --log-prefix "Pacote FORWARD descartado: "
    $IPT -A FORWARD -j DROP

    /******************************************************/



  5. angkor,

    Acredito que esteja tudo certo, mas me diz uma coisa, vc tem um servidor de e-mail ai? caso contrario vc nao precisa liberas as portas 110 e 25. Quanta a sua variavel LOCAL, vc deve colocar o ip da internet.

    [] Dotta :twisted:






Tópicos Similares

  1. Acesso remoto no usando Iptables
    Por bandlinux no fórum Servidores de Rede
    Respostas: 3
    Último Post: 18-12-2004, 16:57
  2. Bloquear exe no e-mail
    Por no fórum Servidores de Rede
    Respostas: 3
    Último Post: 18-04-2003, 11:11
  3. Como configurar teclado no X
    Por no fórum Servidores de Rede
    Respostas: 9
    Último Post: 02-12-2002, 23:36
  4. Configurar som no Slack 8.0
    Por Mandrake no fórum Servidores de Rede
    Respostas: 6
    Último Post: 30-11-2002, 18:22
  5. Liberar ip com porta usando iptables
    Por AndrewAmorimdaSilva no fórum Servidores de Rede
    Respostas: 2
    Último Post: 26-10-2002, 10:11

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L