Falamos muito sobre como a segurança do seu site WordPress não é uma tarefa que você pode definir e esquecer. É preciso monitoramento constante e vigilante da sua parte, e o trabalho pode ser assustador.

Em situações em que você precisa monitorar a segurança de vários sites, a API da Kinsta pode ser uma de suas principais ferramentas. Isso é especialmente verdadeiro quando você gerencia vários sites não conectados. Nessas situações, você desejará a automação e a visibilidade que a API pode lhe proporcionar.

Neste artigo, exploraremos o uso da API da Kinsta para melhorar a segurança. O foco principal será o bloqueio de IPs e o monitoramento de seus efeitos usando os vários endpoints disponíveis. Primeiro, devemos considerar a tarefa desafiadora de gerenciar a segurança do site.

Os desafios de gerenciar a segurança do seu site

Como o sistema de gerenciamento de conteúdo (CMS) mais popular do planeta, o WordPress é um alvo preferencial de hackers e agentes mal-intencionados. Por esse motivo, o WordPress está atento à sua segurança central.

Embora os números pareçam bons no papel – cerca de 3% dos sites têm algum tipo de infecção ou recursos bloqueados – isso não significa que você deva relaxar. Na verdade, há muitas ameaças que você deve considerar quando se trata do seu site WordPress:

Dada a complexa gama de ataques, gerenciar a segurança mesmo de um único site WordPress já pode ser bastante desafiador. Contudo, quando você é responsável por vários sites, essa complexidade e o escopo se multiplicam. Uma rede de sites sempre precisará de uma abordagem presente e proativa para o monitoramento da segurança. Isso é ainda mais difícil se você gerencia um lote de sites sem nenhuma conexão.

Sendo assim, uma maneira eficiente e eficaz de monitorar e proteger cada site de que você cuida terá um valor enorme. A Kinsta pode oferecer isso a todos os clientes.

Como a API da Kinsta pode aumentar a segurança do seu site

O painel MyKinsta.
O painel MyKinsta.

Independentemente do plano em que você está, todos os clientes da Kinsta têm acesso à completa API da Kinsta. Essa poderosa ferramenta permite que você interaja com seus sites de várias maneiras programáticas. Estão disponíveis muitos endpoints diferentes que estão vinculados a aspectos de nossa hospedagem, o que significa que você tem uma maneira robusta de lidar com a segurança de todos os seus sites.

A API da Kinsta permite que você automatize várias tarefas relacionadas à segurança, e há muitos endpoints relevantes:

  • Em Site Tools, você pode buscar e atualizar IPs em sua lista de bloqueio.
  • Há um endpoint para que você visualize e gerencie os registros de erros e acessos do seu site.
  • Você pode obter análises de cada um dos seus sites graças a vários endpoints que levantam métricas de desempenho.

Embora você possa encontrar essas ferramentas no painel MyKinsta, há muitas razões pelas quais também oferecemos uma opção programática. De muitas maneiras, a API da Kinsta oferece várias vantagens sobre o painel:

  • Automação. Você pode automatizar tarefas de segurança escrevendo scripts ou usando ferramentas de terceiros. Isso pode economizar tempo e reduzir erros manuais.
  • Operações em massa. A API permite que você execute tarefas de segurança em vários sites ao mesmo tempo. Se você faz parte de uma agência ou desenvolve sites WordPress para ganhar a vida, esse aspecto será útil.
  • Integração. Se você já usa um conjunto de ferramentas de segurança de que gosta, a API da Kinsta permitirá integrá-las à sua configuração. Isso permite que você transforme sua provisão de segurança em algo exclusivo para o seu site.

Mas chega de conversa. Vejamos agora os detalhes de como usar a API da Kinsta para trabalhar com endereços IP. Começaremos com tarefas simples e examinaremos aplicações avançadas mais tarde.

Implementando restrições de IP com a API da Kinsta

Uma das maneiras mais diretas de reforçar a segurança do seu site é por meio da restrição de IP. Isso permite cortar a cabeça da serpente, impedindo totalmente o acesso ao seu site. O principal benefício aqui é a mitigação de ataques de força bruta.

Embora o painel MyKinsta permita que você trabalhe com sua lista de bloqueios, a API da Kinsta tem mais flexibilidade se você precisar. Vamos considerar um cenário em que você é uma agência que usa o WordPress e gerencia vários sites de clientes em um dos nossos planos Kinsta para Agências.

Usando a API da Kinsta para restringir endereços IP

Primeiro, você deve ter uma lista de endereços IP que deseja restringir. Nossa documentação tem alguns métodos para isso, como o uso de análises para eliminar endereços, fazendo muitas solicitações sem cache em um curto intervalo de tempo.

A tela de análise no painel MyKinsta.
A tela de análise no painel MyKinsta.

A partir daqui, você pode começar a usar a API da Kinsta para restringi-los. Em primeiro lugar, você deve usar o endpoint Environments para buscar uma lista de sites. Isso incluirá tanto os sites ativos quanto os de teste:

const siteId = 'YOUR_site_id_PARAMETER';

const resp = await fetch(
  `https://api.kinsta.com/v2/sites/${siteId}/environments`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);

Em seguida, você pode usar o endpoint Denied IPs para fazer uma solicitação GET que retorna sua lista de bloqueio atual no formato JSON. A resposta incluirá um array de objetos IP bloqueados:

{
- "environment": [
"id": "abc123",
"ip-list": [
"192.168.1.1",
]
    }
}

A solicitação PUT associada permitirá que você adicione um IP à sua lista de bloqueio, para a qual você precisará especificar o ID do ambiente:

const resp = await fetch(
  `https://api.kinsta.com/v2/sites/tools/denied-ips`,
  {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      environment_id: '54fb80af-576c-4fdc-ba4f-b596c83f15a1',
      ip_list: ['127.0.0.1']
    })
  }
);

const data = await resp.json();
console.log(data);

Uma adição bem-sucedida retornará um código de resposta 200, juntamente com result: null em um arquivo JSON. Você pode automatizar ainda mais todo o processo com um script ou ferramenta para executá-lo sempre que precisar atualizar a lista de bloqueio novamente.

Monitorando a atividade do site com a API da Kinsta

A implementação de medidas preventivas de segurança, como restrições de IP, é excelente, mas também é crucial monitorar a atividade do seu site para detectar possíveis ameaças à segurança. Você pode observar vários indicadores-chave para cada um dos seus sites:

  • Padrões de tráfego incomuns ou picos de volume
  • A frequência de tentativas de login com falha
  • Comportamento geral suspeito do usuário
  • Desempenho inconsistente do site ou padrões incomuns de tempo de inatividade.

O painel MyKinsta pode lhe enviar notificações e alertas em tempo real sobre muitos aspectos do seu site. Isso pode ajudá-lo a entrar em ação quando houver um possível problema de segurança.

Um card de notificação no painel MyKinsta.
Um card de notificação no painel MyKinsta.

A API da Kinsta tem vários endpoints que lhe permitem recuperar e examinar os registros do seu site e muito mais. Se desejar, também poderá configurar sistemas automatizados de monitoramento e alerta exclusivos para suas necessidades.

Como encontrar atividades mal-intencionadas com registros e métricas do site

Vamos considerar um cenário em que sua agência precisa monitorar atividades suspeitas no site de um cliente individual. Há algumas abordagens que você pode adotar para o monitoramento proativo quando não tiver uma notificação como ponto de partida.

Novamente, você precisará obter sua lista de ambientes, pois os endpoints exigem um ID. Assim que tiver isso, você poderá dar uma olhada no endpoint logs. A solicitação tem dois campos obrigatórios:

  • file_name aceita uma string que contém os registros error, access ou kinsta-cache-perf.
  • lines permite que você especifique o número de linhas que a solicitação retorna do registro, que deve ser inferior a 20.000.

Isso pode ajudar você a descobrir se há motivo para preocupação. Os insights mais detalhados, graças ao endpoint metrics, podem ser úteis para preencher as lacunas. As métricas que você escolherá para analisar dependerão da situação específica.

Por exemplo, você pode verificar a largura de banda para garantir que não está sendo atingido por um ataque coordenado a um site. Os parâmetros de consulta permitem que você defina um ponto inicial e final do período de tempo, bem como a duração. O retorno em JSON fornece detalhes de largura de banda para o site específico:

{
  "app": {
    "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
    "display_name": "my-app",
    "metrics": {
      "timeframe": {
        "start": "1679587045511",
        "end": "1679587045511"
      },
      "bandwidth": [
        {
          "time": "1679587045511",
          "value": "value"
        }
…

Há muitas outras métricas disponíveis, como o número de solicitações HTTP por minuto e o tempo médio de resposta. O seu trabalho é examinar essas métricas e os dados nos registros para identificar qualquer atividade suspeita ou possíveis ameaças à segurança.

Se você precisar de visualização, é aqui que o Kinsta APM pode ser útil:

A ferramenta Kinsta APM, mostrando o tempo total de transação em um período definido.
A ferramenta Kinsta APM, mostrando o tempo total de transação em um período definido.

Combinando todas as ferramentas da Kinsta — a API, o painel MyKinsta e o APM — você pode detectar e responder rapidamente a possíveis problemas de segurança e minimizar o risco de danos permanentes ao seu site e à sua reputação.

Automatizando o escalonamento de segurança usando a API da Kinsta e o MyKinsta

Automatizar seu fluxo de trabalho de segurança pode fornecer-lhe mais eficiência e mobilidade nas respostas. Embora o monitoramento proativo seja a maneira ideal de manter seus sites seguros, às vezes é necessária uma abordagem reativa.

Essa é outra área em que as notificações automatizadas são úteis. Após receber uma notificação da Kinsta, você pode entrar em ação para resolver o problema. No entanto, diferentemente de outras tarefas de segurança, a API da Kinsta não faz parte da triagem dessa vez.

Em vez disso, o MyKinsta será o seu guia. A documentação da Kinsta abrange as notificações de monitoramento do site disponíveis. Há muitas delas, como tempo de inatividade do site, erros de DNS e muito mais.

No momento em que você identificar uma ameaça em seu site, poderá chamar a API da Kinsta para lidar com os usuários mal-intencionados. Pode ser adicionando IPs a uma lista de bloqueio ou verificando os backups que você tem disponíveis caso o pior aconteça.

Há algumas solicitações GET para ajudar você a descobrir quais são os backups existentes. Se estiver faltando um, você pode fazer uma solicitação POST para iniciar um backup manual. Você só precisará do ID do ambiente e de um nome para o backup:

const envId = 'YOUR_env_id_PARAMETER';
const resp = await fetch(
  `https://api.kinsta.com/v2/sites/environments/${envId}/manual-backups`,
  {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    },
    body: JSON.stringify({
      tag: 'my-awesome-backup'
    })
  }
);

const data = await resp.json();
console.log(data);

A API da Kinsta também permitirá que você restaure um backup. Na verdade, você pode conceber uma estratégia que recupere os registros do site, avalie as métricas, faça um backup com base em parâmetros e regras específicos, bloqueie a entrada de IPs mal-intencionados e restaure o backup em um ponto em que os ataques diminuam.

Monitore continuamente a atividade do site e repita o processo de segurança com base nas informações obtidas com a API da Kinsta e o MyKinsta.

Ao automatizar seu processo de escalonamento de segurança, você pode responder às ameaças mais rapidamente e minimizar o impacto potencial dos incidentes de segurança em seu site.

Boas práticas para implementar medidas de segurança orientadas por API

Sempre que você usa uma API, está expondo aspectos do seu site à web aberta. Por isso, é imperativo seguir algumas práticas típicas e aceitas para garantir a segurança e a integridade do seu site e dos dados.

Há algumas diretrizes importantes que você deve ter em mente aqui. Em primeiro lugar, você deve usar métodos de autenticação seguros sempre que acessar uma API. Você pode usar uma chave API, tokens OAuth ou outro. A Kinsta fornece um endpoint de autenticação de chave API para essa finalidade:

const resp = await fetch(
  `https://api.kinsta.com/v2/validate`,
  {
    method: 'GET',
    headers: {
      Authorization: 'Bearer <YOUR_TOKEN_HERE>'
    }
  }
);

const data = await resp.text();
console.log(data);

Lembre-se de que você não deve expor suas credenciais de API no código do lado do cliente ou em repositórios públicos de controle de versão. É aqui que você precisa verificar o que a linguagem de programação de sua escolha oferece. Por exemplo, o Python faz chamadas de um módulo constants.py, e o PHP usa OpenSSL e outros módulos para proteger informações confidenciais.

Há ainda algumas outras considerações importantes a fazer:

  • Manuseio de dados. Quando você recuperar dados confidenciais por meio da API da Kinsta, certifique-se de manipulá-los e armazená-los de forma segura. Você também deve seguir as práticas aceitas para criptografia de dados, controle de acesso e conformidade com as normas de privacidade.
  • Testes e atualizações regulares. Seu processo de testes deve ser contínuo, e isso também é algo que você pode conseguir com a API da Kinsta. Esses testes e atualizações constantes e contínuos garantem que seu site e sua segurança permaneçam eficazes contra ameaças em evolução.

Por fim, seguir o princípio do menor privilégio é quase obrigatório ao configurar qualquer nível de acesso para sua equipe ou serviços de terceiros. Em suma, conceda apenas o nível mínimo de acesso que cada usuário ou serviço precisa para executar tarefas. Além disso, revise e revogue regularmente todas as permissões desnecessárias.

Relatórios sobre restrições de IP e monitoramento de atividades

Para o gerenciamento da segurança do site do cliente, é uma prática excelente — e tão boa quanto crucial — fornecer relatórios regulares e transparentes sobre a eficácia da sua estratégia. Seus clientes merecem ficar a par das medidas que você está tomando para proteger os sites deles e dos resultados de seus esforços. Isso ajuda a criar confiança e a demonstrar o valor do que você oferece.

Por isso, você deve garantir que os relatórios que você entrega forneçam o máximo possível de informações aos seus clientes. A Kinsta permite obter uma série de métricas e insights para cada site individual:

  • O número de endereços IP bloqueados.
  • Tendências de atividades suspeitas, como tentativas de login com falha ou padrões de tráfego incomuns.
  • O desempenho do seu site e as métricas de tempo de atividade. Isso pode ser um indicativo de possíveis problemas de segurança.

Naturalmente, você tem muito mais disponível. Mesmo assim, é importante que você apresente esses insights da melhor maneira para seus clientes. Aqui estão algumas dicas sobre o que você deve incluir:

  • As ações que você tomou em resposta às ameaças identificadas, como backups de sites ou correções de segurança.
  • Use ferramentas de visualização de dados para apresentar informações claras, acessíveis e compreensíveis sobre a segurança de um site. Gráficos, tabelas e painéis podem ajudar seus clientes a se atualizarem sobre a provisão de segurança atual e a verificar se seus esforços são eficazes.
  • Você deve procurar fornecer contexto e explicações para os dados que apresentar. É um erro supor que seus clientes tenham uma profunda compreensão técnica dos conceitos de segurança. Em vez disso, use uma linguagem simples e forneça exemplos para ajudá-los a compreender a importância e a gravidade das métricas e tendências que você está relatando.

Em geral, ofereça transparência sobre quaisquer desafios ou limitações que você encontrar com a segurança do site. Para ameaças ou problemas difíceis, é uma boa ideia ser franco e explicar o que você está fazendo para melhorar.

É nesse ponto que pode ser útil oferecer recomendações de melhorias adicionais na segurança. Essas recomendações virão de suas percepções e análises. Por exemplo, você pode incluir sugestões de medidas de segurança adicionais, como a implementação da autenticação de dois fatores ou a atualização de plugins.

Resumo

A API da Kinsta oferece uma gama de tarefas de site. Quando se trata de segurança, entretanto, é uma das melhores maneiras de manter seu site e seus usuários seguros. Ela permite que você automatize tarefas como recuperação de registros, verificação de atividades incomuns e bloqueio automático de IPs.

Gostamos da abordagem poderosa e atraente de conectar a API a outros aplicativos e ferramentas. Dessa forma, você pode ter um método programático completo para proteger seu site. Juntamente com as opções de visualização por meio do Kinsta APM, seu site pode permanecer seguro por muito tempo.

Como você gostaria de usar a API da Kinsta para gerenciar a segurança do seu site? Compartilhe suas ideias e percepções na seção de comentários abaixo!

Jeremy Holcombe Kinsta

Editor de Conteúdo & Marketing na Kinsta, Desenvolvedor Web WordPress e Escritor de Conteúdo. Fora do universo WordPress, eu curto praia, golfe e filmes. Também enfrento problemas de gente alta ;).