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.