Eventos [Descontinuada]
Descontinuada
Esta API será descontinuada no dia 16/12/2024. Consulte a nova API do Threat Hub Events, que substituirá esta feature.
Consultar eventos
Obter eventos de segurança de Firewall, WAF e Rate Limit
GET /v1/firewall/event/{dominio}?offset={offset}&limit={limit}&start_date={timestamp}&end_date={timestamp}
$ curl -i "https://api.gocache.com.br/v1/firewall/event/seudominio.com.br?offset=0&limit=50&start_date=1546308000&end_date=1546394400" \
-H 'GoCache-Token:seu_token'
<?php
$ch = curl_init("https://api.gocache.com.br/v1/firewall/event/seudominio.com.br?offset=0&limit=50&start_date=1546308000&end_date=1546394400");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
?>
Parâmetros
Campo | Opcional | Tipo | Descrição |
---|---|---|---|
offset | Number | Posição inicial da lista de eventos | |
limit | Number | Quantidade máxima de eventos a serem obtidos em uma mesma chamada de API | |
cursor | ✓ | String | Cursor utilizado para retornar novas páginas de busca. Também está presente no valor de retorno (se for NULL, significa que não existem mais resultados) |
start_date | Number | Horário inicial dos eventos (em formato unix timestamp) | |
end_date | Number | Horário final dos eventos (em formato unix timestamp) | |
type | ✓ | String | Filtrar eventos pelo tipo de evento Valores permitidos: "waf", "firewall", "ratelimit" |
action | ✓ | String | Filtrar eventos pela Ação do evento Valores permitidos: "block", "challenge", "simulate" |
id | ✓ | String | Filtrar por um evento específico pelo ID do mesmo |
country_code | ✓ | String | Filtrar eventos por país de acesso (notação ISO-ALPHA-2) |
client | ✓ | String | Filtrar eventos pelo IP de acesso |
host | ✓ | String | Filtrar eventos pelo nome do subdomínio acessado |
Exemplo de sucesso
HTTP/1.1 200 OK
{
"response": {
"total": 2,
"cursor": "AABBCCDDEEFF00112233445566778899==",
"events": [
{
"host": "www.seudominio.com.br",
"domain": "seudominio.com.br",
"action": "challenge",
"client": "1.2.3.4",
"id": "aabbccddeeff112233445566778899",
"timestamp": 1546308000,
"country_code": "BR",
"type": "waf"
},
{
"host": "cdn.seudominio.com.br",
"domain": "seudominio.com.br",
"action": "block",
"client": "4.3.2.1",
"id": "aabbccddeeff112233445566778800",
"timestamp": 1546358000,
"country_code": "US",
"type": "firewall"
}
]
}
}
<?php
if( $statusCode == 200 ) {
echo("Sucesso!\n");
$obj = json_decode($response);
echo("Total de eventos: " . ($obj->response->total) . "\n");
}
?>
Quantidade de eventos
Quantidade de eventos de uma certa busca
GET /v1/firewall/event/{dominio}?count=1
$ curl -i https://api.gocache.com.br/v1/firewall/event/seudominio.com.br?count=1&start_date=1546308000&end_date=1546394400 \
-H 'GoCache-Token:seu_token'
<?php
$ch = curl_init("https://api.gocache.com.br/v2/firewall/event/seudominio.com.br?count=1&start_date=1546308000&end_date=1546394400");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
?>
Parâmetros
Campo | Opcional | Tipo | Descrição |
---|---|---|---|
start_date | Number | Horário inicial dos eventos (em formato unix timestamp) | |
end_date | Number | Horário final dos eventos (em formato unix timestamp) | |
type | ✓ | String | Filtrar eventos pelo tipo de evento Valores permitidos: "waf", "firewall", "ratelimit" |
action | ✓ | String | Filtrar eventos pela Ação do evento Valores permitidos: "block", "challenge", "simulate" |
id | ✓ | String | Filtrar por um evento específico pelo ID do mesmo |
country_code | ✓ | String | Filtrar eventos por país de acesso (notação ISO-ALPHA-2) |
client | ✓ | String | Filtrar eventos pelo IP de acesso |
host | ✓ | String | Filtrar eventos pelo nome do subdomínio acessado |
Exemplo de sucesso
HTTP/1.1 200 OK
{
"response": {
"total": 2,
}
}
<?php
if( $statusCode == 200 ) {
echo("Sucesso!\n");
$obj = json_decode($response);
echo("Total de eventos: " . ($obj->response->total) . "\n");
}
?>
Consultar evento específico
Com o objetivo de se criar mais consciência do que vem acontecendo em relação aos eventos de segurança, e com isso poder fortificar a aplicação para lidar com esses ataques, é interessante ter-se mais detalhes sobre essas tentativas de exploração.
GET https://api.gocache.com.br/v1/firewall/event/{dominio}/{id_evento}?timestamp={timestamp_do_evento}
curl -i "https://api.gocache.com.br/v1/firewall/event/seudominio.com.br/5e3396c0afbca534e2400?timestamp=1631061712" \
-H 'GoCache-Token:seu_token'
<?php
$ch = curl_init("https://api.gocache.com.br/v1/firewall/event/seudominio.com.br/55e3396c0afbca534e2400?timestamp=1631061712" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token:seu_token"));
$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
?>
Parâmetros
Campo | Opcional | Tipo | Descrição |
---|---|---|---|
id_evento | String | ID do evento | |
timestamp | Number | Horário de ocorrência (em formato timestamp) |
{
"response": {
"event": {
"host": "seudominio.com.br",
"alerts": [{
"msg": "SQL Injection attempt",
"id": 41008
},{
"msg": "SQL Injection attempt",
"id": 41013
},{
"msg": "MSSQL code injection",
"id": 41017
},{
"msg": "Concatenated SQL injection / SQLLFI",
"id": 41035
}],
"id": "5e3396c0afbca534e24005",
"method": "GET",
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:93.0)",
"domain": "seudominio.com.br",
"country_name": "Brazil",
"uri_args": {
"s": " UNION ALL SELECT 'INJ'||'ECT'||'XXX',2,3-- -"
},
"referer": "https://seudominio.com.br/",
"uri": "/",
"action": "challenge",
"client": "179.247.XXX.XXX",
"timestamp": 1631061712,
"country_code": "BR",
"type": "waf"
}
}
}
<?php
if( $statusCode == 200 ) {
echo("Sucesso!\n");
$obj = json_decode($response);
print_r($obj);
}
?>