this post was submitted on 22 Dec 2025
1 points (100.0% liked)

Quartinho da T.I.

19 readers
2 users here now

Grupo de trabalho de tecnologia da informação da comunidade Ayom.

🧑‍💻 Integrantes

@pedro @pinkmothra @daltux @vereda


🛟 Ajuda

Deseja pedir ajuda sobre a infraestrutura tecnológica da Ayom? Pode comentar o tópico destinado a Reportar problemas.

🆘 Salve os meios de contato alternativos para quando os serviços da comunidade estiverem inacessíveis:

XMPP ayom-gt-ti@chat.disroot.org

Nextcloud Form. Solicitação ao GT-TI


A criação de páginas neste espaço está restrita à moderação.

founded 2 years ago
MODERATORS
 

Descrição de situação que talvez seja bug do Mastodon (sistema de microblogging federado por ActivityPub) da comunidade Ayom ao tentar desabilitar o duplo fator de autenticação (2FA) de uma conta e de como foi possível contornar o erro, considerando que a necessidade pode vir a se repetir ou, também, eventualmente ajudar a administração de outros servidores.

Pela Web

Por algum motivo desconhecido, não foi possível à própria pessoa detentora da conta desativar o duplo fator de autenticação em https://ayom.media/settings/two_factor_authentication_methods

Tampouco houve sucesso na interface de administração na Web, https://ayom.media/admin/accounts — Nesse caso, após pesquisar pela conta e carregá-la, quando ela tem 2FA ativo, aparece botão com a opção de desativar. Porém, ao acioná-lo, ocorria erro, sem explicação.

Por linha de comando

Tentamos, então, fazer isso pela interface de linha de comando. Nossa estrutura utiliza Docker em modo Swarm. Alinhando o necessário nesse cenário com a documentação do comando de administração do Mastodon, executamos o seguinte, também sem sucesso. Considerando ayom_mastodon-web o nome do contêiner e nome.da.conta autoexplicativo:

docker exec -it $(docker ps -q --filter name=ayom_mastodon-web) tootctl accounts modify nome.da.conta --disable-2fa

Ocorreu erro, provavelmente o mesmo, porém visível agora, de quando a operação foi tentada pela Web.

Banco de dados

Fomos, então, pesquisar sobre o esquema do banco de dados do Mastodon, em PostgreSQL. No ambiente Docker Swarm da Ayom, ele está em execução como outro serviço, denominado mastodon-db, da pilha ayom, sendo mastodon o nome de usuário e mastodon_production o nome do banco de dados. O nome do contêiner é ayom_mastodon_db.

Cópia de salvaguarda

Elementar. Executamos, para isso, nosso script backup_mastodon-db.sh, que salva o arquivo, por padrão, em ~/bkp

Determinar a conta e zerar campos do 2FA

Abrir o programa psql já com a base em questão:

docker exec -it $(docker ps -q --filter name=ayom_mastodon-db) psql -U mastodon -d mastodon_production

Exemplo de como procurar pela conta que deseja alterar, para descobrir seu ID:

select id,username,domain from accounts where username='daltux'';

Após muito pesquisar, constatamos que os dados de 2FA ficam nos campos otp_required_for_login, otp_secret e otp_backup_codes da tabela users. Basta zerá-los, considerandooo o id descoberto no :

begin;
update users set
  otp_required_for_login = false,
  otp_secret = NULL,
  otp_backup_codes = NULL
where id = 10;
commit;

⚠️ Aviso de segurança da informação

Recomenda-se ter certo nível de certeza sobre quem solicitou a desativação de 2FA ser realmente a pessoa titular da conta, pois a "engenharia social" é a maneira mais esperada de atacantes tentarem contornar tal proteção.

top 1 comments
sorted by: hot top controversial new old
[–] daltux@snac.daltux.net 1 points 1 week ago

Eis o que fiz naquele dia, @felipesiles@ayom.media :podeConfiar: