Descobri hoje um projeto que parece ser bem interessante, chamado
osf, que permite que usemos o tipo do sistema operacional para criar regras no Iptables. Assim podemos, por exemplo, impedir qualquer comunicação vinda da porta 445 de uma máquina Windows se chegue a nossa rede interna (afinal, existe uma grande chance disso ser um vírus ;) ). Brincadeiras a parte as possibilidades são grandes, e fica a cargo da imaginação de cada um.
O que o OSF faz é usar uma técnica conhecida como passive finger printing para descobrir qual o sistema operacional está originando a comunicação. Ele faz isso usando vários campos do protocolo TCP/IP que, a depender do valor, identificam (de forma aproximada), um sistema operacional. Essa mesma técnica é usada em outros programas como o
p0f, mas a implementação para o iptables é única.
O osf usa uma lista de assinaturas disponível pelo pessoal do OpenBSD, mas a lista parece não ser atualizada a mais de dois anos, então alguns sistemas novos talvez não sejam reconhecidos.
No site do projeto tem um passo a passo explicando como instalar/usar a ferramenta. Vou tentar brincar com ela esses dias daí posto uma mensagem aqui explicando como o bixinho funciona.