Iptables liberando apenas MAC cadastrados [RESOLVIDO]

1. Iptables liberando apenas MAC cadastrados [RESOLVIDO]

xstocler
xstocler

(usa Outra)

Enviado em 17/04/2013 - 15:13h

Olá pessoal,
Estou montando um Firewall e gostaria de uma ajuda de vocês,
O Fw está ligado direto no modem que chega o sinal da internet (eth0).

Tenho duas placas de rede:
eth0 = Recebe o sinal da internet.
eth1 = liga em um ap-router no qual irá servir wireless apenas com o MACs cadastrados.


Estou pensando em fazer a seguinte regra no iptables.


bloqueia_mac (){

urlArq=`cat /etc/sysconfig/MACs-Liberados | egrep -v "^[#;]" `;

for mac in $urlArq ; do
# Use a linha abaixo caso não haja nenhum serviço além de tráfego no servidor.
iptables -t filter -A INPUT -m mac --mac-source $mac -j DROP
iptables -t filter -A FORWARD -m mac --mac-source $mac -j DROP
done
}

Arquivo MACs-Liberados

### SAC
#Sala A
00:01:02:03:04:05

#Sala B
06:07:09:09:10:11





O que vocês acham?
Teria alguma outra ideia de como fazer?






  


2. Re: Iptables liberando apenas MAC cadastrados [RESOLVIDO]

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 17/04/2013 - 15:37h

A ideia é boa, mas porque você não libera ao em vez de bloquear? seria mais fácil você nasce com o forward DROP para todo mundo e liberar somente o que mac você quer.

Porque hoje em dia é muito fácil você mudar o mac da sua placa, desta forma se o mac não esta liberado, o cara não vai ter como furar seu firewall.






3. Re: Iptables liberando apenas MAC cadastrados [RESOLVIDO]

xstocler
xstocler

(usa Outra)

Enviado em 17/04/2013 - 15:41h

estefaniobrunha escreveu:

A ideia é boa, mas porque você não libera ao em vez de bloquear? seria mais fácil você nasce com o forward DROP para todo mundo e liberar somente o que mac você quer.

Porque hoje em dia é muito fácil você mudar o mac da sua placa, desta forma se o mac não esta liberado, o cara não vai ter como furar seu firewall.






E uma boa.
Poderia me dar um exemplo de como posso fazer?

Não tenho nada no meu IPTABLES, estou criando agora.


4. Re: Iptables liberando apenas MAC cadastrados [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 17/04/2013 - 15:44h

Quanto ao script creio que é a forma mais prática!
Se quiser "exugar" um pouco mais o código, use:


for mac in `cat a.txt | egrep -v "^[#;]" `; do

# Use a linha abaixo caso nãhaja nenhum serviçaléde trágo no servidor.
iptables -t filter -A INPUT -m mac --mac-source $mac -j DROP
iptables -t filter -A FORWARD -m mac --mac-source $mac -j DROP

done




5. Re: Iptables liberando apenas MAC cadastrados [RESOLVIDO]

Estefanio Brunhara
stefaniobrunhara

(usa CentOS)

Enviado em 17/04/2013 - 19:03h


E uma boa.
Poderia me dar um exemplo de como posso fazer?

Não tenho nada no meu IPTABLES, estou criando agora.


O certo e você começar seu firewall com todos as politicas em drop, mas como você esta aprendendo, melhor você começar somente com o forward em drop.

inicie seu firewall desta forma.

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


Aproveitando o código do alexandre:

for mac in `cat a.txt | egrep -v "^[#;]" `; do

iptables -t filter -A FORWARD -m mac --mac-source $mac -j ACCEPT <-só troquei DROP por ACCEPT

done


Eu removi a linha do input, porque ela somente tem função para o servidor, para as estações não faça sentido agora no inicio da sua jornada.

Quando você tiver controle suficiente do forward, você parte para o input, se você não tem serviço instalado no servidor não tem como alguém conectar, se ninguém tem acesso ao servidor, não tem como ele abrir uma porta sem que você queira ou que instale um serviço sem sua permissão, e as portas que tiverem com serviço e porque você quer que seus usuários conectem nela.






















Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts