Giter Club home page Giter Club logo

Comments (7)

Rafatcb avatar Rafatcb commented on July 16, 2024 2

@kaioenzo temos um issue sobre 2FA (ou MFA): #1171.

@mgrithm obrigado por se prontificar! Antes da implementação, precisamos ter mais claro o que realmente seria benéfico para não correr o risco de implementar e ter o PR fechado por não ser algo desejado.

Acredito que ter a medição no frontend talvez seja algo positivo, mas não como requisito, e sim como indicador. Como o TabNews usa o Primer para a UI, costumo ver o comportamento do GitHub e a documentação do Primer como inspiração/referência. Infelizmente, não encontrei nada sobre isso na documentação, mas se você for editar sua senha no GitHub, verá isso:

Screencast.from.2024-05-09.21-20-09.mp4

E a documentação para criar uma senha forte.

Mas veja, não considero que eles fizeram um bom trabalho com isso, porque o usuário pode escolher a senha aaaaaaa1 e achar que é forte, quando na verdade é uma senha simples. No caso do GitHub, o público alvo não é tão leigo, então isso não tem um impacto tão negativo, e acredito que o público do TabNews também tenha mais conhecimento do que o "público geral". Aqui fala um pouco mais sobre o cuidado que precisamos ter para criar uma política de senhas.

No Wikipedia tem a lista das 10 mil senhas mais comuns, mas não sei o quão comum elas são dentre as pessoas falantes da língua portuguesa, por isso comentei que não sei o quão útil seria verificar isso no TabNews (e essa verificação, sim, seria no backend).

from tabnews.com.br.

Rafatcb avatar Rafatcb commented on July 16, 2024 2

Para o caso de força bruta, após a terceira tentativa, um email reportando-a é enviado juntamente com uma confirmação de autenticação.

Não vejo necessidade disso porque o usuário não pode fazer nada. Veja, por exemplo, as atividades da minha conta da Microsoft:

12 tentativas de login a partir de países diferentes num intervalo de 10 horas

Ter alguém tentando acessar minha conta não significa que eu preciso trocar de senha. A Microsoft nem me avisa desses logins, são dezenas todos os dias, provavelmente tentando usar uma senha minha que já vazou em algum lugar. E, quando eu vejo os detalhes de uma tentativa e clico em "Proteja a sua conta", recebo essa mensagem:

Agradecemos o seu comentário. Não se preocupe. Essa tentativa de entrada não foi bem-sucedida. Não é necessário alterar sua senha. Saiba como tornar sua conta mais segura

Acredito que o sistema deva se defender de números altos de tentativas, ou locais suspeitos etc, mas não precisa preocupar o usuário sem necessidade. Inclusive, o fato do TabNews exigir o e-mail para realizar o login, e não o nome de usuário, já é um grande passo para evitar receber esse spam de tentativas de login.

from tabnews.com.br.

gpoleszuk avatar gpoleszuk commented on July 16, 2024 2

@Rafatcb, não imaginava que a Microsoft tinha essa interface disponivel com tantos detalhes. Deve fazer uns 2 anos que não acesso mais o hotmail. Nem o Gmail nos mostra toda essa informação muito útil. Só de ver a situação de quão visada é sua conta, reforça ainda mais a necessidade de usar senhas muito fortes. Uma das dicas do Akita é usar o número máximo de caracteres permitido pela plataforma, 2FA ou ainda MFA.

Sei que é um grande trabalho para implementar essa funcionalidade no Tabnews. Talvez fique para outro momento quando a plataforma se consolidar. Nem todo mundo imagina quão atacada é uma conta de email por não ter acessos a esses relatórios de tentativa de acesso, ignorando a atual necessidade de que é mais que obrigatório utilizar senhas longas e fortes e/ou múltiplos fatores de autenticação. No caso de sua conta, parece que é um ataque bem distribuído, caso não seja um único indivíduo chaveando as tentativas atrás de uma VPN que possui hosts em diferentes nações.

Valeu por compartlhar esse conhecimento conosco.

from tabnews.com.br.

Rafatcb avatar Rafatcb commented on July 16, 2024 1

Obrigado pela sugestão, @kaioenzo 🤝 Tenho quase certeza que isso já foi discutido, mas procurei e não encontrei nada.

Acho que esses requisitos de criação de senha não são interessantes. Essa resposta no UX Stack Exchange fala um pouco sobre isso, e a tirinha do XKCD deixa mais claro:

Tirinha explicando que uma senha com 8 caracteres, letras maiúsculas e minúsculas, pontuação e número é mais fácil de descobrir por força bruta do que uma com quatro palavras, que possui maior entropia

Também tem essa resposta do Security Stack Exchange.

A resposta do UX Stack Exchange mencionava que bloquearam as 10 mil senhas mais comuns, o que pode ser mais interessante do que exigir uma "senha difícil", mas não sei o quão necessário isso é para o TabNews. E precisaríamos filtrar das 10 mil senhas, quais possuem >= 8 caracteres.

from tabnews.com.br.

gpoleszuk avatar gpoleszuk commented on July 16, 2024 1

@kaioenzo , na minha opinião, algo que sinto falta em vários sites onde tenho conta, é receber um email assim que o login é realizado com sucesso, indicando detalhes do navegador que acessou e IP origem. Vi isso em um sistema do governo e achei muito bom. O Gmail já possui tal funcionalidade dentro da interface do webemail, reportando os 10 últimos recentes acessos, além de poder enviar a notificação para um email alternativo. Desta forma, se algum intruso conseguir entrar na conta com algum artifício (senha vazada ou capturada e supondo 2FA desativado), consigo saber quando e de onde partiu. Um outro recurso é apresentar para o usuário um banner logo após o login informando-o detalhes do último acesso assim como faz a plataforma Lattes.

Para aqueles que apreciam senhas fáceis mas querem ainda assim mantê-la forte, a postagem do @Rafatcb é bem intuitiva. Em vez adotar uma senha com alguns caracteres embaralhados, adote então uma passphrase. A charge na postagem é bem didática, apresentando um exemplo com as duas propostas.

A força de senha pode ser primeiramente deixada só no lado do cliente. Existem alguns algoritmos empregados por vários websites e parece-me que cada um tem uma avaliação diferente para uma mesma senha. Se ainda assim o usuário altera a requisição POST e envia uma senha fraca para o banco, seria o caso de uma suspensão temporária da conta, pois entende-se que é uma espécie de intrusão. Contudo, isso exige uma validação no backend.

Para o caso de força bruta, após a terceira tentativa, um email reportando-a é enviado juntamente com uma confirmação de autenticação. Por exemplo, pode usar o mesmo código que vocês usam para confirmar a conta caso ela fique colocada em modo suspenso. O usuário ou precisa esperar um tempo para nova tentativa ou acessar seu email, clicar num link de confirmação. Esta ideia de acesso à conta por link de confirmação é utilizada pelo Facebook, se não me engano, dispensando o uso de senha, mas o 2FA em outro dispositivo precisa estar ativo para garantir o mínimo de segurança com 2 fatores.

Para alguns usuários, estas funcionalidades podem paracer chateantes, logo poderiam ficar como opções em uma área de configurações de funcionalidades personalizadas da conta. Cada usuário ativa se desejar.

from tabnews.com.br.

kaioenzo avatar kaioenzo commented on July 16, 2024

@Rafatcb, Entendo a questão de UI, mas acredito termos alternativas para contornar isso, como barras de progresso que mudam de cor e indicam uma evolução durante a criação da senha, motivando o uso. Além de diversas outras opções.

Quanto a segurança, minha principal preocupação, vejo alguns prós como esse artigo da Agência de Ciber segurança Americana sugere e tantos outros como esse post.

Vejo que a implementação de fator de dupla autenticação é uma alternativa ainda melhor!

from tabnews.com.br.

mvares avatar mvares commented on July 16, 2024

@Rafatcb, se possivel, eu me ofereço pra fazer o backend e implementar o que você disse. A parte do frontend seria interessante alguém fazer.

Aliás, o método mais aconselhável e robusto que temos poderia ter uma noção das senhas mais usadas e caso a senha atual do usuário quando for registrar bata com algumas das mais usadas, podemos fazer uma alerta e não manchar a UI.

from tabnews.com.br.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.