2FA é um método de segurança de gerenciamento de identidade e acesso que requer duas formas de identificação.
Após um ano e meio de trabalho e algumas mudanças graduais, a autenticação obrigatória através de 2FA foi finalmente introduzida de forma geral para todos os usuários do PyPI, desde meados de 2022 os desenvolvedores do repositório de pacotes Python PyPI (Python Package Index) anunciaram uma rota para a transição para a autenticação obrigatória de dois fatores para pacotes críticos.
Um ano após o referido anúncio (em junho de 2023) Autenticação obrigatória implementada de dois fatores para todos contas de usuário que eles mantinham naquele momento, pelo menos um projeto ou fazia parte de uma organização que seleciona pacotes para uso obrigatório de autenticação de dois fatores.
Y Agora, a introdução da autenticação obrigatória de dois fatores foi aplicada a todosos usuários em geral, portanto, ao não habilitar a autenticação de dois fatores, o usuário não poderá fazer upload de arquivos ou realizar ações relacionadas ao gerenciamento de seu projeto.
Esta postagem é um reconhecimento ao trabalho árduo realizado para tornar isso realidade e um agradecimento a todos os usuários que habilitaram o 2FA em suas contas.
É também um lembrete para aqueles que ainda não habilitaram o 2FA, que você precisará fazer isso antes de realizar qualquer ação de gerenciamento ou fazer upload de arquivos para o PyPI.
Depois que o 2FA estiver ativado, você poderá realizar ações de gerenciamento, incluindo a geração de tokens de API ou a configuração de editores confiáveis (preferenciais) para fazer upload de arquivos.
Como observado em artigos anteriores, os desenvolvedores do repositório Pacotes Python PyPI destacaram a importância da implementação da autenticação de dois fatores. Esta medida é introduzida com o objetivo de melhorar a segurança no processo de desenvolvimento e proteger os projetos contra possíveis alterações maliciosas causadas por vazamentos de credenciais. A autenticação de dois fatores fornece uma camada adicional de proteção, mitigando riscos associados ao uso de senhas compartilhadas, vulnerabilidade de senha em sites comprometidos, ataques ao sistema local do desenvolvedor ou táticas de engenharia social.
A necessidade de reforçar a segurança reside na ameaça significativa de acesso não autorizado devido à aquisição de conta. Este tipo de ataque representa um risco considerável, pois se for bem-sucedido, os invasores poderão introduzir alterações maliciosas em outros produtos e bibliotecas que dependem do pacote comprometido. Portanto, a autenticação de dois fatores apresenta-se como uma medida essencial para salvaguardar a integridade e a confiança no ecossistema de desenvolvimento de software Python, prevenindo potenciais consequências negativas derivadas de acessos não autorizados e alterações maliciosas em projetos críticos.
Além disso, os desenvolvedores mencionam que a autenticação preferencial de dois fatores é baseada em um esquema que utiliza tokens de hardware compatíveis com a especificação FIDO U2F e o protocolo WebAuthn. Este método se destaca por fornecer um maior nível de segurança em comparação à geração de senhas de uso único. Os tokens de hardware, alinhados com FIDO U2F e WebAuthn, oferecem uma camada adicional de proteção, melhorando a segurança no processo de autenticação.
Além dos tokens de hardware, existe a opção de usar aplicativos autenticadores que geram senhas de uso único e suportam o protocolo TOTP (Time-Based One-Time Password). Exemplos desses aplicativos incluem Authy, Google Authenticator e FreeOTP. Esses aplicativos fornecem outra alternativa segura à autenticação de dois fatores.
Ao baixar pacotes, é altamente recomendável que os desenvolvedores usem o método de autenticação chamado 'Editores Confiáveis'. Este método é baseado no padrão OpenID Connect (OIDC) ou usa tokens de API. A escolha dessa abordagem ajuda a fortalecer a segurança nas interações e transações relacionadas aos downloads de pacotes, proporcionando um nível adicional de confiança ao autenticar os editores envolvidos.
Finalmente, Se você estiver interessado em saber mais sobre isso, você pode verificar o detalhes no link a seguir.