Nextcloud e Autenticação 2FA

Olá a todos,

Como recentemente prometi aqui está o post de adicionar a funcionalidade de 2FA a vossa instância de Nextcloud.

A autenticação por dois fatores, também conhecida como 2FA, é uma informação adicional que é usada para permitir acesso à determinado serviço.
Normalmente as pessoas somente utilizam um nome de utilizador e uma password. Mas se a password é fácil de adivinhar ou foi roubada, a conta pode facilmente ficar comprometida.

A autenticação por dois fatores está cada vez mais popular pois adiciona mais segurança nas suas contas. Ela tenta garantir que só vocês possa ter acesso às vossas contas.
Provavelmente até já estão a  utilizar a autenticação por dois fatores em alguns sites ou aplicações sem se aperceber. Por exemplo, se quiserem redefinir a sua password em um site específico, ele vai  perguntar, por exemplo, o nome de solteira de sua mãe ou o nome do seu primeiro animal de estimação.

O racional por trás disso é que mesmo que alguém saiba sua senha, ele não saberá esse tipo de informação pessoal.

Portanto, quando vocês escrevem apenas o vosso username e password, isto é uma autenticação por fator único.
Autenticação por dois fatores exige que o usuário coloque dois em cada três das seguintes credenciais antes de ser capaz de acessar a conta.

Essas são:

• Algo que tu sabes – Pode ser um código PIN, senha ou um padrão.
• Algo que tu tens – Um cartão do banco, telefone celular ou keycard.
• Algo que tu és – uma impressão digital, leitura de íris ou reconhecimento de voz

No caso especifico será algo que só vocês terão.

Neste caso um Google Authenticator, enrolled na conta que irá fornecer um método de acesso mais elaborado.
Para o nosso nextcloud, será necessário instalar uma app interna da Nexcloud que está disponível na app store da aplicação e um cliente da google, que está disponível tanto para iOS como para Android.

A app da Nextcloud terá de ser instalada como o admin da instância de Nextcloud, e após a instalação ficará disponível para todos os utilizadores, sendo ativada caso a caso, e caso o desejem.

Para acederem a ela, nada mais fácil. Como o utilizador em questão, acedam ao menu do utilizador, canto superior direito – terá a inicial do vosso username – secção settings.

Em seguida, no menu, secção de segurança:


Activar o TOTP, e a página por baixo irá carregar o seguinte menu com QR Code que deverá ser lido com a vossa App no telemóvel:

A app irá devolver um código numérico que deverão usar como Authentication Code e em seguida cliquem em verify.

É fundamental não esquecer de gerar e guardar os vossos backup codes, pois em caso de falha de acesso de internet, e sem acesso de filesystem aos vossos documentos – estou a assumir que tem os dados cifrados dentro do próprio nextcloud-  esta será a única forma de acederem aos vossos dados.

Finalmente, e para aplicações como por exemplo os clientes de nextcloud nativos, será necessário criar uma password/token por aplicação. No meu caso tenho um token por cada cliente: 3 pc’s e 2 telemóveis = 5 tokens diferentes.

Para isso escolher um nome familiar para a app em questão, carregar em Create New App Password, e guardar os dados que ele irá apresentar:

De forma a garantir que tudo fica em ordem e não perdem sincronização no próximo rehash das ligações, nos vossos clientes de nextcloud, efetuar logout e login dentro das aplicações de sincronismo que tem instalado nos vossos computadores e smartphones.
Quando voltarem a fazer login, o username e token/password para esse cliente é a que vos foi indicada quando criaram nova app password.

Espero que tenham gostado deste post, e até ao próximo!
Stay safe!

Abraço!
Nuno