Clique aqui para ler essa revista em PDF.
Segurança em aplicações web
Conceitos e implementações no J2EE
Um requisito básico da maioria das aplicações web é a segurança. Veja conceitos e técnicas usados na configuração de segurança em containers web
Uma das maiores vantagens da plataforma J2EE é ajudar o desenvolvedor a focar na implementação da lógica de negócios de suas aplicações, deixando as tarefas de infra-estrutura por conta dos containers J2EE. Uma dessas tarefas é a segurança.
A especificação de servlets define como o container web deve fornecer serviços de segurança para aplicações web hospedadas no container, além de uma API comum para acesso a esses serviços.
Conceitos de segurança e os 4 As
As aplicações web são formadas por um conjunto de recursos, como páginas JSP, servlets, páginas HTML, imagens, applets etc. Em algumas aplicações é necessário que o acesso a esses recursos seja controlado, restringindo-o apenas aos usuários previamente autenticados.
Vamos começar discutindo os principais conceitos de segurança. Em seguida veremos como eles se aplicam a um container web. Os principais componentes de um sistema segurança são conhecidos como os "quatro As": Autenticação, Autorização, Auditoria e Administração.
Autenticação
Representa a forma como o usuário prova que é realmente quem está dizendo que é. Na maioria das aplicações, a autenticação é feita utilizando o nome do usuário e sua senha. Esta é a forma mais simples de autenticação e por isso a mais utilizada. Mas a autenticação pode ser muito mais sofisticada, envolvendo, por exemplo, a análise de um certificado digital ou a verificação de padrões biológicos, como características da íris do olho ou o reconhecimento de faces (autenticação biométrica).
Autorização
A autorização é utilizada para verificar se o usuário previamente autenticado possui permissão para acessar um determinado recurso, ou para executar alguma função da aplicação. Em termos simples, a autorização determina “quem pode fazer o que”.
Auditoria
Os sistemas de segurança devem fornecer relatórios que permitam uma auditoria nos sistemas, e não apenas logs em arquivos texto. Um exemplo comum é o registro das operações realizadas por cada usuário. São armazenados qual foi o usuário, a data e a hora, e que operação foi executada. Entretanto não é evidente, a partir da simples leitura deste logs, quais acessos foram indevidos ou quais partiram de usuários regulares. Um sistema de auditoria permitiria correlacionar padrões nos logs e identificar reais tentativas de violar a aplicação." [...] continue lendo...