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 nos dados dos 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:
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, DENY 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:
Para acessar o relatório:
- Clique no nome do relatório.
- Clique em Exportar na linha do relatório.
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:
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:
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
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étricas | 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, criar um relatório em que o Horário de término é menor que 20 minutos no passado 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)