Analise o log de consulta do MySQL para encontrar permissões apropriadas

1

O servidor de um cliente é configurado com apenas um usuário, que tem permissões globais para fazer tudo. Queremos mudar isso para um usuário por aplicativo, com o mínimo necessário de permissões.

Para fazer isso, sem quebrar nada, gostaríamos de analisar o log de consulta, para descobrir que tipo de consultas são executadas. Existe essa ferramenta?

De preferência, diria que apenas SELECT , INSERT , UPDATE e DELETE foram executados, e nós poderia remover todas as outras permissões.

    
por Znarkus 04.09.2012 / 18:47

1 resposta

1

Não existe uma ferramenta que possa analisar um log de consulta e informar o que será executado agora e para todo o tempo com base nele, simplesmente porque não há como saber se o log de consulta é uma lista exaustiva de todas as consultas que pode ser gerado pelo software.
Você precisa olhar para o código real fazendo a consulta para fazer essa determinação.

Se você não tiver acesso ao código real, a melhor coisa a fazer na sua situação é criar contas por aplicativo que tenham acesso somente ao (s) banco (s) de dados necessários para o aplicativo específico e não possam executar qualquer declarações DDL - isso eliminará pelo menos o Little Bobby Tables problema (e, francamente, qualquer sistema no qual o código está executando instruções DDL é provavelmente fundamentalmente quebrado e precisa ser cuidadosamente reavaliado para as permissões adequadas de esgrima).

Faça isso em seu ambiente de desenvolvimento (você tem um, certo?) e teste para ter certeza de que seus aplicativos funcionam corretamente. Esteja especialmente atento a nomes de usuário / senhas codificados que talvez você não consiga entender. Se você não tiver a sorte de ter um teste de ambiente de desenvolvimento fora do horário comercial, com acesso aos aplicativos afetados desativados para todos os usuários, exceto para a equipe interna de desenvolvimento / teste.

Depois disso, você pode decidir se faz sentido colocar restrições adicionais em algumas partes do aplicativo (por exemplo, contas somente leitura, contas que podem apenas INSERT ou UPDATE , mas não DELETE , etc.)

    
por 04.09.2012 / 18:58

Tags