Sistema de gerenciamento de banco de dados MySQL para ambiente de computação seguro
1. Identificação
a) O usuário que faz o login deve ser identificado e autenticado, a identificação é única, e as informações de identificação possuem requisitos de complexidade e são regularmente substituídas
"1) Tente efetuar login no banco de dados e execute mysql -u root -p para ver se você é solicitado a inserir uma senha para identificar o usuário.
2) Use o seguinte comando para consultar o
usuário de seleção de conta , host FROM mysql. usuário
e enviar a lista de usuários. Verifique se o usuário tem o mesmo nome de usuário
3) Execute a seguinte instrução para verificar se a senha vazia é usada:
select * from mysql.user where length (password) = 0 or password is null
Se o o resultado da saída está vazio
4) Execute a seguinte instrução para verificar a configuração atual relacionada à complexidade do usuário:
mostre variáveis como 'validar%'; ou mostre VARIÁVEIS como ""% senha ""
"1) Quando um usuário efetua login no banco de dados, o nome de usuário e senha são usados para autenticação de identidade.
2) Consulta a tabela de usuário, e não há o mesmo nome de usuário.
3) Não há usuário com uma senha vazia;
4 ) Informações de configuração:
validate_password_length 8
validat_ password_mixed_case_count 1
validate_password_number_count 1
validate_password policy MEDIUM
validate_password_special_char_count 1 "
b) Com a função de processamento de falha de login, medidas relevantes, como encerrar a sessão, limitar o número de logins ilegais e efetuar logout automaticamente quando a conexão de login expirar, devem ser configuradas e habilitadas
"1) Pergunte ao administrador se deseja usar outros meios para configurar a função de tratamento de falha de login do banco de dados.
2) Execute
variáveis de exibição como% max_connect_errors%" "; ou verifique o arquivo my.cnf, os seguintes parâmetros devem ser definidos:
max_connect_errors = 100
3) mostrar variáveis como "% timeout%", ver o valor de retorno "
"1) O banco de dados MySQL usa um software de gerenciamento de terceiros, e o software de gerenciamento de terceiros define o número de falhas de login e bloqueios.
2) 3) O sistema de gerenciamento de banco de dados é configurado localmente com os parâmetros max_connect_errors = 100, Wait_timeout = 28800. Se o servidor mysql receber continuamente dados do mesmo pedido do host, e todas essas solicitações consecutivas forem desconectadas sem estabelecer uma conexão com sucesso. Quando o valor cumulativo dessas solicitações consecutivas for maior que o valor definido de max_connect_errors, o servidor mysql irá bloquear todas as solicitações subsequentes deste host .Wait_timeout: Se uma conexão ficar inativa por mais de 8 horas (o valor padrão é 28800 segundos), o MySQL desconectará automaticamente a conexão "
c) Ao conduzir o gerenciamento remoto, as medidas necessárias devem ser tomadas para evitar que as informações de autenticação sejam interceptadas durante a transmissão da rede
"1) Se usar criptografia e outros métodos de segurança para gerenciar remotamente o sistema
? 2) Execute
mysql> show variables like% have_ssl%" para
verificar se o recurso de conexão de ssl é suportado. Se estiver desabilitado, significa que esta função é não ativado, ou execute \ s para verificar se Habilitar SSL;
3) Caso seja adotada gestão local, este item não é aplicável "
"1) O método usado para gerenciamento remoto: gerenciar remotamente o banco de dados e habilitar o recurso de conexão SSL.
2) Quando o usuário gerencia remotamente o banco de dados, a conexão entre o cliente e o servidor não passa ou cruza uma rede não confiável, e o túnel SSH é usado para criptografar o gerenciamento do processo de conexão. Comunicação
3) Gerenciamento local, este artigo N / A "
d) Duas ou mais combinações de tecnologias de autenticação, como senhas, técnicas criptográficas e biotecnologia devem ser usadas para autenticar usuários, e uma das técnicas de autenticação deve, pelo menos, usar técnicas criptográficas para alcançar
"1) O MySQL não pode integrar outras medidas de autenticação de identidade e deve implementar a autenticação de dois fatores no nível do sistema operacional.
2) Entrevistar os administradores do sistema, se outros meios técnicos são usados para obter a autenticação de dois fatores, e se duas ou mais combinações de autenticação são usados Tecnologia, como senha, certificado digital Ukey. Token, impressão digital, etc. Existe um método de autenticação usando tecnologia criptográfica?
"1) Os métodos de login usados são: nome de usuário e senha, banco de dados MySQL não pode integrar outros métodos de autenticação de identidade, dois fatores são implementados no sistema operacional, e o servidor geralmente é incluído no gerenciamento do servidor bastião e, ao mesmo tempo, apenas o servidor bastião tem permissão para passar pelo servidor bastião por meio de restrições. A autenticação de dois fatores é implementada na máquina bastião. Os métodos comuns de autenticação de dois fatores incluem senhas, certificado digital Ukey, tokens, impressões digitais etc.
2) A tecnologia criptográfica usada é: o uso de algoritmos de criptografia no hardware UKey "
2. Controle de acesso
a) Contas e permissões devem ser atribuídas ao usuário conectado;
"1) Execute a instrução select user, host FROM mysql.user
se o resultado da saída é administrador de rede, administrador de segurança, administrador de sistema criado contas diferentes:
2) Execute show grant for 'XXXX' @ 'localhost':
ver gerenciamento de rede As permissões das contas de usuário dos administradores, administradores de segurança e administradores de sistema, e se as permissões são separadas e mutuamente restritas. "
"
1) A função do auditor, criar contas diferentes e atribuir permissões correspondentes
2) Anônimo, conta padrão ou anônimo restrito, permissões de usuário padrão foram desabilitadas "
b) A conta padrão deve ser renomeada ou excluída, e a senha padrão da conta padrão deve ser modificada
"1) Execute o
resultado de saída select user, host FROM mysql.user para verificar se o usuário root foi renomeado ou excluído.
2) Se a conta root não foi excluída, altere sua senha padrão para evitar senhas vazias ou fracas . "
c) Excluir ou desativar contas redundantes e expiradas a tempo de evitar a existência de contas compartilhadas;
"1) Execute o comando em sqlplus: select username, account_status from dba_users
2) Execute a seguinte instrução:
select * from mysql.user where user =" "" "
select user, host FROM mysql.user para
verificar as contas listadas por sua vez , se Existem contas irrelevantes.
3) Entreviste os administradores de rede, se diferentes usuários de administradores de segurança e administradores de sistema usam contas diferentes para fazer login no sistema "
d) A autoridade mínima exigida pelo usuário administrativo deve ser concedida para realizar a separação da autoridade do usuário administrativo;
"1) Se deve dividir os usuários em funções e conceder apenas as permissões necessárias para a conta. Por
exemplo, nenhum usuário deve ter acesso à tabela de usuário da biblioteca mysql, exceto root. É proibido conceder fil, .process e super permissões para contas que não sejam administradores
2) Verifique a tabela de permissões e verifique se o usuário tem as permissões de outros usuários fora de sua própria função "
e) O sujeito autorizado deve configurar a estratégia de controle de acesso, e a estratégia de controle de acesso estipula as regras de acesso do sujeito ao objeto;
"1. Entreviste se o administrador formulou uma estratégia de controle de acesso
. 2. Execute a instrução:
mysql> selcec * de mysql.user \ G-check the user permission column
mysql> selcec * from mysql.db \ G-check the database coluna de permissão
mysql> selcec * de mysql.tables_priv \ G-verifique a coluna de permissão da tabela do usuário
mysql> selcec * de mysql.columns_privi \ G-verifique a coluna de permissão do administrador da coluna
se a coluna de permissão de saída é consistente com a política e regras de controle de acesso formulado pelo administrador
3) Efetue login para diferentes usuários e verifique se há acesso não autorizado "
f) A granularidade do controle de acesso deve atingir o nível do usuário ou do processo como o assunto, e o nível do arquivo e da tabela do banco de dados como o objeto;
"1) Execute a seguinte instrução:
mysql> selcec * de mysql.user \ G-verifique a coluna de permissão do usuário
mysql> selcec * de mysql.db \ G-verifique a coluna de permissão do banco de dados
2) Entreviste o administrador e verifique se o acesso principal de granularidade de controle É o nível do usuário, se o objeto é o nível da tabela de banco de dados "
g) Configurar marcas de segurança para assuntos e objetos importantes, e controlar o acesso do sujeito aos recursos de informação com marcas de segurança;
3. Auditoria de Segurança
a) A função de auditoria de segurança deve ser habilitada, e a auditoria cobre todos os usuários, e comportamentos importantes do usuário e eventos de segurança importantes são auditados;
"1) Execute a seguinte instrução:
mysql> show variables like'log_% 'para
verificar se o conteúdo do log de saída cobre todos os usuários e registre o conteúdo da cobertura do registro de auditoria
2) Verifique se uma ferramenta de terceiros é usada para aprimorar o MySQL função de registro. Em caso afirmativo, registre o primeiro O conteúdo de auditoria da ferramenta de auditoria tripartida, verifique se inclui a data e hora do evento, o usuário, o tipo de evento, se o evento foi bem-sucedido e outros itens relacionados à auditoria em formação"
"1) A função de registro é habilitada localmente no banco de dados, e o conteúdo da auditoria cobre cada usuário, o que pode registrar o comportamento do usuário e eventos de segurança importantes.
2) A estratégia para habilitar a função de auditoria é: configurar o local de armazenamento do registro de auditoria, ou implantar um produto de auditoria de banco de dados de terceiros, auditoria O conteúdo cobre todos os usuários "
b) O registro de auditoria deve incluir a data e hora do evento, usuário, tipo de evento, se o evento foi bem-sucedido e outras informações relacionadas à auditoria;
"1) Execute a seguinte instrução:
mysql> show variables like'log_% 'para
verificar se o conteúdo do log de saída cobre todos os usuários e registre o conteúdo da cobertura do registro de auditoria
2) Verifique se uma ferramenta de terceiros é usada para aprimorar o MySQL função de registro. Em caso afirmativo, registre o primeiro O conteúdo de auditoria da ferramenta de auditoria tripartida, verifique se inclui a data e hora do evento, o usuário, o tipo de evento, se o evento foi bem-sucedido e outros itens relacionados à auditoria em formação"
"1) A função de registro é ativada localmente no banco de dados, e o conteúdo de auditoria cobre todos os usuários e pode registrar comportamentos importantes do usuário e eventos de segurança importantes.
2) O produto de auditoria de banco de dados de terceiros é adotado, e o conteúdo de auditoria cobre todos usuário, que pode registrar comportamentos importantes do usuário e incidente de segurança importante "
c) Os registros de auditoria devem ser protegidos e submetidos a backup regularmente para evitar exclusão, modificação ou substituição inesperada;
"1) Como o administrador da entrevista protege os registros de auditoria, se os registros de auditoria têm backup regular e a estratégia de backup
2) A autoridade do usuário para acessar os registros de auditoria é estritamente restrita?
"1) Os registros de auditoria são protegidos por meio de backup, despejo, etc., para evitar exclusão, modificação ou substituição inesperada. O registro local do banco de dados é mantido por mais de 6 meses.
2) O produto de auditoria de banco de dados de terceiros é adotado, e o registro de auditoria é mantido por mais de 6 meses. 6 meses "
d) O processo de auditoria deve ser protegido para evitar interrupções não autorizadas;
"1) Pergunte se as permissões do administrador e do auditor são estritamente restritas.
2) O usuário reinicia a instância para fechar a função de auditoria e verificar se ela foi bem-sucedida."
4. Prevenção de intrusões
a) O princípio de instalação mínima deve ser seguido, e apenas os componentes e aplicativos necessários devem ser instalados;
b) Serviços de sistema desnecessários, compartilhamento padrão e portas de alto risco devem ser fechadas;
c) O terminal de gerenciamento gerenciado pela rede deve ser restringido pela configuração do modo de acesso do terminal ou faixa de endereço de rede;
"Verifique o endereço IP de login do usuário; se deseja adicionar restrições de IP a todos os usuários e recusar a conexão de todos os hosts desconhecidos.
Nota: Quando o valor Host na tabela do usuário não for o host local, um endereço IP específico deve ser especificado em vez de% ; ou Deixe o valor Host na tabela do usuário vazio e especifique um número de hosts nos quais a conta do usuário tem permissão para fazer login na tabela de hosts; o login com uma conta de banco de dados em um cliente não confiável deve ser solicitado a recusar e usuários que fazem login de outras sub-redes devem ser negados "
Configure a política de segurança como: restringir o banco de dados de conexão (acesso) de terminal específico (IP) no firewall: o endereço IP restrito é: XXXX
d) A função de verificação da validade dos dados deve ser fornecida para garantir que a entrada de conteúdo através da interface homem-máquina ou através da interface de comunicação atenda aos requisitos de configuração do sistema;
e) Deve ser capaz de encontrar possíveis vulnerabilidades conhecidas e reparar as vulnerabilidades em tempo hábil após testes e avaliação suficientes;
"Entreviste o mecanismo de atualização do patch do MySQL e verifique o status de instalação do patch:
1) Execute o seguinte comando para verificar a versão do suplemento atual:
mostre variáveis onde o nome da variável como" "versão" "
2) Se o banco de dados de entrevista é uma versão empresarial, e se ele é verificado regularmente em busca de vulnerabilidades. As vulnerabilidades de alto risco avaliam os patches e instale-os após o teste "
f) Deve ser capaz de detectar a intrusão de nós importantes e fornecer um alarme quando ocorrer um evento de intrusão grave;
5. Prevenção de códigos maliciosos
a) Devem ser adotadas medidas técnicas contra ataques de código malicioso ou mecanismos de verificação de confiança imune ativos para identificar intrusões e comportamentos de vírus em tempo hábil e bloqueá-los de forma eficaz;
6. Verificação confiável
a) Com base na raiz de confiança, o programa de inicialização do sistema, programa do sistema, parâmetros de configuração importantes e programa de aplicativo do dispositivo de computação podem ser verificados com segurança e a verificação confiável dinâmica pode ser realizada no link de execução principal do aplicativo. à polícia depois que a segurança for danificada, formar um registro de auditoria do resultado da verificação e enviá-lo ao centro de gerenciamento de segurança;
7. Integridade de dados
a) A tecnologia de verificação ou tecnologia criptográfica deve ser usada para garantir a integridade de dados importantes durante a transmissão, incluindo, mas não se limitando a, dados de autenticação, dados de negócios importantes, dados de auditoria importantes, dados de configuração importantes, dados de vídeo importantes e informações pessoais importantes, etc. ;
b) A tecnologia de verificação ou tecnologia criptográfica deve ser usada para garantir a integridade de dados importantes no processo de armazenamento, incluindo, mas não se limitando a dados de autenticação, dados de negócios importantes, dados de auditoria importantes, dados de configuração importantes, dados de vídeo importantes e informações pessoais importantes, etc .;
8. Confidencialidade de dados
a) A tecnologia de criptografia deve ser usada para garantir a confidencialidade de dados importantes durante a transmissão, incluindo, mas não se limitando a, dados de autenticação, dados comerciais importantes e informações pessoais importantes, etc .;
b) A tecnologia de criptografia deve ser usada para garantir a confidencialidade de dados importantes no processo de armazenamento, incluindo, mas não se limitando a, dados de autenticação, dados comerciais importantes e informações pessoais importantes, etc .;
9. Backup e recuperação de dados
a) As funções de backup e recuperação de dados locais de dados importantes devem ser fornecidas;
Pergunte ao administrador do sistema qual é a estratégia de backup e recuperação de banco de dados
"A estratégia de backup é: backup incremental diário de dados importantes no banco de dados, backup completo semanal:
tempo de teste de recuperação recente : exercício de teste de recuperação regular mensal (trimestral)"
b) A função de backup remoto em tempo real deve ser fornecida, e a rede de comunicação deve ser usada para fazer backup de dados importantes para o site de backup em tempo real;
"1) Pergunte ao administrador do sistema se deve fornecer a função de backup remoto de dados e se deve enviá-la para o site alternativo em lotes regularmente.
2) Se as condições permitirem, verifique a configuração de sua implementação de medidas técnicas."
"1) A sala do computador de backup remoto foi implantada e está de acordo com a estratégia de backup para realizar backups remotos regulares através da rede.
2) Verifique se os resultados de configuração obtidos são consistentes com a estratégia de backup."
c) A redundância térmica do sistema de processamento de dados importante deve ser fornecida para garantir a alta disponibilidade do sistema;
"1) Pergunte qual é a estratégia de backup e recuperação do banco de dados do administrador do sistema e verifique se os requisitos acima foram atendidos.
2) Verifique os documentos relevantes e a configuração para ver se está consistente com a resposta do administrador do sistema."
") Verifique se os resultados do backup são consistentes com a estratégia de backup
2) Verifique os registros de teste de recuperação recentes para poder realizar a recuperação normal dos dados"
10. Proteção de informações restantes
a) Deve ser assegurado que o espaço de armazenamento onde se encontram as informações de autenticação seja completamente limpo antes de ser divulgado ou realocado;
b) Deve-se assegurar que o espaço de armazenamento contendo dados sensíveis seja completamente limpo antes de ser liberado ou realocado;
11. Proteção de informações pessoais
a) Apenas as informações pessoais do usuário necessárias para o negócio devem ser coletadas e armazenadas
b) O acesso não autorizado e o uso ilegal de informações pessoais do usuário devem ser proibidos