Relatórios de segurança

Esta página se aplica à Apigee e à Apigee híbrida.

Confira a documentação da Apigee Edge.

A visualização Relatórios de segurança permite criar relatórios para identificar ameaças à segurança nas suas APIs. Para gerar relatórios, a Apigee verifica os dados de tráfego da API em um período especificado e pesquisa padrões de tráfego incomuns que podem ser causados por agentes maliciosos. Em seguida, a Apigee exibirá um relatório mostrando todas as atividades suspeitas. Com essas informações, é possível tomar medidas para bloquear ataques contra suas APIs.

É possível criar relatórios de segurança na IU da Apigee, conforme descrito abaixo, ou usando a API Security Reports. Se você usar a IU, os dados dos relatórios serão restritos ao ambiente escolhido. No entanto, usando a API, também é possível criar relatórios para grupos de ambiente.

Consulte os papéis necessários para realizar tarefas de relatórios de segurança em Papéis necessários para relatórios de segurança.

Para usar esse recurso, é necessário ativar o complemento. Se você é um cliente de assinatura, ative o complemento para sua organização. Consulte Gerenciar organizações da Segurança avançada da API por assinatura se quiser mais detalhes. Se você é um cliente de pagamento por uso, ative o complemento nos seus ambientes qualificados. Para mais informações, consulte Gerenciar o complemento Segurança avançada da API.

Detecção de bots

Uma das ameaças mais graves à segurança da API vem de bots: scripts automatizados que enviam solicitações maliciosas para APIs. A Segurança avançada da API procura padrões de tráfego específicos de APIs, chamadas regras de detecção, que são baseadas em análises de dados reais da API.

Atraso de dados nos relatórios de segurança

Os dados que fluem para o pipeline do Apigee Analytics têm um atraso de até 15 a 20 minutos em média. Como resultado, um relatório de segurança em que o horário de término é anterior a 20 minutos pode retornar resultados incorretos.

Abrir a visualização Relatórios de segurança

Para abrir a visualização Relatórios de segurança, faça o seguinte:

  • Se você usa a interface da Apigee no console do Cloud: selecione Segurança avançada da API > Relatórios de segurança.
  • Se você estiver usando a interface clássica da Apigee: selecione Analisar > Segurança de API > Relatórios de segurança. Os nomes e comportamentos das colunas podem ser um pouco diferentes na IU clássica da Apigee em comparação com a IU da Apigee no console do Cloud.

A visualização principal Relatórios de segurança é exibida:

Janela principal "Relatórios de segurança".

Na parte superior da página, selecione:

  • O ambiente em que você quer criar um relatório.
  • O filtro Tipo de relatório. As opções são:
    • Todos
    • Ativo
    • Com falha
    • Expirado

Abaixo dessas opções, os relatórios de segurança são exibidos nas linhas de uma tabela. Cada linha exibe os seguintes detalhes do relatório:

  • O nome do relatório. Clique no nome do relatório para visualizá-lo.
  • O Status do relatório, que pode ser um dos seguintes:
    • em execução: o relatório está sendo gerado e ainda não pode ser visualizado.
    • completo: o relatório foi concluído e pode ser visualizado ou exportado.
    • expirado: o relatório expirou e não pode mais ser visualizado nem exportado na IU. Para ver um relatório após a data de vencimento, você precisa exportá-lo antes dessa data. Após 30 dias, o relatório é removido da lista de relatórios disponíveis.
  • Os campos Horário de início e Horário de término mostram as datas e os horários de início e término do relatório.

  • Data de envio: a data e a hora em que a solicitação do relatório foi enviada.
  • Prazo de validade: a data e a hora em que o relatório expira e não pode mais ser visualizado na interface da Apigee. A data de validade é sete dias após a criação do relatório. Após 30 dias, o relatório é removido da lista de relatórios disponíveis. Não é possível visualizar nem exportar relatórios na interface após a data de validade.
  • Tamanho do arquivo:é o tamanho do arquivo do relatório. Talvez seja necessário modificar os critérios para criar um relatório com tamanho abaixo do limite máximo. Consulte Limitações dos relatórios de segurança para saber mais sobre o tamanho máximo do arquivo e maneiras específicas de reduzi-lo.
  • Exportar: exporta/faz o download do relatório em um arquivo ZIP. A exportação só estará disponível se o status do relatório for concluído.

Criar um novo relatório de segurança

Para criar um novo relatório de segurança, clique em +Criar na visualização Relatórios de segurança. Isso abre a caixa de diálogo Criar job de relatório de segurança, em que é possível configurar as opções do relatório, conforme descrito na próxima seção.

Opções do relatório de segurança

É possível especificar as seguintes opções para um relatório de segurança:

  • Nome do relatório: um nome para o relatório.
  • Período do relatório: horário de início e término do relatório.

    Observação: os horários de início e término do relatório precisam estar no passado e, no máximo, um ano antes da criação.

  • Métricas: métrica para o relatório. É possível escolher uma das seguintes métricas e funções de agregação: funções que calculam estatísticas.
    Métrica Descrição Funções de agregação
    bot O número de endereços IP distintos para bots detectados em intervalos de um minuto. count_distinct
    bot_traffic O número de mensagens de endereços IP de bots detectados em intervalos de um minuto. ponderada
    message_count

    Número total de chamadas de API processadas pela Apigee em intervalos de um minuto.

    Observação: não é possível usar message_count com outras métricas ou com a dimensão bot_reason no mesmo relatório.

    ponderada
    response_size Tamanho do payload de resposta retornado em bytes. ponderada, média, mínima, máxima
  • Dimensões: permitem agrupar valores de métricas com base em subconjuntos relacionados dos dados. A tabela a seguir descreve as dimensões específicas dos Relatórios de segurança avançada da API.

    Dimensão Descrição
    bot_reason
    incident_id (pré-lançamento)
    security_action (pré-lançamento) A ação de segurança do tipo. Possivelmente, os valores são ALLOW, BLOCK e FLAG.
    security_action_name O nome da ação de segurança.
    security_action_headers Cabeçalhos anexados a uma solicitação para uma ação ALLOW.

    Observação: a dimensão bot_reason, que é específica para a segurança da API Advanced, pode ser qualquer combinação das regras de detecção individuais. Quando um bot é detectado, o bot_reason consiste no subconjunto de regras de detecção individuais que o tráfego do bot correspondeu quando foi detectado.

    Observação: bot_reason e incident_id só funcionam com as seguintes métricas:

    • bot
    • bot_traffic
    • response_size

    Veja as dimensões para outras dimensões compatíveis com os relatórios de segurança avançada da API.

    Para incluir várias dimensões, clique em + Adicionar uma dimensão para cada uma. Também é possível mudar a ordem em que as dimensões aparecem no relatório clicando nas setas para cima ou para baixo à direita do campo de dimensão.

  • Filtros: os filtros permitem restringir os resultados a métricas com valores específicos. Para criar um filtro, defina os seguintes campos:
    • Selecione um nome para o filtro.
    • Selecione um operador de comparação.
    • Selecione um valor.

    Ver Filtros.

Depois de selecionar todas as opções de relatório, clique em Criar para criar o job de relatório.

Ver um relatório preenchido

Depois que um relatório é concluído, ele é exibido na tabela como mostrado abaixo:

Relatório de segurança exibido na tabela.

Para acessar o relatório:

  • Clique no nome do relatório.
  • Clique em Exportar na linha do relatório.
Observação:a detecção de bots tem um atraso de processamento de cerca de 15 a 20 minutos, em média.

Exemplo: relatório de endereços IP do bot

O exemplo a seguir cria um relatório que mostra os endereços IP dos bots detectados. Para criar o relatório, use a seguinte configuração:

  • Métrica: bot, o número de endereços IP distintos identificados como origens de bots.
  • Função de agregação: count_distinct
  • Dimensão: IP do cliente resolvido

O relatório completo é mostrado abaixo:

Relatório de endereços IP do bot do relatório de segurança

A tabela na parte inferior do relatório lista os endereços IP que a segurança avançada da API identificou como bots.

Exemplo: relatório de tráfego por motivo do bot

No próximo exemplo, criamos um relatório do tráfego de bots, ou seja, o número de solicitações de endereços IP identificados como origens de bots, por bot_reason, com o conjunto de regras que levaram à detecção do bot. Para criar o relatório, use a seguinte configuração:

  • Métrica: bot traffic
  • Função de agregação: sum
  • Dimensão: bot_reason

O relatório completo é mostrado abaixo:

Tráfego de bots de relatórios de segurança por motivo de \report

Cada bot_reason consiste em um subconjunto das regras de detecção individuais. Conforme o gráfico, a regra de detecção que contribuiu para o maior tráfego de bots é o seguinte conjunto de regras:

  • Excesso
  • Guessor brutal
  • Abuso de robô

Exemplo: relatório de tráfego de bots

O próximo exemplo cria um relatório que não é agrupado por uma dimensão. Se você não quiser agrupar dados por uma dimensão, defina Dimensão como environment. Como os dados são sempre restritos ao ambiente selecionado, o resultado é um relatório sem agrupamento.

  • Métrica: bot traffic
  • Função de agregação: sum
  • Dimensão: environment
Relatório de segurança do tráfego de bots

O relatório exibe o tráfego total dos endereços IP identificados como origens de bots, para cada intervalo de um minuto durante o período do relatório. Não há agrupamento.

Mais exemplos de relatórios de segurança

A tabela a seguir lista alguns exemplos de segurança de relatórios que podem ser criados usando diferentes métricas e dimensões:

Relatório Métrica Dimensões
Todo o tráfego e o Relatório de contagem de bots por ambiente bot, bot_traffic ambiente
Relatório de tráfego e contagem de bots para diferentes regras bot, bot_traffic bot_reason
Relatório de tráfego e contagem de bots para diferentes países bot, bot_traffic ax_geo_country
Relatório de tráfego e contagem de bots para diferentes ISPs bot, bot_traffic ax_isp
Relatório de detecção de bots (visualização detalhada da lista) bot_traffic IP do cliente resolvido, ax_isp, bot_reason, request_uri, client_id
Tráfego de bots por token de acesso bot_traffic access_token
Tráfego de bots por proxy de API bot_traffic apiproxy
Tráfego de bots por família de agentes bot_traffic ax_ua_agent_family
Tráfego de bots por user agent bot_traffic useragent
Tráfego de bots por tipo de agente bot_traffic ax_ua_agent_type
Tráfego de bots por categoria de dispositivos bot_traffic ax_ua_device_category
Tráfego de bots por família de SO bot_traffic ax_ua_os_family
Tráfego de bots por ID do cliente bot_traffic client_id
Tráfego de bots por caminho base do proxy bot_traffic proxy_basepath
Tráfego de bots por sufixo de caminho do proxy bot_traffic proxy_pathsuffix
Tráfego de bots por URI de solicitações bot_traffic request_uri
Tráfego de bots por verbo de solicitação bot_traffic request_verb
Tráfego de bots por código de status das respostas bot_traffic response_status_code

Limitações dos relatórios de segurança

Os relatórios de segurança têm as seguintes limitações:

  • Os dados que fluem para o pipeline do Apigee Analytics têm um atraso de até 15 a 20 minutos, em média. Como resultado, a criação de um relatório em que o Horário de término é anterior a 20 minutos pode retornar resultados incorretos.
  • O período máximo para relatórios de bots é de um ano.
  • O número máximo de métricas que podem ser usadas em um relatório é 25, e o número máximo de dimensões é 25.
  • Assim como na API de relatórios personalizados assíncronos, há um limite de 31 MB de dados para um relatório. Se encontrar um limite de tamanho em um relatório, você poderá fazer o seguinte:
    • Reduza o período do relatório.
    • Divida os dados em subconjuntos menores ao filtrar um conjunto de valores e depois crie vários relatórios, um para cada subconjunto.
  • A dimensão IP do cliente resolvido não pode ser listada no mesmo relatório que a dimensão ax_geo_city ou ax_geo_country devido a questões de privacidade.
  • As métricas a seguir estão disponíveis apenas pela API Security Reports, mas não na interface: bot_first_detected (min) e bot_last_detected (max)