Files
mesh-contracts/connectivity/seats/node-intrusion-prevention/seat.json
T

91 lines
2.2 KiB
JSON

{
"format": 1,
"seat": "node-intrusion-prevention",
"scope": "node",
"grain": "seat-list",
"domain": "Connectivity",
"decision": "novox/hq ADR 0121",
"verbs": [
{
"name": "status",
"description": "Every jail on this machine with how many it is watching and holding now, and the totals since the jail started; one jail's detail when named.",
"replaces": [
"fail2ban-client status"
],
"input": {
"properties": {
"jail": {
"description": "one jail (optional)",
"type": "string"
}
},
"type": "object"
}
},
{
"name": "banned",
"description": "Every address banned on this machine right now, with the jail that holds it and when the ban ends.",
"replaces": [
"fail2ban-client banned"
],
"input": {
"properties": {
"jail": {
"description": "one jail (optional)",
"type": "string"
}
},
"type": "object"
}
},
{
"name": "ban",
"description": "Ban one address in one jail now, for the jail's ban time — an operator's act on the live ban list, which the mesh never writes itself.",
"replaces": [
"fail2ban-client set banip"
],
"input": {
"properties": {
"ip": {
"description": "the address",
"type": "string"
},
"jail": {
"description": "the jail to hold it",
"type": "string"
}
},
"required": [
"ip",
"jail"
],
"type": "object"
}
},
{
"name": "unban",
"description": "Let one address go, from one jail or from every jail when none is named.",
"replaces": [
"fail2ban-client unban",
"fail2ban-client set unbanip"
],
"input": {
"properties": {
"ip": {
"description": "the address",
"type": "string"
},
"jail": {
"description": "one jail (optional)",
"type": "string"
}
},
"required": [
"ip"
],
"type": "object"
}
}
]
}