Obtém o MAC de um pedido do cliente?

0

Eu tenho uma rede com 20 framboesas (clientes) e 1 servidor. Gostaria de verificar o MAC do pedido do cliente, isso é possível?

Além disso, possível sem ser conhecido (nem visível) pelo cliente?

NB: Eu pretendo checar se um cliente não é falso / imitação. NB2: Eu já executei uma opção de VPN. Mas quero verificar o MAC de qualquer maneira.

    
por ArchiT3K 01.06.2015 / 11:51

3 respostas

2

O seu servidor é um host Linux?

Se você tiver uma lista branca de seus clientes, poderá usar iptables para aceitar solicitações somente deles em portas de entrada específicas. Você também pode registrar solicitações de clientes ruins no dmesg.

O script a seguir define MACCHECK chain para aceitar pacotes de 3 MACs aprovados e soltar outros com logging. Em seguida, roteia todos os pacotes de tcp / 80 ou tcp / 443 em INPUT chain para MACCHECK .

iptables -N MACCHECK
iptables -A MACCHECK -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
iptables -A MACCHECK -m mac --mac-source yy:yy:yy:yy:yy:yy -j ACCEPT
iptables -A MACCHECK -m mac --mac-source zz:zz:zz:zz:zz:zz -j ACCEPT
iptables -A MACCHECK -m limit --limit 3/hour -j LOG --log-prefix "Bad host: "
iptables -A MACCHECK -j DROP
iptables -A INPUT -p tcp -m tcp --dport 80 -j MACCHECK   # Checking all HTTP requests
iptables -A INPUT -p tcp -m tcp --dport 443 -j MACCHECK  # Checking all HTTPS requests

Note que todos os seus clientes devem estar na mesma rede que os do seu servidor.

    
por 01.06.2015 / 12:23
2

Se houver uma conexão direta entre seu Raspberry Pi e o cliente, ou seja, não há roteamento e ambos estão no mesmo segment , é possível. Basta usar uma resolução ARP, por ex. : arp <client_ip_address> .

    
por 01.06.2015 / 12:22
2

Você pode verificar o MAC do cliente somente se o cliente estiver no mesmo segmento de rede, ou seja, se não houver um roteador no meio (um switch está ok). Você pode ver isso com traceroute: se você executar traceroute 192.0.2.1 do servidor onde 192.0.2.1 é o endereço de um dos dispositivos, ele deve relatar apenas um único salto, o destino. Nasha e do yaegashi respostas explicam como você pode fazer isso.

No entanto, mesmo se você puder, verificar o MAC realmente não oferece segurança, porque o MAC pode ser facilmente falsificado. A maioria dos dispositivos Ethernet pode ter seu MAC configurado no software.

Para identificar um dispositivo de hardware, há basicamente um único caminho: criptografia. Armazene uma chave privada no dispositivo e faça uma operação de autenticação que comprove que ela possui a chave privada.

Como você está aparentemente usando um aplicativo da Web, há uma ferramenta para isso: um certificado de cliente TLS . Use o protocolo HTTPS e faça o cliente usar sua chave privada para autenticar no servidor da Web.

Embora dependendo de como você está usando essa VPN, ela pode (ou não) fornecer uma capacidade semelhante.

    
por 02.06.2015 / 02:49