Skip to content

Auditoria & Segurança ​

Trilha imutável do que foi feito, por quem e quando, log de acessos, alertas de segurança e estado das cópias de segurança. Destina-se ao Controlo Interno, à Inspecção e ao administrador de sistema.

SecçãoMenus
Sistema / AdministraçãoTrilha de auditoria · Segurança

Permissões: auditoria.view (ver a trilha, o log de acessos, os alertas e o painel) e auditoria.manage (mudar o estado de um alerta). Perfis de origem com acesso: Presidente / Executivo e Vereador de Finanças (leitura), Auditor / Controlo Interno (leitura total + gestão de alertas) e Administrador de Sistema. Ver Perfis e permissões.

Auditor sem poder de alteração

O perfil Auditor recebe auditoria.view, auditoria.manage e todas as permissões de leitura (*.view) dos módulos — mas nenhuma de escrita. Consegue ver tudo e não muda nada. É o perfil certo para o Controlo Interno e para auditorias externas.

Trilha de auditoria ​

Sistema / Administração › Trilha de auditoria — «Registo imutável de todas as ações sensíveis · para Controlo Interno e Inspeção».

O que fica registado ​

Cada acto relevante grava um registo com: data/hora, utilizador (nome no momento do acto), acção, entidade e ID da entidade, valor anterior e valor novo, IP e agente (browser). A escrita é feita pelos próprios módulos no momento da operação — não há forma de editar nem de apagar um registo, em nenhuma consola nem na API.

Acções canónicas (com rótulo e cor próprios):

AcçãoRótulo
criacaoCriação
edicaoEdição
aprovacaoAprovação
publicacaoPublicação
anulacaoAnulação
eliminacaoEliminação
reset_senhaReposição de senha
alteracao_permissaoAlteração de permissão
login / logoutInício / Fim de sessão (ver Log de acessos)

Os módulos registam ainda acções específicas, mostradas com o nome técnico: emissao_guia, pagamento, pagamento_confirmado, conciliacao, isencao, prescricao, fecho_periodo, abertura_periodo, alteracao_orcamental, depreciacao, abate, alienacao, transferencia, exportar (exportação de mapas, com formato, período e filtros), modulos.definir, cms.topico.fechar, cms.topico.apagar, cms.resposta.apagar, cadastro.processo_obra.indeferir, fiscalizacao.auto.arquivar, entre outras.

Exemplos do que gera registo:

  • Utilizadores — criação, edição, mudança de estado, eliminação, reposição de senha, reenvio de credenciais, cancelamento de eliminação; permissões individuais;
  • Parâmetros e taxas — criação, edição, aprovação, publicação (ver Administração);
  • Tesouraria — guias, pagamentos, recibos, anulações, conciliações;
  • Tributação, Contabilidade, Património, Cadastro, Ambiente, Fiscalização, Mercados;
  • Comunicação — moderação de fóruns com motivo;
  • Arquivo — criar pasta, carregar, renomear, enviar para o lixo;
  • Exportações de mapas em PDF/Excel.

Licenciamento

Nesta versão o módulo de Licenciamento (taxas e licenças de postura) não escreve na trilha. Para acompanhar essas operações use os registos da Tesouraria (guias e pagamentos) — ver Tesouraria.

Indicadores do período ​

Quatro cartões, calculados sobre os filtros activos:

CartãoO que conta
Registos no períodotodos os registos filtrados
Anulaçõesacções anulacao (receita e documentos)
Taxas / parâmetroscriação, edição, aprovação e publicação de Parametro e TaxaPostura
Perfis / permissõesalterações à entidade Perfil ou acções alteracao_permissao

Pesquisar ​

Filtros (todos aplicados no servidor):

  • Pesquisa livre («Utilizador, entidade, ID...») — procura no nome do utilizador, na entidade, no ID da entidade e na acção;
  • Utilizador — «Todos os utilizadores» ou um utilizador concreto;
  • Entidade — «Todas as entidades» ou uma (ex.: Utilizador, Parametro, TaxaPostura, Guia, ArquivoNo);
  • Ação — «Todas as ações» ou uma das dez canónicas;
  • De / Até — intervalo de datas.

A lista mostra Data / hora · Utilizador · Ação · Entidade · IP, 25 por página, do mais recente para o mais antigo. Não há filtro por IP nem por módulo — use a pesquisa livre e a entidade.

Ver um registo ​

Clique na linha. O painel lateral mostra Data / hora, Utilizador, Ação, Entidade, ID da entidade, IP, Agente e a secção Diferenças (antes → depois): cada campo alterado com o valor antigo e o novo, lado a lado. Nunca é apresentado JSON cru.

Exportar relatório ​

Exportar relatório (cabeçalho) gera auditoria-AAAA-MM-DD.csv com todos os registos que cumprem os filtros (não só a página visível), colunas timestamp, utilizador, acao, entidade, entidade_id, ip. O CSV não inclui o agente nem as diferenças — para essas, abra o registo. Os campos são protegidos contra injecção de fórmulas no Excel. Não há exportação em PDF.

Painel de segurança ​

Sistema / Administração › Segurança — «Tentativas falhadas, alertas por severidade, log de acessos e cópias de segurança».

Cartões ​

CartãoSignificado
Tentativas falhadas (24h)acessos recusados nas últimas 24 horas
Alertas abertosalertas por tratar
Alertas críticosalertas de severidade Crítica não resolvidos
Estado do backupestado da última cópia de segurança e retenção

Alertas de segurança ​

Lista de alertas com severidade (Baixa · Média · Alta · Crítica), tipo (Muitas anulações · Acesso fora de horário · Tentativas falhadas), estado (Aberto · Em tratamento · Resolvido), contexto e data. Ordenados por gravidade.

Tratar um alerta (exige auditoria.manage): escolha o novo estado → Atualizar estado → confirmar «Atualizar estado do alerta?». Um alerta Resolvido deixa de poder ser alterado.

Alertas ainda sem produtor automático

Nesta versão nenhuma rotina cria alertas: o painel mostra «Sem alertas — nenhum alerta de segurança para os critérios atuais» e os cartões ficam a 0 (não verificado em produção). Os indicadores fiáveis são o cartão Tentativas falhadas (24h) e o log de acessos.

Log de acessos ​

Tabela Data / hora · Utilizador / conta · Evento · IP · Resultado, com filtro por resultado (Todos · Sucesso · Falha), 25 por página.

EventoQuando é gravado
Início de sessãocredenciais aceites e sessão emitida (com 2FA, só depois do código)
Tentativa falhadasenha errada, conta inexistente, ou conta inactiva/bloqueada
Fim de sessãoterminar sessão

Numa tentativa falhada a coluna Utilizador / conta mostra o identificador tentado (email ou nome) — nunca a senha. Enquanto uma conta está bloqueada por excesso de tentativas, as repetições não são gravadas (as tentativas que causaram o bloqueio já lá estão); isto evita que um anónimo encha o log.

Cópias de segurança ​

O cartão Cópias de segurança mostra Último backup, Último teste de restauro e Retenção, com o estado:

EstadoSignificado
OK (verde)última cópia registada dentro do prazo
Atrasadoa rotina não corre há mais tempo do que devia
Falhaa última execução falhou; a data da última cópia boa mantém-se
Sem informação (vermelho)nunca foi registada nenhuma cópia

«Sem informação» significa que não há cópias

O cartão só é alimentado pela rotina de cópias de segurança instalada pela equipa de sistemas no servidor; é ela que regista a data de cada cópia e de cada teste de restauro. Enquanto o cartão disser «Sem informação», assuma que não existem cópias de segurança. Se houver cópias mas nenhum teste de restauro, o cartão avisa: uma cópia nunca restaurada não é uma cópia.

O que a rotina copia (ver o guia de instalação): a base de dados completa, os anexos que não passam pelo Arquivo, o repositório de documentos do Arquivo (cifrado em repouso) e, em separado e cifrado, as chaves da instalação — sem elas os documentos do Arquivo ficam ilegíveis para sempre. Retenção por omissão: 30 dias. Recomenda-se cópia diária de madrugada, teste de restauro mensal e cópia rápida da base antes de cada actualização.

Contas, senhas e sessões ​

O que o SGM impõe, e onde se gere:

Senhas ​

  • Mínimo 8 caracteres, com confirmação; não há regra de complexidade obrigatória. A nova senha não pode ser igual à actual;
  • Senhas geradas pelo sistema (criação de conta, reposição por administrador) têm 16 caracteres com maiúsculas e minúsculas e obrigam a trocar no primeiro acesso («Deve alterar a senha no próximo acesso» na ficha do utilizador);
  • Mudar a senha termina todas as sessões («Senha alterada. Faça login novamente.»);
  • Recuperação de acesso em 4 passos (pedido → código de 6 dígitos por SMS ou email → verificação → nova senha). O código vale 10 minutos, com 5 tentativas, reenvio a cada 60 s e 3 envios por hora por conta. O pedido responde sempre da mesma forma, exista ou não a conta.

Bloqueio por tentativas falhadas ​

RegraValor por omissão
Tentativas antes de bloquear5 (parâmetro security.login_max_attempts, mín. 3)
Duração do bloqueio15 minutos (security.login_lockout_minutes)
Mensagem«Demasiadas tentativas falhadas. Tente de novo em N min.»

O bloqueio é por conta e expira sozinho — não existe botão de desbloqueio. Estes valores são definidos pela administração da plataforma. Além disso, o servidor limita pedidos por endereço IP nos ecrãs de entrada e recuperação.

Autenticação de dois factores (2FA) ​

  • O 2FA do SGM é um código de 6 caracteres enviado por email (não é aplicação autenticadora). Validade: 10 minutos (security.otp_expiry_minutes); máximo 10 envios por hora e 60 s entre reenvios; 5 códigos errados bloqueiam a verificação por 30 minutos;
  • Activa-se na própria conta ou por um administrador em Administração › Utilizadores (Ativar 2FA / Desativar 2FA). Desactivar pela própria conta exige a senha;
  • Ao activar, o sistema entrega um código de recuperação (letras e dígitos sem caracteres ambíguos). Usá-lo para entrar consome-o e gera outro, mostrado nesse momento — guarde-o. Pode regenerá-lo na conta;
  • O 2FA não é obrigatório para nenhum perfil. Ver a recomendação abaixo.

Sessões ​

  • A sessão expira ao fim do prazo definido na instalação (por omissão 120 minutos, renovável enquanto a consola está em uso); não há expiração por inactividade;
  • Entrar noutro dispositivo não termina as sessões anteriores;
  • Um utilizador bloqueado/inactivado deixa de poder usar qualquer sessão de imediato — incluindo no Arquivo — e cada nova tentativa fica no log como Tentativa falhada;
  • A gestão de sessões próprias («dispositivos ligados») existe na API mas não tem ecrã na consola nesta versão (não verificado).

Bloquear, repor e eliminar utilizadores ​

Estas acções não estão no painel de segurança: fazem-se em Administração › Utilizadores — Inativar / Ativar, Repor senha, Ativar / Desativar 2FA, reenviar credenciais, eliminar e cancelar eliminação. Todas ficam na trilha. Ver Administração.

Retenção da trilha ​

Não há expurgo automático da trilha nem do log de acessos: crescem indefinidamente e a retenção é tratada ao nível da base de dados e das cópias de segurança. A única limpeza agendada de segurança é a dos tokens revogados expirados (diária).

Boas práticas ​

  1. Active o 2FA nos perfis com poder de escrita em dinheiro e acessos: Administrador de Sistema, Tesoureiro / Caixa, Vereador de Finanças, Contabilista. Não é imposto pelo sistema — faça-o por política interna e confirme na coluna 2FA da lista de utilizadores;
  2. Reveja semanalmente o cartão Tentativas falhadas (24h) e filtre o log de acessos por Falha: vários falhanços seguidos no mesmo identificador ou IP merecem contacto com o utilizador;
  3. Reveja mensalmente os cartões Anulações e Perfis / permissões da trilha, abrindo cada registo para ver as diferenças;
  4. Exija que o cartão de cópias de segurança esteja OK com teste de restauro no último mês; se disser «Sem informação», trate como incidente;
  5. Uma conta por pessoa, sem partilha de credenciais — a trilha só vale como prova se o utilizador registado for quem praticou o acto;
  6. Ao sair de funções, inative a conta em vez de a eliminar: o nome mantém-se legível na trilha e a conta deixa de entrar de imediato;
  7. Exporte o CSV da trilha no fecho de cada exercício e guarde-o com o processo de prestação de contas.

SGM — Sistema de Gestão Municipal · Águia Consultores