- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
2 hours ago
A Blindagem Contra o Vazamento de Dados – Por Que Desativar Mensagens de Erro SQL é Essencial?
1. Introdução: O Risco Inadvertido de Erros Detalhados
No ambiente de TI, um erro é uma informação valiosa para o desenvolvedor. No entanto, em um ambiente web voltado para o usuário, um erro detalhado é um presente para um atacante.
Quando um script ou uma consulta falha no ServiceNow, a plataforma tem a capacidade de exibir a mensagem de erro SQL bruta que veio do banco de dados subjacente. Embora isso ajude no debug, expõe informações críticas sobre a estrutura interna do seu banco de dados (nomes de tabelas, campos, lógica de queries e até mesmo o dialeto SQL).
A desativação dessas mensagens através da propriedade glide.db.disable_sql_error_messages é uma medida de segurança de primeira linha que protege sua instância contra tentativas de SQL Injection e ataques de Vazamento de Esquema (Schema Leakage).
2. O Perigo da Informação Exposta
Por que um erro SQL detalhado é perigoso?
-
Ajuda ao Atacante: Um "h a c k e r" que tenta realizar um ataque de SQL Injection (tentando inserir código SQL malicioso através de campos de entrada) depende do feedback do sistema. Se o sistema retornar uma mensagem de erro SQL completa, o atacante pode usar essa informação para:
-
Mapear o Esquema: Descobrir os nomes exatos de tabelas e colunas no seu banco de dados (Ex:
u_tabela_dados_pessoais,sys_user_password_history). -
Aperfeiçoar o Ataque: Corrigir a sintaxe da sua query maliciosa até que ela funcione, burlando a segurança.
-
-
Violação de Boas Práticas: A exibição de detalhes técnicos internos para o usuário final viola o princípio do Mínimo Vazamento de Informação, uma regra de segurança crítica.
3. A Solução: Desativando Mensagens de Erro SQL
O ServiceNow permite que você controle este vazamento de informação através de uma propriedade de sistema:
Propriedade Principal:
| Propriedade | Função | Valor Recomendado |
glide.db.disable_sql_error_messages |
Controla se as mensagens de erro SQL detalhadas serão suprimidas. | true |
Ao definir esta propriedade como true, qualquer erro SQL que ocorrer será interceptado e exibido ao usuário com uma mensagem genérica de erro (Ex: "Ocorreu um erro. Entre em contato com o suporte."), negando ao atacante o feedback necessário para continuar o ataque.
Propriedade Complementar (Boas Práticas):
Além disso, é crucial verificar outra propriedade mencionada nas melhores práticas de segurança:
| Propriedade | Função | Valor Recomendado |
glide.db.loguser |
Controla se os detalhes do usuário (nome, IP) são incluídos nos logs de SQL. | false |
Garantir que ambas as propriedades estejam configuradas para desativar logs e mensagens de erro é o padrão de segurança mais alto.
Como Configurar o Parâmetro Disable SQL Error Messages
Para configurar o parâmetro Disable SQL Error Messages no ServiceNow, siga os passos abaixo:
Acesse o ServiceNow: Faça login na sua instância do ServiceNow com uma conta de administrador.
- Navegue para Configurações de Sistema:
- No menu de navegação, vá até Admin > Security center.
Localize em Top non-compliant hardening settings no fim da lista, View all:
Clique no filtro
Clique em Advanced View
Selecione o campo “Name”
O operador IS
E digite o nome “Disable SQL Error Messages”
e clique em update
Seu filtro ficará da seguinte maneira
e assim você irá localizar o parâmetro
Clique no parâmetro e assim irá ver
Altere o valor conforme a recomendação
Set property ‘glide.db.loguser’ to false.
ficará desta forma
clique em update
e assim seu parâmetro estará compliant
4. Conformidade e o Security Center (SSC)
A desativação de mensagens de erro SQL é um dos itens de Hardening verificados pelo ServiceNow Security Center (SSC).
-
SSC Check: O console de Hardening Settings do SSC verifica ativamente o valor da propriedade
glide.db.disable_sql_error_messages. -
Hardening Score: Manter esta propriedade definida como
truecontribui diretamente para elevar seu Hardening Score, demonstrando que sua instância está em conformidade com as diretrizes de segurança da plataforma. -
Mitigação: Ao resolver esta não-conformidade, você está mitigando um risco listado nas categorias de vazamento de informação e proteção contra ataques de injeção.
Conclusão: Segurança por Padrão
O Enforce Disable SQL Error Messages é um lembrete de que a segurança está nos detalhes. Ao desabilitar o feedback excessivo do sistema, você transforma um potencial vetor de ataque em um obstáculo genérico.
Garantir que sua instância utilize apenas mensagens de erro genéricas para o usuário final é uma etapa essencial para proteger o esquema interno da plataforma, manter o Hardening Score alto e garantir uma postura de segurança robusta.
- ServiceNow Releases.
- ServiceNow History.
- Summary.
- SSC — O Guia Definitivo para Blindar Sua Instância e Atingir a Conformidade. / Medium.
- Disable SQL Error Messages. doc oficial.
- https://www.youtube.com/@servicenowbr/
- https://www.facebook.com/groups/servicenowbrasil
- https://www.servicenow.com/community/brazil-snug/tkb-p/snug-br-brazil-tkb-board
- https://www.linkedin.com/groups/5134493/
- https://www.servicenow.com/community/user/viewprofilepage/user-id/73505
- https://github.com/Tiagomacul/
- https://www.tiktok.com/@servicenowbr
- https://open.spotify.com/show/1Qa4xVz7xXnKM9y9wggfT9
- https://www.linkedin.com/in/tiagomacul/
- https://www.linkedin.com/company/now-bridge/
