34 lines
5.4 KiB
Markdown
34 lines
5.4 KiB
Markdown
# Adesão voluntária MFA no SGC
|
|
|
|
03/11/2026. Código preparado e validado em bases descartáveis; piloto permanece com a funcionalidade desligada. Posteriormente autorizada e instalada exclusivamente a estrutura de três campos vazios,com backup/restauro114tabelas e preservação das12contas;prova mfa-pilot-schema-installation.json. Não há inscrição automática, MFA obrigatório por perfil ou mudança de competências. Referências de preparação abaixo preservam a sequência histórica; a pendência actual é activação/recuperação autorizada, não repetir a migração.
|
|
|
|
## Percurso implementado
|
|
|
|
Quando a capacidade estiver deliberadamente activa, Segurança da conta exige confirmação recente da palavra-passe pelo middleware nativo. A própria pessoa inicia a adesão, introduz a chave manual na sua aplicação autenticadora e confirma um código válido. Uma preparação ainda não confirmada não activa o desafio no login. Reabrir a página permite retomar ou cancelar a preparação, sem a modificar apenas por consulta.
|
|
|
|
Depois da confirmação, a interface mostra os códigos de recuperação pedidos nesse acto. Pode voltar a consultá-los, ocultá-los, renová-los ou desactivar o segundo factor. Renovação e desactivação têm confirmação explícita na interface; os endpoints exigem novamente uma palavra-passe recente quando a sessão expira. A renovação invalida os códigos antigos. As operações usam o utilizador autenticado pelo Fortify, sem aceitar outro titular por parâmetro.
|
|
|
|
As chaves e os códigos não entram nas propriedades Inertia ou no seu estado recordado. Ficam apenas no componente montado quando consultados, sem gravação deliberada em armazenamento do navegador. Respostas nativas MFA têm `private, no-store`; códigos de autenticação/recuperação são retirados dos dados de formulário conservados após erros. O cliente usa o cookie XSRF cifrado no cabeçalho e os mecanismos nativos de sessão e CSRF. A chave é introduzida manualmente; esta interface não inclui leitura de QR.
|
|
|
|
## Estado de activação
|
|
|
|
`SGC_TWO_FACTOR_ENABLED` está documentado no exemplo de configuração com valor `false`. Se activado numa instalação preparada, regista a funcionalidade Fortify com confirmação do autenticador e confirmação de palavra-passe. Isto disponibiliza adesão voluntária; não impõe MFA a todos os utilizadores nem define uma política empresarial obrigatória.
|
|
|
|
A instalação exige previamente a migração `2026_11_03_000001_add_two_factor_columns_to_users`, a conferência da composição/configuração e o procedimento autorizado de salvaguarda/recuperação e caches. Nenhum desses passos foi aplicado ao piloto por esta entrega. Não alterar a chave de cifragem da aplicação para activar MFA. Desligar globalmente a capacidade também altera o percurso de autenticação; não serve como recuperação individual improvisada.
|
|
|
|
Antes de propor activação no destino, preparar a operação concreta com estado da instalação e cópia de recuperação verificáveis, confirmar a identidade responsável pelo ensaio e testar a recuperação autorizada. A obrigatoriedade por perfil, eventual recuperação administrativa, concorrência de códigos de recuperação, revisão visual/acessibilidade e aceitação comercial continuam com cobertura própria pendente. O ensaio sequencial de recuperação não certifica reutilização concorrente.
|
|
|
|
## Evidências
|
|
|
|
`proofs/mfa-management.json` e variantes `-pg`/`-http` registam os resultados finais. A regressão inclui os cenários anteriores de desafio TOTP/recuperação e os novos de adesão, consulta sem mutação, renovação, desactivação, isolamento do titular, palavra-passe expirada, privacidade e CSRF com validação efectivamente ligada no teste. O piloto foi consultado apenas com a capacidade desligada: não foram feitas adesões, trocas de palavra-passe, migrações ou grants.
|
|
|
|
Esta entrega não altera decisões, alçadas, reservas, stock ou aprovação de compras. A autenticação confirma a identidade; as competências continuam nos motores existentes.
|
|
|
|
## S1 — integração com a avaliação local
|
|
|
|
Foi corrigida a fronteira entre MFA e os atalhos sintéticos: quando a capacidade MFA está activa, middleware SGC impede entrada/troca de perfis por /avaliar e /demo, não executa autoentrada do proprietário e deixa a autenticação normal responder. A navegação pública de desenvolvimento também não substitui a autenticação nesse modo. A protecção abrange as rotas web de demonstração registadas pelo alojamento, sem modificar o código SGF. Com a capacidade desligada, o piloto conserva o comportamento actual.
|
|
|
|
Regressão final36testes/230verificações de navegação,avaliação,desafio e gestãoMFA;PostgreSQL descartável8testes/61verificações. CoberturaHTTP das entradas sem palavra-passe e do desafio nativo comCSRF;preservação da identidade já autenticada também verificada directamente no middleware. PHPStan,Pint,diff e18hashes aprovados. Sem frontend novo,compilação ou revisão visual. Provas mfa-evaluation-boundary[-pg].json.
|
|
|
|
Preparada proposta-instalacao-mfa-piloto.md e prova mfa-pilot-schema-preparation.json:backup restaurado,114tabelas conferidas e migração ensaiada só na cópia descartável,sem inscrever contas. A instalação real dos três campos continua pendente de autorização. Activação futura depende de acesso por palavra-passe e recuperação preparados,sem desligar MFA globalmente como solução de recuperação individual.
|