Eu e uns amigos lancamos nossa primeira aplicacao web na segunda, eh pequena ainda, tah tendo no maximo uns 120 acessos diarios, mas tah funcianando certinho. Minha duvida reside no quesito seguranca, nunca estudei a respeito e nem corri muito atras, sendo assim, nao tenho nem ideia por onde comecar (que tipo de log eh interessante, quais dados do banco criptografar, como previnir ataques forca bruta, etc), entao pediria aos mais informados sobre o assunto recomendacoes de leituras/sites para beginners (quando se pesquisa no google sem ter uma base eh dificil filtrar o q eh bom e o q eh lixo) …
Para falar de segurança antes é importante que você esclareça alguns pontos.
Qual a forma de hospedagem usada? exemplo: locaweb ou doméstica mesmo.
Qual servidor de aplicação usado?
É necessário LOG na aplicação?
Existem perfis de usuário público?
R
rauppluizfr
O sistema esta hospedado em um servidor americano, mas com um espelho no locaweb, rodando em um tomcat, utilizando JSF + Hibernate + Spring, banco MySql.
Possui uma area restrita com 2 niveis de acesso possiveis e outro perfil publico. Dos usuarios publicos que se cadastram, as unicas informacoes relevantes a respeito do mesmo armazenadas, é o e-mail e telefone do individuo.
Se ag me invadir o banco alem da dor de cabeca de me roubar as senhas dos usuarios com perfis para acesso a area restrita (estao criptografadas em MD5, algoritmo do Spring), eh alterar os dados de uma tabela em particular, em suma, somente um usuario com acesso a area restrita pode colocar um cliente para obter determinado produto free, os usuarios com perfis publicos somente tem acesso a descontos a esses produtos …
fabiozanardi
a app é desenvolvida em que? java, php, asp, .net?
R
rauppluizfr
java …
AH! e SO eh o ubuntu
fabiozanardi
a segurança vai envolver muito mais que apenas implementar um login, seria bom estudar bem o assunto
voce poderia autenticar com uma session básica de servlet, ou utilizando o @phaselistener do jsf,
se precisar de algo mais avançado como permissoes por usuario pode estudar o spring security ou o jass
R
rauppluizfr
Jah uso o Spring Security, estava mais preocupado eh com a seguranca do servidor mesmo, ataques de forca bruta, etc … Unica coisa que fiz ateh agora foi mudar as portas padroes do ssh/mysql
A
AbelBueno
Você pode encontrar materiais sobre o assunto a partir desse site: https://www.owasp.org
Ele é justamente voltado para a segurança de aplicações web.
É também possível contratar uma empresa especializada em segurança para verificar vulnerabilidades do seu sistema.
Só não tenho idéia do preço desse serviço e se é viável para suas necessidades.
fabiozanardi
Você pode fazer uma política de segurança forte no servidor, solicitando sempre senhas com letras maiusculas, minusculas, numeros e se possivel 1 caracter especial
alem de utilizar um captcha nos forms de login, o primefaces ja tem o componente pronto
Além disso, você pode banir o IP de tentativas de login por x horas caso tenha tido 5 tentativas erradas no mesmo login.
P
philliparente
Se está hospedado no locaweb ou em outra empresa de hospedagem é responsabilidade deles a segurança do banco de dados. A respeito das informações sobre usuário e senha, se você quiser mais segurança, pode pesquisar outro tipo de criptografia pois o md5 já está, em grande parte, “descoberto”. Tente usar senhas fortes para usuários administradores, por exemplo com mais de 16 caracteres, isso dificulta um ataque de reconhecimento de senha e tenha cuidado para não sair divulgando-a. Com estes pontos, acho q não é necessário temer a segurança de session e servlet (claro q depende da implementação) pois o java já oferece estes quesitos de segurança encapsulados.