Estava avaliando uma solução de Thin Client da Sun, o Sun Ray, e um aspecto me chamou a atenção.
Os Thin Clients Sun Ray rodam apenas com um firmware, sem um Sistema Operacional (bom, pode-se considerar o firmware o SO). O firmware é responsável por obter as configurações iniciais via DHCP, inclusive o servidor da solução. Uma vez em contato com o servidor inicia-se a comunicação, com uma emulação X11 em cima de um protocolo da própria Sun chamado ALP (Appliance Link Protocol). Eventuais necessidades de update do firmware são enviadas pelo servidor no momento do boot dos clients.
Opa! Então o client recebe a informação de quem é o servidor via DHCP, e é esse cara que manda o novo firmware? É isso mesmo. Quer dizer que se alguém responder ao request DHCP do client, acaba com o "poder" de enviar um firmware qualquer para o equipamento. Será que alguém já começou a fuçar no código desse firmware para saber o quanto é possível manipular esses Thin Clients? Eu sei que eles tem uma funcionalidade de reporte via syslog, por exemplo. E se alguém alterasse o firmware para fazer com que ele enviasse keystrokes para um servidor de syslog? Caramba. Bom, acho que poderia usar algum recursos dos switches para permitir respostas provenientes apenas do servidor ou relay agent DHCP. Não sei se há granularidade a este ponto nos switches.
Outra coisa, não há recursos para utilizar uma autenticação 802.1X, por exemplo. Logo, na rede na qual os Thin Clients estão presentes eu ficaria vulnerável a alguém que desplugasse o equipamento para ligar sua própria máquina. Acho que isso poderia ser mitigado através do uso de ACLs e PVLANs.
Em resumo, é uma plataforma da qual um dos principais argumentos de venda do fornecedor é a segurança. Uso de Java Cards para logon, etc. Mas e essas situações de rede, como ficam? Já que o equipamento não tem nenhuma configuração estática (outro argumento de venda), nem mesmo uma verificação de identidade do servidor eu poderia fazer de forma confiável. Talvez com o uso dos Java Cards (algum tipo de desafio/resposta), mas não sei se tem.
Bom, coloquei um pouco da minha viagem sobre o assunto. Se alguém já analisou esses aspectos com mais profundidade, gostaria de ouvir as conclusões.