BBQ:Bloquear Consultas Inválidas Revisão do Plugin WordPress
Publicados: 2014-01-30BBQ:Block Bad Queries é um firewall de aplicativo da Web do WordPress que bloqueia solicitações HTTP maliciosas
Existem muitos plugins de segurança do WordPress disponíveis, mas apenas alguns realmente abordam a segurança do WordPress corretamente e ajudam você a proteger sua instalação do WordPress contra ataques de hackers maliciosos.
Um desses plugins é o BBQ: Block Bad Queries. Este plug-in é como um firewall de aplicativo da web WordPress altamente personalizável, mas simples e sem manutenção, que todo administrador e gerente do WordPress deve instalar.
Esta postagem de segurança do WordPress explica:
- Como funciona o plug-in BBQ:Block Bad Queries
- Como personalizar o plug-in BBQ: Bloquear consultas inválidas
- Modificando/adicionando padrões a serem bloqueados
- Bloquear visitantes usando uma string específica do User Agent
- Configurando um número máximo de caracteres permitidos em solicitações HTTP
- Como testar o BBQ: Block Bad Queries e suas personalizações
Como funciona o plug-in do WordPress para bloquear consultas inválidas
O plugin BBQ:Block Bad Queries analisa todas as solicitações enviadas ao seu WordPress antes de serem executadas pelo núcleo do WordPress. Caso a solicitação seja maliciosa, o plugin proíbe o visitante de acessar tal recurso respondendo com um código de status HTTP 403, acesso proibido.
A lista padrão de padrões maliciosos Block Bad Queries blocks não apenas protegerá seu WordPress de ataques direcionados ao WordPress, mas também protegerá seu WordPress de possíveis vulnerabilidades de dia zero e outros ataques típicos, como scripts entre sites, injeção de SQL e travessia de diretório. Portanto, se você instalar o BBQ:Block Bad Queries, hackers maliciosos ainda não poderão explorar vulnerabilidades conhecidas se você estiver executando uma instalação, plugin ou tema vulnerável (antigo) do WordPress.
Dica de segurança do WP White : Mesmo se você executar o BBQ:Block Bad Queries, você ainda deve executar as versões mais recentes e seguras do WordPress, plugins e temas. O plugin WordPress BBQ deve ser usado como uma camada adicional de segurança, em vez de fechar as falhas de segurança existentes.
Personalizando BBQ: Plugin Bloquear Consultas Inválidas
Por padrão, Block Bad Queries não precisa de nenhuma personalização ou alteração de configuração, mas sempre há exceções às regras. Caso você precise personalizar o BBQ:Block Bad Queries, aqui está uma explicação do que você pode personalizar. Para começar, ele verifica três partes de cada solicitação enviada para uma instalação do WordPress:
Request URI : o URL solicitado pelo usuário, por exemplo https://www.wpwhitesecurity.com/wordpress-security/
Query String : a query string incluída no URL, por exemplo https://www.wpwhitesecurity.com/wordpress-security/?query_string=1
User Agent String : A string do user agent é enviada automaticamente do software cliente que acessa seu WordPress para se identificar. Por exemplo, o Google Chrome usa a seguinte string de agente do usuário:
Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/32.0.1667.0 Safari/537.36
Todos os padrões normalmente usados em requisições maliciosas são armazenados em três arrays no plugin e seu nome é autoexplicativo:
- $request_uri_array
- $query_string_array
- $user_agent_array
BBQ:Block Bad Queries não tem interface de configuração. Portanto, se você quiser fazer alguma modificação conforme explicado nos exemplos abaixo, você deve editar o código do arquivo de plug-in php.
Modificando as solicitações HTTP que o plug-in BBQ:Block Bad Queries deve bloquear
Se você deseja bloquear um tipo específico de string de consulta, adicione o padrão de string de consulta ao array $query_string_array. Depois de adicionar um novo padrão, teste-o para garantir que você não está bloqueando solicitações legítimas. Segue um exemplo de sintaxe:
$query_string_array = apply_filters( 'query_string_items', array( 'PATTERN_1', 'PATTERN_2', 'PATTERN_3');
Nota: Cada padrão que você adicionar deve ser declarado entre aspas simples (') e separado dos outros padrões com um símbolo de vírgula (,).

Bloqueando visitantes com um agente de usuário específico do WordPress
Para bloquear visitantes usando um user agent específico, como bots automatizados de vírus e malware, adicione a string do user agent no $user_agent_array.
Configurando um limite máximo de comprimento de URL para WordPress
Ao limitar o número de caracteres que podem ser usados em uma solicitação HTTP, você pode proteger sua instalação do WordPress contra ataques de dia zero e vários outros ataques maliciosos. Os ataques de dia zero são vulnerabilidades de software que são exploradas por hackers mal-intencionados, mas ainda não são conhecidas pelo fornecedor do software, portanto, ainda não existe patch.
A maioria dos ataques maliciosos a aplicativos da Web emprega URLs longos para explorar vulnerabilidades conhecidas. Portanto, se você limitar o número de caracteres que podem ser usados em uma solicitação HTTP, estará protegendo automaticamente sua instalação do WordPress contra esse tipo de ataque.
Ao limitar o número de caracteres usados em uma URL, você também pode bloquear solicitações legítimas. Portanto, antes de habilitar esse recurso de segurança, verifique qual é o comprimento do URL mais longo que você tem em sua instalação do WordPress (incluindo na seção de páginas de administração do WordPress (/wp-admin/).
Para habilitar e configurar um comprimento máximo de URL, descomente (excluindo '//') a linha de código abaixo no plug-in e especifique o número máximo de caracteres que uma solicitação HTTP pode conter. O valor padrão no plugin é 255, conforme mostrado abaixo.
strlen( $_SERVER['REQUEST_URI'] ) > 255 ||
Testando o firewall do seu aplicativo da Web do WordPress
Depois de instalar o plug-in BBQ:Block Bad Queries WordPress, execute vários testes solicitando a lista abaixo de URLs de amostra para garantir que esteja funcionando (substitua some_site.com pelo seu domínio):
- http://www.some_site.com/../../../etc/passwd
- http://www. some_site.com/path/?q=%00
- http://www. some_site.com/path/base64_
Se o plug-in estiver funcionando corretamente, o servidor deve responder com um código de status HTTP 403 Proibido ao solicitar tais URLs. A solicitação acima são apenas exemplos de URL que devem ser bloqueados pelo plugin BBQ:Block Bad Requests. Você pode executar vários outros testes usando solicitações normalmente usadas em ataques de hackers da vida real.
Testando o BBQ: Plugin Bloquear Consultas Inválidas com o Fiddler
Se você não tiver certeza de qual é a resposta do servidor ao enviar solicitações HTTP mal-intencionadas, poderá confirmar a resposta usando o proxy Fiddler.
Conforme destacado na captura de tela abaixo, neste teste solicitamos a URL https://www.wpwhitesecurity.com/contact/base64_ e podemos confirmar que o servidor responde com uma resposta HTTP 403 Forbidden.
Plugin Block Bad Queries – Um Firewall de Aplicativo da Web para WordPress
Aí está! Se você está procurando um firewall de aplicativo da Web altamente personalizável e forte para seus blogs e sites do WordPress, instale o plug-in BBQ:Block Bad Queries e esqueça-o. Você pode baixar BBQ:Block Bad Queries do repositório de plugins do WordPress ou comprar sua versão PRO aqui.
Se, por outro lado, você preferir algo que não precise de nenhuma configuração e também faça a verificação de malware, recomendo o scanner de malware Malcare.