Bloqueando tráfego via MAC com iptables

Publicado por Rogério Tomassoni em 08/04/2009

[ Hits: 27.177 ]

 


Bloqueando tráfego via MAC com iptables



Para bloquear o tráfego via IPtables através de endereço MAC das placas de rede, faça:

Crie um arquivo com nome de sua preferência, chamei o exemplo de "pcMAC".

Estrutura arquivo pcMAC:

### Departamento
# nome pc
mac

Exemplo prático pcMAC:

### SAC
# sac-01
00:A0:D1:46:78:10
# sac-02
00:A0:D1:46:78:11

Logo, criei uma função no meu script de firewall assim:

bloqueia_mac (){

urlArq=`cat /home/tomassoni/pcMac | 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
}

Chame a função:

bloqueia_mac

Pronto, simples. Assim quando houver uma mudança, abro o arquivo pcMAC, localizo através do nome da máquina com editor da preferência, aí comento, altero ou removo.

Empresas, vamos começar a pensar em não apenas em desenvolver e desenvolver e sim em desenvolver com SEGURANÇA.

Obs.: Para ignorar as linhas com # ou ; do arquivo pcMAC usei o comando:

egrep -v "^[#;]"

Muito útil essa linha no mundo dos scripts.

Outras dicas deste autor

Renomeando Konsole

Erro ao inciar sessão gráfica (status 256)

Suporte remoto com VNC LTSP 4.2

JPykotaGUI - controle de impressão

Adicionando módulo LTSP4.2 à árvore do kernel

Leitura recomendada

sed - Eliminando linhas em branco

SED - combinando o conteúdo de dois arquivos

Sed - como salvar alterações no arquivo

Exibindo o nome completo dos pacotes instalados no Debian e derivados

Introdução ao awk

  

Comentários
[1] Comentário enviado por rogeriojlle em 09/04/2009 - 18:52h

Legal sua dica.
Poderia me ajudar com o inverso?
Nesse caso a lista é para as maquinas que teriam acesso, bloqueando todo o resto

[2] Comentário enviado por tomassoni em 13/04/2009 - 12:43h

"Uma Máscara 00:00:00:00:00:00 corresponde a todos os endereços MAC e uma Máscara FF:FF:FF:FF:FF:FF se aplica apenas ao Endereço MAC especificado."

Logo só fazer a lógica de bloqueio, não sei se primeiro bloqueia depois libera, ou libera depois bloqueia, sempre me confundo com isso, então só testar.



Esse conteúdo foi retirado do link
http://supportapj.dell.com/support/edocs/network/tmap1170/bp/Configuration_options/Filtering_Paramet...

[3] Comentário enviado por volcom em 19/05/2010 - 16:47h

Perfeito!

Só precisei corrigir a linha do iptables para $mac que diz q mac é a variável!

Abraçoooo

[4] Comentário enviado por paulo.perina em 24/05/2010 - 15:26h

galera td beleza por ai? Nun to consseguindo usar essa dica ai nun ta bloqueando o mac será q é por causa do proxy transparent??? Me ajudem por favor

[5] Comentário enviado por tomassoni em 29/05/2010 - 13:43h

Acredito que não seja não. Como está seu firewall?
De qualquer maneira teste trocando a regra
iptables -t filter -A FORWARD -m mac --mac-source $mac -j DROP
Por:
iptables -t nat -A PREROUTING -m mac --mac-source $mac -j DROP



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts