WP Cerber Security 9.8.3
English version: WP Cerber Security 9.8.3
À primeira vista
Aprimoramos a forma como os dados externos e fornecidos pelo usuário trafegam pelo scanner de plugins, pelos e-mails de segurança e pelas exportações de logs. Também reconstruímos as exportações de logs de atividades de grande porte para que se comportem de maneira mais previsível sob pressão de memória e corrigimos diversos problemas que tornavam a triagem e a geração de relatórios menos precisas.
Nenhuma alteração de configuração é necessária após a atualização, mas vale a pena instalar esta versão o quanto antes se você depende de alertas de atividade, e-mails com PIN de autenticação de dois fatores ou exportações extensas de logs de segurança.
Principais destaques
- Reforço da segurança para mensagens de verificação de plugins e e-mails de segurança enviados.
- Um novo resumo por intervalo de datas nos registros de atividades exportados para facilitar a análise forense.
- Exportações de logs mais previsíveis e com menor consumo de memória para grandes registros de atividade e tráfego.
- Melhor desempenho quando as exportações são executadas por trás do Nginx.
- Correções para e-mails de alerta, filtragem do Traffic Inspector, gerenciamento de memória na exportação de logs e notificações administrativas.
Reforço de segurança
As mensagens de alteração de propriedade do scanner agora são escapadas em seu contexto apropriado.
O WP Cerber lê os metadados de propriedade de plugins do repositório de plugins do WordPress.org e os exibe quando a propriedade de um plugin instalado é alterada. Essa fonte de dados é normalmente confiável e a probabilidade de metadados maliciosos é baixa, mas metadados externos ainda não devem ser inseridos na interface administrativa do WordPress como HTML bruto.
Esta versão direciona a mensagem de alteração de propriedade e seus links de perfil do proprietário através da camada de interface do usuário do WP Cerber. URLs de perfil e nomes de exibição agora são tratados em seus próprios contextos de saída antes de serem renderizados. Isso resolve uma possível vulnerabilidade de XSS armazenada em administradores nos resultados do scanner, sem alterar o texto da mensagem exibida aos administradores.
Os nomes de exibição controlados pelo usuário não podem mais inserir destinatários de e-mail adicionais.
Os campos brutos do perfil, como nome, sobrenome e nome de exibição, foram usados na criação das strings de destinatários de e-mail para a wp_mail() . Como os destinatários em formato de string separados por vírgula podem ser interpretados como vários endereços, um nome de perfil criado especificamente para esse fim poderia adicionar um destinatário não intencional aos e-mails de PIN de autenticação de dois fatores ou às notificações de alerta de atividade.
Adicionamos um recurso de higienização específico para nomes de exibição de e-mail e o aplicamos em ambos os pontos de envio. O recurso remove caracteres relevantes para esse caminho de injeção de destinatários, incluindo vírgulas, aspas, barras invertidas, colchetes angulares e caracteres de controle. O WP Cerber não permite mais que nomes de exibição de perfil personalizados adicionem destinatários indesejados a esses e-mails de segurança.
Agora, as exportações de registros confidenciais instruem os clientes a não armazenarem arquivos baixados.
As exportações de registros de atividade e tráfego agora enviam um cabeçalho de resposta Cache-Control: no-store . Isso instrui os navegadores e caches intermediários compatíveis a não reterem uma cópia do download do registro de segurança.
Isso é importante porque os logs exportados podem conter dados forenses: endereços IP, metadados de requisições, registros de atividades e outros detalhes que os administradores podem usar durante a análise de incidentes. O novo cabeçalho reduz a probabilidade de esses dados permanecerem em caches fora do controle direto do administrador do WordPress.
Melhorias na exportação de logs
Os registros de atividades agora incluem o intervalo de datas abrangido pelas exportações.
O cabeçalho de exportação CSV do registro de atividades anteriormente exibia apenas os filtros ativos. Agora, ele inclui duas linhas adicionais mostrando os registros de data e hora mais antigos e mais recentes no conjunto exportado.
Ao entregar um arquivo exportado a um colega ou anexá-lo a um registro de incidente, o período abrangido agora é indicado no próprio arquivo. Isso torna a análise forense e a triagem menos propensas a erros, especialmente quando existem vários arquivos exportados para o mesmo site ou investigação. Se nenhuma linha corresponder aos filtros selecionados, o intervalo de datas será omitido.
Exportações de logs grandes agora são transmitidas em uma única passagem.
Anteriormente, a exportação do registro de atividades executava a mesma consulta uma vez por bloco, com um deslocamento crescente. Em conjuntos de dados grandes, esse padrão pode se degradar em uma varredura de deslocamento profundo, o que torna as exportações mais lentas e frágeis à medida que o registro cresce.
A exportação agora lê as linhas correspondentes em uma única passagem sem buffer. Isso mantém o uso de memória estável e libera a conexão com o banco de dados de forma limpa, independentemente de o download terminar normalmente ou ser interrompido prematuramente. Se você já observou uma exportação grande ficar lenta ou travar, este é o mecanismo por trás desse comportamento, reconstruído.
Tempo até o primeiro byte mais rápido com Nginx
Agora, as exportações enviam o cabeçalho X-Accel-Buffering: no . Quando o Nginx está na frente do PHP-FPM, ele pode armazenar em buffer a resposta completa antes de encaminhá-la ao navegador. Este cabeçalho instrui o Nginx a repassar os fragmentos à medida que são produzidos.
O cabeçalho é específico do Nginx. O Apache e outros proxies o ignoram sem causar problemas, portanto, a alteração melhora o comportamento onde se aplica, sem criar trabalho de configuração adicional em outros lugares.
Melhorias na confiabilidade
Manipulação mais consistente do esquema do banco de dados
As definições das tabelas de log agora provêm de declarações centralizadas em vez de comandos SQL CREATE TABLE embutidos. Isso mantém as novas instalações e atualizações alinhadas e fornece ao WP Cerber uma base mais consistente para detectar desvios de esquema em instalações existentes.
Na prática, se uma tabela de logs se desviar do formato esperado, o WP Cerber terá maior probabilidade de detectar e corrigir essa diferença. Embora não seja um recurso visível na interface do usuário, ele fortalece a confiabilidade do subsistema de logs do qual os administradores dependem durante a revisão, exportação e análise de incidentes.
Decodificação mais segura de dados de solicitação armazenados
Os dados armazenados nos campos de requisição podem variar entre instalações mais antigas e registros de log legados. Alguns registros podem conter valores nulos, valores vazios, JSON inválido ou payloads serializados não suportados.
O WP Cerber agora lida com esses casos de forma uniforme, tratando-os como arrays vazios em vez de gerar avisos ou resultados inconsistentes. Isso beneficia principalmente sites que mantêm dados de log em várias versões antigas, onde os dados de requisição armazenados podem nem sempre corresponder ao formato usado pelas versões atuais.
Correções de bugs e melhorias
Registro do Inspetor de Tráfego: O filtro "Qualquer erro de software" agora se combina corretamente com outros filtros.
No formulário de Busca Avançada, a caixa de seleção "Qualquer erro de software" poderia ser combinada incorretamente com outros filtros. Solicitações com erros de PHP registrados poderiam aparecer mesmo quando não correspondessem às outras condições de busca.
Os grupos de filtros agora são avaliados com a precedência correta. Os resultados da pesquisa no Log do Inspetor de Tráfego respeitam todas as condições definidas, o que torna a triagem mais previsível ao filtrar tráfego ruidoso.
O limite de memória para exportação de logs agora é interpretado corretamente.
Em alguns ambientes, um valor numérico de limite de memória, como 512 pode ser aplicado em bytes em vez de megabytes. Como resultado, o WP Cerber pode não conseguir aumentar a memória disponível para operações que exigem muitos recursos, e grandes exportações podem ser interrompidas antes do esperado.
O valor agora é interpretado corretamente, o que torna o comportamento de exportação mais confiável em configurações que fornecem limites de memória numéricos.
Os e-mails de alerta de atividade agora contêm links para a visualização correta do painel de controle.
Os e-mails de notificação de alertas de atividade incluem links para o painel do WP Cerber, permitindo que os administradores revisem os eventos relacionados ao alerta. Esses links foram criados a partir de um pareamento de valores que poderia desalinhar os parâmetros, fazendo com que o link exibisse o valor de filtro incorreto.
Por exemplo, um filtro de IP poderia receber um limite de intervalo de IP em vez do valor esperado. Agora, cada parâmetro de consulta corresponde ao seu valor correto, de modo que os links de alerta levam você aos eventos que descrevem de forma mais confiável.
A correspondência de termos de pesquisa agora identifica o usuário correto.
A correspondência de usuários por meio de strings de busca no envio de alertas dependia de uma chamada que podia retornar um objeto de usuário mesmo para um ID de usuário inexistente. Agora, o WP Cerber busca o usuário associado ao evento registrado e protege contra a ausência de um usuário.
Isso faz com que as regras de alerta baseadas em pesquisa correspondam à conta pretendida e evita comportamentos de alerta enganosos quando os dados do evento fazem referência a um usuário que não existe mais ou não pode ser resolvido.
Removi um aviso do PHP da verificação de modificação de atividades.
Um problema de precedência de operador na verificação de "modificado desde" impedia o uso de um caminho alternativo conforme o esperado. Quando faltava um registro de data e hora de modificação, a verificação podia gerar um aviso de chave indefinida.
A expressão agora está corretamente entre parênteses. A ausência de um timestamp é tratada como "modificada", e o aviso do PHP não aparece mais nos seus logs.
Por dentro do capô
Para administradores e desenvolvedores que acompanham nossos procedimentos internos, esta versão dá continuidade à migração dos caminhos de dados de logs de atividade e tráfego para um tratamento de erros explícito e estruturado. Falhas como um banco de dados indisponível ou uma configuração de exportação com falha agora são exibidas antes do início da saída, em vez de deixar o administrador com um arquivo vazio e confuso.
O gerenciamento de esquemas também está sendo consolidado por meio de declarações de tabelas centralizadas. Esse trabalho oferece suporte à detecção de desvios de esquema descrita acima e mantém o subsistema de logs mais determinístico à medida que cresce.
Essas não são mudanças chamativas, mas são importantes. As ferramentas de segurança precisam se comportar de forma previsível sob pressão: quando um site apresenta muito ruído, quando uma exportação é grande, quando os dados legados são incompletos ou quando um administrador está tentando reconstruir o que aconteceu durante um incidente.
Resumo
O WP Cerber 9.8.3 reforça a segurança dos caminhos por onde dados externos chegam às telas de administração do WordPress e aos e-mails de segurança, torna as exportações de logs grandes mais confiáveis e corrige diversos problemas que poderiam comprometer a precisão da filtragem, dos links de alerta e dos diagnósticos de PHP.