quarta-feira, 22 de fevereiro de 2017

Amarrando IP x MAC sem precisar do FIREWALL.


Salve Salve Galera.

Hoje venho compartilhar com vocês uma dica muito bacana.

Eu estava precisando amarrar o IP em um MAC, essa configuração da para ser feita facilmente em qualquer servidor DHCP. O problema é que, caso o usuário resolva mudar o IP dele manualmente, ele não só poderá fazer como continuará acessando a rede normalmente.
A solução sugerida pela maioria dos analistas em segurança é configurar o seu firewall para aceitar as conexões somente dos endereços IPxMAC informados e receitar o restante. Um exemplo resumido disso no Iptables ficaria assim:


iptables -t filter -A FORWARD -d 0/0 -s 192.168.0.1 -m mac --mac-source 00:0C:86:00:00:00 -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.0.1 -s 0/0 -j ACCEPT
#Fecha Resto
iptables -A INPUT -j DROP
iptables -A FORWARD -j DROP


Embora a dica acima seja sim funcional, em uma rede com uma quantidade maior de máquinas vamos acabar gerando muita regra para o firewall e exigindo demais.

Sem querer forçar demais o firewall, acabei encontrando uma outra solução: Criar uma tabela ARP estática.
Sem entrar em detalhes, ARP é um protocolo usado para encontrar um endereço da camada de enlace do modelo OSI (Ethernet, por exemplo) a partir do endereço da camada de rede, também do modelo OSI (como por exemplo um endereço IP).

Vamos para a prática:

Digamos que sua rede seja 192.168.0.0/24 (255.255.255.0).
Crie um arquivo com nome e pasta destino de sua preferencia, no meu exemplo criei o arquivo: 

/concept/firewall/tabarp

Você deverá listar dentro deste arquivo todos os endereços de IP's da sua rede e na frente dos endereços, o mac address. No nosso caso ficaria assim:

192.168.0.1 1A:2A:3A:4A:5A:6A
192.168.0.2 1B:2B:3B:4B:5B:6B
192.168.0.3 1C:2C:3C:4C:5C:6C
192.168.0.4 1D:2D:3D:4D:5D:6D
192.168.0.5 1E:2E:3E:4E:5E:6E
...
...
...
192.168.0.254 1A:2B:3C:4D:5E:6F


Para os IP's que você possui na rede, coloque o endereço MAC verdadeiro. Para os IP's que estão vagos você coloque um endereço MAC ficticio, desta forma ficarão bloqueados.

Feito isto, execute o comandoarp -f /Nome_da_Pasta/Arquivo.

Ex.: arp -f /concept/firewall/tabarp

Você pode incluir este comando para inicializar junto com o linux.

Agora é só testar, troque o IP de uma estação cadastrada e perceberá que perderá a comunicação com o servidor.

Para quem possui um servidor Windows, você pode criar um .bat com os seguintes comandos:

@echo off
arp -s 192.168.0.1 1A:2A:3A:4A:5A:6A
arp -s 192.168.0.2 1B:2B:3B:4B:5B:6B
arp -s 192.168.0.3 1C:2C:3C:4C:5C:6C
arp -s 192.168.0.4 1D:2D:3D:4D:5D:6D
arp -s 192.168.0.5 1E:2E:3E:4E:5E:6E
...
...
...
arp -s 192.168.0.254 1A:2B:3C:4D:5E:6F
exit


Agora é só executar o .bat e colocar ele para inicializar junto com o windows.

É isso galera, com esse comando podemos desafogar um pouco nosso firewall e obter o resultado esperado.

Não esqueça de curtir a nossa FanPage: http://facebook.com/concepttecms
Fique ligado em nosso site: http://concepttecnologia.com/problemazero.
Em breve um canal no YouTube mostrando dicas e soluções de problemas em TI.

Um abraço a todos e até a próxima.