smvda
todas as contribuiçoes são validas
mas com conteudo
tem de ver que nem toda a gente esta no mesmo nivel técnico
em todas as áreas
se vc descrever a sua solução de uma forma consintente
ela ser sim bem vinda
Abraço
smvda
todas as contribuiçoes são validas
mas com conteudo
tem de ver que nem toda a gente esta no mesmo nivel técnico
em todas as áreas
se vc descrever a sua solução de uma forma consintente
ela ser sim bem vinda
Abraço
cara como fica o maclist???Postado originalmente por ice_boxfirewall sem as regras do Jim
pois elas deixam o ruindows todo tété
###############################################
###############################################
#!/bin/sh
##
##
# ==================================================================================
# DECLARA VARIAVEIS
# ==================================================================================
IPT=/sbin/iptables
MACLIST=/etc/rc.d/maclist
PROGRAMA=/etc/rc.d/firewallmac
NET_IFACE=eth0
LAN_IFACE=eth1
##
##
##
# ==================================================================================
# APAGA TODAS AS REGRAS
# ==================================================================================
$IPT -F
$IPT -t nat -F
$IPT -t filter -F
$IPT -t mangle -F
##
##
# ==================================================================================
# APAGA TODAS AS CHAINS
# ==================================================================================
$IPT -X
$IPT -t nat -X
$IPT -t filter -X
$IPT -t mangle -X
##
##
# ==================================================================================
# CARREGA MODULOS
# ==================================================================================
modprobe ip_tables
modprobe iptable_nat
##
##
##
case $1 in
# ==================================================================================
# START CONTROLO REGRAS MAC-IP -- MAC / IP
# ==================================================================================
start)
##
##
# ==================================================================================
# FECHAS TODAS AS RESTANTES PORTAS - CANCELA O FORWARD NO SERVIDOR
# ==================================================================================
$IPT -t filter -P INPUT DROP
$IPT -t filter -P FORWARD DROP
##
##
# ==================================================================================
# PERMITE LOOPBACK
# ==================================================================================
$IPT -t filter -A INPUT -i lo -j ACCEPT
$IPT -t filter -A OUTPUT -o lo -j ACCEPT
##
##
# ==================================================================================
# LIBERA CONEXÕES PARA FORA
# ==================================================================================
$IPT -t filter -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
##
##
# ==================================================================================
# LIBERA CONEXÕES DO EXTERIOR INICIADAS DO INTERIOR DA REDE. O RESTO É CANCELADO
# ==================================================================================
$IPT -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -t filter -A INPUT -i eth1 -s 172.16.0.0/24 -j ACCEPT
$IPT -t filter -A INPUT -i eth1 -s 172.16.1.0/24 -j ACCEPT
##
##
# ==================================================================================
# INTERPRERTAÇAO DO FICHEIRO MACLIST
# ==================================================================================
for i in `cat $MACLIST`; do
STATUS=`echo $i | cut -d ';' -f 1`
IPSOURCE=`echo $i | cut -d ';' -f 3`
MACSOURCE=`echo $i | cut -d ';' -f 2`
##
##
# ==================================================================================
# Se STATUS = [a] então Libera a Conexão
# ==================================================================================
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 -o $NET_IFACE -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
##
##
# ==================================================================================
# SQUID NINJA
# ==================================================================================
$IPT -t nat -A PREROUTING -d $IPSOURCE -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 800
##
##
# ==================================================================================
# Se STATUS =/= [a] então Bloqueia a Conexão
# ==================================================================================
else
$IPT -t filter -A INPUT -m mac --mac-source $MACSOURCE -j DROP
$IPT -t filter -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP
$IPT -t filter -A FORWARD -m mac --mac-source $MACSOURCE -j DROP
fi
done
##
##
# ==================================================================================
# Compartilha a conexão
# ==================================================================================
echo 1 > /proc/sys/net/ipv4/ip_forward
##
##
# ==================================================================================
# LIBERANDO SSH DO FIREWALL PARA O MUNDO
# ==================================================================================
iptables -A INPUT -s 0/0 -p tcp --dport 22 -j ACCEPT
##
##
# ==================================================================================
# FECHA O RESTO
# ==================================================================================
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP
##
##
# ==================================================================================
# ==================================================================================
echo ""
echo "FIREWALL ATIVO -- REGRAS MAC x IP --> IMPLEMENTADAS -- [ SISTEMA PREPARADO ]"
echo " "
echo "REGRAS FIREWALL MAISLINK -- HABILITADAS"
echo " "
echo "NAT [ATIVADO]"
echo " "
echo "SQUID NINJA [ATIVADO]"
echo " "
;;
# ==================================================================================
# ==================================================================================
##
##
##
##
# ==================================================================================
# STOP CONTROLO REGRAS MAC-IP -- MAC / IP
# ==================================================================================
stop)
# ==================================================================================
# FECHAS TODAS AS RESTANTES PORTAS - HABILITA O FORWARD NO SERVIDOR
# ==================================================================================
$IPT -t filter -P INPUT DROP
$IPT -t filter -P FORWARD ACCEPT
##
##
#Compartilha a conexão
echo 1 > /proc/sys/net/ipv4/ip_forward
##
##
$IPT -t nat -A POSTROUTING -o eth0 -j MASQUERADE
##
##
# ==================================================================================
# SQUID NINJA
# ==================================================================================
$IPT -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 800
##
##
##
echo""
echo "FIREWALL ATIVO -- REGRAS MAC x IP --> REMOVIDAS -- [ SISTEMA PREPARADO ]"
echo " "
echo "REGRAS FIREWALL MAISLINK -- HABILITADAS"
echo " "
echo "NAT [ATIVADO]"
echo " "
echo "SQUID NINJA [ATIVADO]"
echo " "
;;
##
##
# ==================================================================================
# RESTART CONTROLO -- MAC / IP
# ==================================================================================
restart)
$PROGRAMA stop
$PROGRAMA start
;;
esac
maclist fica assim
a;macadress;ip_cliente;nome_cliente liberado
b;macadress;ip_cliente;nome_cliente bloqueado
tudo o que seja diferente de "a" n vai navegar
Abraços