Fiquei bastante paranóico em aprender a "fazer a segurança certa" para este site que estou construindo (primeiro site não trivial que criei) e notei algo que me incomoda: SSL.
Eu li muitos tópicos de segurança aqui, no StackOverflow, e em outros lugares sobre a regeneração dos IDs de sessão após n usos, e como suas senhas precisam ser salgadas, colocadas em hash e nunca armazenadas em texto sem formatação. Eu já li bastante sobre como detectar quando uma sessão foi invadida, rastreando endereços IP, agentes de usuários e usando cookies de rastreamento.
O que eu não entendo é o que isso importa quando o site efetua login por meio de um POST HTTP normal e envia sua senha por fio em texto sem formatação?
Entendo que todos os outros métodos que listei são necessários para reduzir sua exposição geral, e talvez haja alguns sites que não precisem de tanta segurança, mas acho que estou perguntando:
- Quando é bom não se preocupar com SSL?
Sites como o Gmail, o seu banco e o LinkedIn, vejo motivos para usar o SSL, mas o que faz com que seja legal que sites como o Facebook e o reddit não se incomodem (inferno, o PlentyOfFish até armazena sua senha em texto sem formatação e até envia por e-mail semanalmente como lembrete!?!)?
Quão preocupado devo estar em garantir que o SSL esteja configurado (especialmente porque eu começaria com um host compartilhado e estou começando a ser muito barato)? Meu site não conterá nenhuma informação particularmente pessoal, se isso ajudar. Se o site se tornar um sucesso, eu consideraria seriamente pagar o extra pela segurança adicional.
fonte
Tomando a abordagem oposta à resposta de John, acho que você deve considerar seriamente o SSL se manipular qualquer informação de identificação pessoal - para incluir: nomes com endereços físicos, endereços de email, informações financeiras e comunicações que os usuários razoavelmente esperariam que fossem privadas .
A menos que seu site forneça meios para que os usuários publiquem informações sobre si mesmos, considere que todas as informações de identificação pessoal fornecidas por eles sejam mantidas por você e somente sob estrita confiança, a menos que a política de privacidade do site informe seus usuários de outra forma.
Impedir que terceiros não autorizados vejam as informações de seus visitantes e mantenha seus usuários informados sobre como você usa essas informações para manter a confiança de seus visitantes.
(Fonte HTML de login do Facebook.com)
fonte
microtime()
chamada do servidor. Seu hash transmitido é uma combinação de sua senha +microtime()
e, assim que eu receber seu hash, invalido omicrotime()
par de desafio / resposta + senha (ele não pode ser usado novamente).Em agosto de 2014, o Google indicou oficialmente que o HTTPS seria usado como um sinal de classificação.
Isso significa que, mesmo que seu site seja totalmente estático, se você se preocupa com o SEO, considere a possibilidade de configurar um certificado SSL.
É claro que o HTTPS é apenas um sinal de classificação dentre centenas, então provavelmente há coisas mais importantes que você pode fazer pelo SEO.
fonte
Aqui está um ângulo que você pode não ter considerado: não usar SSL / TLS pode expor seus usuários a monitoramento passivo, mesmo que seu site não possua logins.
Um agente de ameaça pode simplesmente ficar entre o usuário e o resto da Internet, observando todos os URLs solicitados pelo usuário e criando padrões do que o usuário está visualizando. De fato, bits individuais de informação podem ser insignificantes isoladamente, mas a combinação de muitos pequenos bits de informação pode criar uma imagem muito maior.
É por esse motivo que ofereço HTTPS no meu próprio site, que fornece apenas conteúdo estático.
fonte