Regole
Recupero di tutte le regole
Richiesta
Definizione
GET /api/v1/rules
Header
-
Authorization
richiestoToken di autenticazione con privilegi di lettura per la risorsa.
Bearer {token}
Parametri query string
Parametro | Tipo | Richiesto | Descrizione |
---|---|---|---|
paginate | boolean | Si | Indica se il risultato debba essere paginato. |
page | integer | Si se paginate è true | Indice della pagina. |
page_size | integer | Si se paginate è true | Numero di elementi visualizzati per pagina. |
id | string | No | Filtra i risultati il cui ID corrisponde alla stringa inserita. |
id_list | array<string> | No | Filtra i risultati il cui ID corrisponde a uno degli elementi della lista. |
kind | string | No | Filtra i risultati il cui kind corrisponde alla stringa inserita. |
pattern | string | No | Filtra i risultati relativi al pattern inserito. |
rq_host | string | No | Filtra i risultati relativi all'Host inserito. |
rq_host_list | array<string> | No | Filtra i risultati relativi alla lista di Host inserita. |
rq_host_search | string | No | Filtra i risultati il cui Host corrisponde interamente o parzialmente alla stringa inserita. |
target | string | No | Filtra i risultati relativi al target inserito. |
target_list | array<string> | No | Filtra i risultati relativi alla lista di target inserita. |
target_search | string | No | Filtra i risultati il cui target corrisponde interamente o parzialmente alla stringa inserita. |
action | string | No | Filtra i risultati relativi all'azione inserita. |
action_list | array<string> | No | Filtra i risultati relativi alla lista di azioni inserita. |
not_action_list | array<string> | No | Filtra i risultati la cui azione non corrisponde a nessuna di quelle contenute nella lista inserita. |
network_only | boolean | No | Se true, filtra le regole di rete. |
alert_id | string | No | Filtra i risultati relativi all'alert di cui è stato inserito l'ID. |
alert_id_list | array<string> | No | Filtra i risultati relativi a uno degli alert (indicati con il loro ID) nella lista inserita. |
attack_code | string | No | Filtra i risultati relativi all'attack code inserito. |
attack_code_list | array<string> | No | Filtra i risultati relativi alla lista di attack code inserita. |
timestamp | integer | No | Filtra i risultati relativi al timestamp inserito. |
timestamp_start | integer | No | Filtra i risultati la cui creazione è avvenuta dopo la data inserita. |
timestamp_end | integer | No | Filtra i risultati la cui creazione è avvenuta prima della data inserita. |
username | string | No | Filtra i risultati il cui nome utente di chi ha creato la regola corrisponde alla stringa inserita. |
username_list | array<string> | No | Filtra i risultati il cui nome utente di chi ha creato la regola corrisponde a uno degli elementi della lista. |
username_search | string | No | Filtra i risultati il cui nome utente di chi ha creato la regola corrisponde interamente o parzialmente alla stringa inserita. |
Risposta
Codici di stato
Codice di stato | Messaggio |
---|---|
200 | "List of rules" |
400 | "Error with pagination fields" |
403 | "Forbidden" |
Corpo
- Attributi
- Esempio
-
data.rules.action
stringAzione definita nella regola.
-
data.rules.attack_category
stringCategoria di attacco.
-
data.rules.attack_code
stringCodice identificativo della tipologia di attacco.
-
data.rules.attack_name
stringTipologia di attacco.
-
data.rules.case_sensitive
booleanIndica se il match della regola debba essere case sensitive.
-
data.rules.id
stringCodice identificativo della regola.
-
data.rules.alert_id
stringCodice identificativo dell'alert a cui la regola fa riferimento.
-
data.rules.deleted
booleanIndica se la regola è stata eliminata.
-
data.rules.rq_host
stringHeader Host indicato nella richiesta.
-
data.rules.target
stringCampo della richiesta sul quale la regola dovrà intervenire.
-
data.rules.timestamp
integerData e ora in formato UNIX (in microsecondi) in cui la regola è stata creata.
-
data.rules.username
stringNome utente di chi ha creato la regola.
-
data.rules.description
stringDescrizione della regola.
-
data.rules.duration
integerDurata della regola a partire dallo
start_time
. -
data.rules.enabled
booleanIndica se la regola è attiva.
-
data.rules.expression
objectOggetto che indica le direttive di matching della regola.
-
data.rules.kind
stringTipologia di regola.
-
data.rules.loaded
stringIndica se la regola è stata caricata sul firewall.
-
data.rules.matching_method
stringIndica come il valore dell'expression debba essere confrontato con il target.
-
data.rules.network_only
booleanSe true, definisce una regola di rete.
-
data.rules.pattern
stringPattern bloccato dalla regola se associata ad un alert.
-
data.rules.priority
stringPriorità con cui la regola viene attivata rispetto alle altre.
-
data.rules.rq_host
stringHeader Host associato alla regola.
-
data.rules.spec_values
objectSpecifiche sul contesto della regola se associata ad un alert.
-
data.rules.start_time
integerIn caso di regola di rete, data e ora di attivazione della regola in formato timestamp UNIX (microsecondi).
{
"data": {
"rules": [
{
"action": "deny",
"alert_id": null,
"attack_category": null,
"attack_code": null,
"attack_name": null,
"case_sensitive": true,
"deleted": false,
"description": null,
"duration": null,
"enabled": true,
"expression": {
"type": "values",
"values": [
"A=0"
]
},
"id": "CxxQnxxx£Cx=",
"kind": "negative",
"loaded": "off",
"matching_method": "full",
"network_only": false,
"pattern": null,
"priority": "1",
"rq_host": "www.xxxxxxxxx-xxx.it",
"spec_values": {
"path": "any",
"request:Host": [
"www.xxxxxxxxxx-xxx.it"
]
},
"start_time": null,
"target": "parameter_key",
"timestamp": 10,
"username": "admin"
}
]
},
"message": "List of rules",
"pagination": {
"first": 1,
"last": 1,
"page": 0,
"total_count": 1,
"total_pages": 1
},
"status": "ok"
}
Recupero di una specifica regola
Richiesta
Definizione
GET /api/v1/rules/{rule_id}
Header
-
Authorization
richiestoToken di autenticazione con privilegi di lettura per la risorsa.
Bearer {token}
Risposta
Codici di stato
Codice di stato | Messaggio |
---|---|
200 | "Rule retrieved." |
400 | "Error retrieving rule" |
400 | "Error with pagination fields" |
403 | "Forbidden" |
Corpo
{
"data": {
"rule": {
"action": "deny",
"alert_id": null,
"attack_category": null,
"attack_code": null,
"attack_name": null,
"case_sensitive": true,
"deleted": false,
"description": null,
"duration": null,
"enabled": true,
"expression": {
"type": "values",
"values": [
"A=0"
]
},
"id": "CxxQnxxx£Cx=",
"kind": "negative",
"loaded": "off",
"matching_method": "full",
"network_only": false,
"pattern": null,
"priority": "1",
"rq_host": "www.xxxxxxxxx-xxx.it",
"spec_values": {
"path": "any",
"request:Host": [
"www.xxxxxxx-xxx.it"
]
},
"start_time": null,
"target": "parameter_key",
"timestamp": 10,
"username": "admin"
}
},
"message": "Rule retrieved",
"status": "ok"
}
Creazione di una nuova regola
Richiesta
Definizione
POST /api/v1/rules
Header
-
Authorization
richiestoToken di autenticazione con privilegi di lettura per la risorsa.
Bearer {token}
-
Content-Type
richiestoapplication/json
Corpo della richiesta
{
"rules": [
{
"action": "deny",
"description": "Negative rule",
"enabled": true,
"expression": {
"type": "values",
"values": [
"A=0"
]
},
"kind": "negative",
"matching_method": "substring",
"priority": "100",
"rq_host": "www.xxxxxxxx-xxx.it",
"spec_values": {
"path": "any",
"request:Host": [
"www.xxxxxxxx-xxx.it"
]
},
"target": "parameter_key"
}
]
}
Risposta
Codici di stato
Codice di stato | Messaggio |
---|---|
200 | "Rules created" |
400 | "Error creating rules" |
403 | "Forbidden" |
Corpo
{
"data": {
"rule_ids": {
"new_rule_ids": [
"x2TjxxxiJ2xxxVE0Ykkxxxxrvm0iVxxxJmS0fkxxxT+4g704DxxxxxYEGxxxxPxY"
],
"upd_rule_ids": []
}
},
"message": "Rules created",
"status": "ok"
}
Modifica di una regola specifica
Richiesta
Definizione
PUT /api/v1/rules/{rule_id}
Header
-
Authorization
richiestoToken di autenticazione con privilegi di lettura per la risorsa.
Bearer {token}
-
Content-Type
richiestoapplication/json
Corpo della richiesta
{
"attrs": {
"action": "do_nothing",
"description": "New description",
"duration": 500,
"enabled": "false",
"priority": "1000",
"start_time": 1669038092678996
}
}
Risposta
Codici di stato
Codice di stato | Messaggio |
---|---|
200 | "Rules updated" |
400 | "Error updating the rule" |
403 | "Forbidden" |
Corpo
{
"data": {
"rule_ids": [
"x2TjxxxiJ2xxxVE0Ykkxxxxrvm0iVxxxJmS0fkxxxT+4g704DxxxxxYEGxxxxPxY"
]
},
"message": "Rules updated",
"status": "ok"
}
Eliminazione di più regole
Richiesta
Definizione
DELETE /api/v1/rules
Header
-
Authorization
richiestoToken di autenticazione con privilegi di lettura per la risorsa.
Bearer {token}
-
Content-Type
richiestoapplication/json
Corpo della richiesta
{
"rule_ids": [
"x2TjxxxiJ2xxxVE0Ykkxxxxrvm0iVxxxJmS0fkxxxT+4g704DxxxxxYEGxxxxPxY"
]
}
Risposta
Codici di stato
Codice di stato | Messaggio |
---|---|
200 | "Rules deleted" |
400 | "Error deleting rules." |
403 | "Forbidden" |
Corpo
{
"data": {
"rule_ids": [
"x2TjxxxiJ2xxxVE0Ykkxxxxrvm0iVxxxJmS0fkxxxT+4g704DxxxxxYEGxxxxPxY"
]
},
"message": "Rules deleted",
"status": "ok"
}