+ Responder ao Tópico



  1. #1

    Padrão Firewall MAC X IP com iptables o que pode ser melhorado

    Pessoal estou implementando um firewall com iptables, pra controle de MAC X IP, o mesmo esta funcionando, gostaria da opinião de vcs sobre o que pode ser melhorado, segue abaixo as regras do meu arquivo de firewall:

    Pra funcionar utilizo 1 arquivo contendo o status, ip e o mac, exemplo do arquivo maclisti.conf

    a;192.0.0.2;00:0E:2E:74:82:11

    e as configurações do meu arquivo de firewall esta da seguinte forma firewall.conf:

    #!/bin/bash

    #### Configura as variaveis
    IPT=/usr/sbin/iptables
    MACLIST=/etc/rc.d/macslist.conf

    #### Ativa Roteamento
    echo "1" > /proc/sys/net/ipv4/ip_forward

    #### Limpa as regras
    $IPT -F
    $IPT -X
    $IPT -t nat -F
    $IPT -t nat -X
    $IPT -t filter -P FORWARD DROP

    ####

    for i in `cat $MACLIST`; do
    STATUS=`echo $i | cut -d ';' -f 1`
    IPSOURCE=`echo $i | cut -d ';' -f 2`
    MACSOURCE=`echo $i | cut -d ';' -f 3`

    #### Verifica o MAC x IP do cliente

    if [ $STATUS = "a" ]; then

    $IPT -t filter -A FORWARD -d 0/0 -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT

    $IPT -t filter -A FORWARD -d $IPSOURCE -s 0/0 -j ACCEPT

    $IPT -t nat -A POSTROUTING -s $IPSOURCE -d 0/0 -j MASQUERADE

    $IPT -t filter -A INPUT -s $IPSOURCE -d 0/0 -m mac --mac-source $MACSOURCE -j ACCEPT

    $IPT -t filter -A OUTPUT -s $IPSOURCE -d 0/0 -j ACCEPT

    #### Conectividade Social by Willian ([email protected])

    $IPT -A INPUT -p tcp -s $IPSOURCE --sport 1024:65535 -d 200.201.173.0/24 --dport 80 -j ACCEPT

    $IPT -A INPUT -p tcp -s $IPSOURCE --sport 1024:65535 -d 200.201.174.0/24 --dport 80 -j ACCEPT

    $IPT -A INPUT -p tcp -s $IPSOURCE --sport 1024:65535 -d 200.201.166.0/24 --dport 80 -j ACCEPT

    $IPT -t nat -A PREROUTING -p tcp -s $IPSOURCE --sport 1024:65535 -d 200.201.173.0/24 --dport 80 -j ACCEPT

    $IPT -t nat -A PREROUTING -p tcp -s $IPSOURCE --sport 1024:65535 -d 200.201.174.0/24 --dport 80 -j ACCEPT

    $IPT -t nat -A PREROUTING -p tcp -s $IPSOURCE --sport 1024:65535 -d 200.201.166.0/24 --dport 80 -j ACCEPT

    #### Proxy Transparente

    $IPT -t nat -A PREROUTING -s $IPSOURCE -p tcp --dport 80 -j REDIRECT --to-port 8080

    #### Bloqueia

    else

    $IPT -t filter -A FORWARD -m mac --mac-source $MACSOURCE -j DROP
    $IPT -t filter -A INPUT -m mac --mac-source $MACSOURCE -j DROP
    $IPT -t filter -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP

    fi
    done

    #### Ativa os modulos do iptables
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp
    modprobe ip_nat_irc
    modprobe ipt_conntrack
    modprobe iptable_nat
    modprobe ipt_LOG
    modprobe ipt_REJECT
    modprobe ipt_MASQUERADE


    Agradeço a ajuda de todos

  2. #2

    Padrão Re: Firewall MAC X IP com iptables o que pode ser melhorado

    So falta definir uma politica de acesso no mais se ta funcionando ta joia !!!

    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT

    Valeu

  3. #3
    pasternak
    Visitante

    Padrão Controle de MAc

    ClecioRodrigo

    Fiz um controle de mac bem interessante, de uma olhada:
    ____________________________________________________

    #!/bin/bash
    #######################
    # Script by Pasternak
    # Date 20/05/2004
    #######################

    # Regras para Controle Ip<---> MAC

    ### DEF.DE VARIAVEIS #################################

    MAC="-m mac --mac-source"
    SIM="-j ACCEPT"
    NAO="-j REJECT"

    for i in 1 2
    do
    if [ $i == 1 ]
    then IP="iptables -A INPUT -p ALL -s"
    fi
    if [ $i == 2 ]
    then IP="iptables -A FORWARD -p ALL -s"
    fi


    #########################################################

    #Exemplos de configuracoes:

    # Voce pode liberar o ip sem MAC:

    $IP 10.0.0.253 $SIM


    # Voce pode liberar o IP com o MAC:
    $IP 10.0.0.253 $MAC 00:00:00:00:00:00 $SIM

    # E no final bloqueia o resto
    $IP 10.0.0.0/8 $NAO


    # Para que funcione eu liberei no meu firewall
    # masquerade para o rede Inteira.

    # O legal eh que se vc deseja bloquear um usuario
    # basta substituir no final da linha o $SIM pelo $NAO:

    $IP 10.0.0.253 $MAC 00:00:00:00:00:00 $NAO

    done