Add a blacklist entry for an IP and/or login. Note that netmask and ip parameters are mutually exclusive.
Provide IP and/or login
expire_secs | integer |
ip | string |
login | string |
netmask | string |
reason | string |
{- "expire_secs": 3600,
- "ip": "127.0.0.1",
- "netmask": "2001:503:ba3e::/64",
- "reason": "Is there ever a good reason"
}
{- "status": "ok"
}
This is a request to add a new Sibling for replication purposes.
Details about the Sibling to add
encryption_key | string |
sibling_host required | string |
sibling_port required | integer |
sibling_protocol | string Enum: "tcp" "udp" |
{- "encryption_key": "string",
- "sibling_host": "string",
- "sibling_port": 0,
- "sibling_protocol": "tcp"
}
{- "status": "ok"
}
Add a whitelist entry for an IP and/or login. Note that netmask and ip parameters are mutually exclusive.
Provide IP and/or login
expire_secs | integer |
ip | string |
login | string |
netmask | string |
reason | string |
{- "expire_secs": 3600,
- "ip": "127.0.0.1",
- "netmask": "2001:503:ba3e::/64",
- "reason": "Is there ever a good reason"
}
{- "status": "ok"
}
Query whether a login should be allowed
Login Tuple for allow command
object (LTAttrs) | |
device_id | string |
login required | string |
protocol | string Enum: "http" "imap" "pop" "smtp" "mobileapi" |
pwhash required | string |
remote required | string |
tls | boolean |
{- "attrs": {
- "foo": "bar"
}, - "login": "joe.bloggs",
- "protocol": "http",
- "pwhash": "cc04",
- "remote": "192.168.1.2",
- "success": true,
- "tls": true
}
{- "msg": "string",
- "r_attrs": {
- "two_factor_required": true
}, - "status": 0
}
Extensible mechanism allows custom REST endpoints to be defined - this is an example
Arguments to custom REST endpoint
required | object (LTAttrs) |
{- "attrs": {
- "key": "value"
}
}
{- "r_attrs": {
- "two_factor_required": true
}, - "success": true
}
Delete a blacklist entry for an IP and/or login. Note that netmask and ip parameters are mutually exclusive.
Provide IP and/or login
ip | string |
login | string |
netmask | string |
{- "ip": "127.0.0.1",
- "netmask": "2001:503:ba3e/64"
}
{- "status": "ok"
}
Delete a whitelist entry for an IP and/or login. Note that netmask and ip parameters are mutually exclusive.
Provide IP and/or login
ip | string |
login | string |
netmask | string |
{- "ip": "127.0.0.1",
- "netmask": "2001:503:ba3e/64"
}
{- "status": "ok"
}
This is a request to dump StatsDB entries (consisting of the values of each of the time windows for each field) to a specified IP address and port over TCP.
The ip and port to dump to
dump_host required | string |
dump_port required | integer |
{- "dump_host": "string",
- "dump_port": 0
}
{- "status": "ok"
}
{- "bl_entries": [
- {
- "ip": [
- {
- "expiration": "2002-Jan-01 10:00:01",
- "login": "joe.bloggs",
- "reason": "Too many invalid login attempts from greylisted countries"
}
], - "iplogin": [
- {
- "expiration": "2002-Jan-01 10:00:01",
- "login": "joe.bloggs",
- "reason": "Too many invalid login attempts from greylisted countries"
}
], - "login": [
- {
- "expiration": "2002-Jan-01 10:00:01",
- "login": "joe.bloggs",
- "reason": "Too many invalid login attempts from greylisted countries"
}
]
}
]
}
Get the db stats for an IP and/or login
Provide IP and/or login
ip | string |
login | string |
{- "ip": "127.0.0.1"
}
{- "bl_expire": "string",
- "bl_reason": "string",
- "blacklisted": true,
- "key_name": "string",
- "stats": {
- "db_name": {
- "countLogins": 239,
- "diffPassword": 10
}
}, - "whitelisted": true,
- "wl_expire": "string",
- "wl_reason": "string"
}
{- "bl_entries": [
- {
- "ip": [
- {
- "expiration": "2002-Jan-01 10:00:01",
- "login": "joe.bloggs",
- "reason": "Too many invalid login attempts from greylisted countries"
}
], - "iplogin": [
- {
- "expiration": "2002-Jan-01 10:00:01",
- "login": "joe.bloggs",
- "reason": "Too many invalid login attempts from greylisted countries"
}
], - "login": [
- {
- "expiration": "2002-Jan-01 10:00:01",
- "login": "joe.bloggs",
- "reason": "Too many invalid login attempts from greylisted countries"
}
]
}
]
}
This is a request to add remove a Sibling for replication purposes.
Details about the Sibling to remove
sibling_host required | string |
sibling_port required | integer |
{- "sibling_host": "string",
- "sibling_port": 0
}
{- "status": "ok"
}
Creates a new report about a login (successful or unsuccessful)
Login Tuple for report command
object (LTAttrs) | |
device_id | string |
login required | string |
policy_reject | boolean |
protocol | string Enum: "http" "imap" "pop3" "smtp" "mobileapi" |
pwhash required | string |
remote required | string |
success required | boolean |
tls | boolean |
{- "login": "joe.bloggs",
- "pwhash": "cc04",
- "remote": "192.168.1.2",
- "success": true
}
{- "status": "ok"
}
Reset the stats and any blacklist entry for an IP and/or login
Provide IP and/or login
ip | string |
login | string |
{- "ip": "127.0.0.1"
}
{- "status": "ok"
}
This is a request to set the Siblings for replication purposes.
Details about the Sibling to add
Array of objects[ items ] |
{- "siblings": [
- {
- "encryption_key": "string",
- "sibling_host": "string",
- "sibling_port": 0,
- "sibling_protocol": "tcp"
}
]
}
{- "status": "ok"
}