A algum tempo foi descoberto um problema crítico que pode ser bem perigoso caso não seja tratado. É possível com o exploit derrubar qualquer servidor por tempo indeterminado caso este não esteja atualizado. Esse problema nunca se tornou público devido aos problemas que poderiam se repercurtir, mas agora este foi fixado sendo descoberto por Nostradamus e fixado por SimOne.
O problema
Todos os servidores OpenTibia aceitam uma conexão e nunca a desconecta enquanto ela não receber o primeiro pacote do cliente, com isso, essa conexão permaneçe ativa. Na maioria dos sistemas o tempo para o servidor dar timeout na ativação do sistema é de 2 horas. Depois desse período, o sistema fecha a conexão se não há envio de pacotes. Então, o servidor espera por envios que não serão enviados. Um ataque de SPAM de 5 minutos com 60 conexões por segundo resultaria então em erros de socket ou falta de memória.
É muito fácil então derrubar qualquer servidor usando apenas 20kb/s de taxa de upload.
Como evitar
É possível evitar esse tipo de problema com firewalls profissionais como CISCO GUARD ou outros sistemas anti-DdoS para uma máxima segurança. Porém, esse tipo de serviço são bastante caros, já que levando em conta que a maioria dos servidores de OpenTibia são caseiros ou possuem pouco capital para esse tipo de investimento. Além disso, só seria possível prevenir esses ataques se o sistema operacional tivesse como base sistemas *nix ou fazendo um servidor que diminua o tempo padrão de resposta do servidor, o que poderia fazer com que jogadores com conexão baixa se prejudicassem com isso.
O sistema não poderia funcionar em Windows, já que este utiliza-se de sockets do mesmo nível da placa de rede, algo que o Windows não permite já que poderia crashear durante a manipulação de tantos sockets. Já em sistemas *nix, existe uma API do kernel para envios de socket. E mais, modems do tipo NAT e firewalls ativos podem crashear com tantas conexões, já que NAT tenta processar todas as conexões.
Como o uso de sockets é em baixo nível, o kernel de sistemas *nix não iria reconhecer tais bytes e com isso, fechar as conexões (não apareçeria no registro de sockets do Linux, por exemplo). Para evitar isso, é preciso criar regras para o firewall de sistemas *nix não bloquear esses bytes desconhecidos.
Quem pode ser afetado
O sucesso dos ataques dependem da internet, do firewall e das configurações do host. Porém, pode-se dizer que 99% dos servidores poderiam sofrer desse ataque facilmente, caso não estejam atualizados. Por isso, atualizem seus servidores para o último release do projeto OpenTibia ou distro baseada.
>>> Leia na XMagazine
Ajuda




Responder




Quote



























