Comments (7)
@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.
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:
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:
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.
@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.
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:
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.
@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.
@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.
@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)
- Favoritar / Start ⭐ HOT 1
- Busca trazendo resultados fora do tabnews HOT 5
- [Ideia] Usar os comentários do TabNews como API/sistema de comentários de blogs e/ou sites terceiros HOT 2
- Adicionar paginação no endpoint /users e criar página para listar usuários HOT 1
- Exibir tabela de conteúdos (links para os títulos) na publicação HOT 10
- Não é possível editar ou apagar um conteúdo usando apenas o teclado HOT 1
- Tela de Insight dos Posts e Perfil HOT 1
- Pesquisa de conteúdo HOT 1
- Marcar um comentário como resposta? HOT 7
- Melhorar a Exibição de Erros de Autenticação HOT 3
- Melhorar processamento dos comentários HOT 2
- havera uma versão em inglês ? HOT 2
- Implementação do pubsubhubbub na RSS
- Adicionar funcionalidade de Favoritar os posts HOT 1
- Tabnews: múltiplos logins associados ao mesmo endereço Gmail. Detalhes na descrição. HOT 2
- Mensagem de erro ao tentar publicar novo conteúdo HOT 7
- Encerramento da parceria com a Vercel HOT 13
- Campo `description` em algumas páginas causa resultados inadequados no Google HOT 3
- Posso implementar a opção de Login com github? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabnews.com.br.