Pular para o conteúdo

Bloqueando tráfego via MAC com iptables

Dica publicada em Shell Script / Expressões Regulares
Rogério Tomassoni tomassoni
Hits: 27.896 Categoria: Shell Script Subcategoria: Expressões Regulares
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Suporte remoto com VNC LTSP 4.2

JPykotaGUI - controle de impressão

Controle de acesso Squid + LTSP4.2

Script Nagios + NRPE checa filas CUPS

Limpando lixeira centralizada do Samba

Busca por string dentro dos arquivos

Redirecionamento no Shell

Ações condicionais no SED

Ubuntu - Iniciar Conky no Login

Obtendo a cotação do Bitcoin com SED

#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

Entre na sua conta para comentar.