Файрвол
Last updated
Last updated
Ответ на успешный запрос:
enabled
- опция раздела Файрвол: true
- включена, false
- выключена.
Ответ на успешный запрос:
automatic_snat_enabled
- включение автоматического SNAT: true
- включен, false
- выключен;
log_mode
- режим логирования;
log_actions
- события, которые будут логироваться.
Json-тело запроса:
automatic_snat_enabled
- включение автоматического SNAT: true
- включен, false
- выключен;
log_mode
- режим логирования;
log_actions
- события, которые будут логироваться.
Ответ на успешный запрос: 200 ОК
GET /firewall/rules/forward
- раздел FORWARD;
GET /firewall/rules/input
- раздел INPUT;
GET /firewall/rules/dnat
- раздел DNAT;
GET /firewall/rules/snat
- раздел SNAT;
GET /firewall/rules/log
- раздел Логирование.
Ответ на успешный запрос: объекты FilterRuleObject, DnatRuleObject, SnatRuleObject
Объект FilterRuleObject (разделы FORWARD и INPUT)
id
- идентификатор правила.
parent_id
- идентификатор группы в Ideco Center, в которую входит сервер, или константа f3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);
enabled
- если true
, то правило включено, false
- выключено;
protocol
- протокол;
source_addresses
- адрес источника;
source_addresses_negate
- инвертировать адрес источника;
source_ports
- порты источников, список идентификаторов алиасов;
incoming_interface
- зона источника;
destination_addresses
- адрес назначения;
destination_addresses_negate
- инвертировать адрес назначения;
destination_ports
- порты назначения;
outgoing_interface
- зона назначения;
hip_profiles
- HIP-профили;
dpi_profile
- строка в формате UUID, идентификатор профиля DPI. Не может быть пустой строкой, если dpi_enabled
= true
;
dpi_enabled
- если true
, то обработка с помощью модуля Контроль приложений включена, false
- выключена;
ips_profile
- строка в формате UUID, идентификатор профиля IPS. Не может быть пустой строкой, если ips_enabled
= true
;
ips_enabled
- если true
, то обработка с помощью модуля Предотвращение вторжений включена, false
- выключена;
timetable
- время действия;
comment
- комментарий, может быть пустым;
action
- действие:
accept
- разрешить;
drop
- запретить.
Объект DnatRuleObject (раздел DNAT)
id
- идентификатор правила.
parent_id
- идентификатор группы в Ideco Center, в которую входит сервер, или константа f3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);
enabled
- если true
, то правило включено, false
- выключено;
protocol
- протокол;
source_addresses
- адрес источника;
source_addresses_negate
- инвертировать адрес источника;
source_ports
- порты источников, список идентификаторов алиасов;
incoming_interface
- зона источника;
destination_addresses
- адрес назначения;
destination_addresses_negate
- инвертировать адрес назначения;
destination_ports
- порты назначения;
timetable
- время действия;
comment
- комментарий, может быть пустым;
action
- действие:
accept
- разрешить;
dnat
- производить DNAT.
change_destination_address
- IP-адрес или диапазон IP-адресов для замены назначения, или null
, если action
= accept
;
change_destination_port
- порт или диапазон портов для замены значения, или null
, если action
= accept
.
Объект SnatRuleObject (раздел SNAT)
id
- идентификатор правила.
parent_id
- идентификатор группы в Ideco Center, в которую входит сервер, или константа f3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);
enabled
- если true
, то правило включено, false
- выключено;
protocol
- протокол;
source_addresses
- адрес источника;
source_addresses_negate
- инвертировать адрес источника;
source_ports
- порты источников, список идентификаторов алиасов;
destination_addresses
- адрес назначения;
destination_addresses_negate
- инвертировать адрес назначения;
destination_ports
- порты назначения;
outgoing_interface
- зона назначения;
timetable
- время действия;
action
- действие:
accept
- разрешить;
snat
- производить SNAT.
change_destination_address
- IP-адрес для замены источника, или null
, если action
= accept
.
POST /firewall/rules/forward?anchor_item_id=<id правила>&insert_after={true|false}
- раздел FORWARD;
POST /firewall/rules/input?anchor_item_id=<id правила>&insert_after={true|false}
- раздел INPUT;
POST /firewall/rules/dnat?anchor_item_id=<id правила>&insert_after={true|false}
- раздел DNAT;
POST /firewall/rules/snat?anchor_item_id=<id правила>&insert_after={true|false}
- раздел SNAT;
POST /firewall/rules/log?anchor_item_id=<id правила>&insert_after={true|false}
- раздел Логирование.
anchor_item_id
- идентификатор правила, ниже или выше которого нужно создать новое. Если отсутствует, то новое правило будет добавлено в конец таблицы;
insert_after
- вставка до или после. Если значение true
или отсутствует, то новое правило будет добавлено сразу после указанного в anchor_item_id
. Если false
- на месте указанного в anchor_item_id
.
Json-тело запроса: один из объектов FilterRuleObject (разделы FORWARD и INPUT) | DnatRuleObject (раздел DNAT) | SnatRuleObject (раздел SNAT), описанных в раскрывающемся блоке
В запросе не должно быть id
, так как правило еще не создано и не имеет идентификатора.
Ответ на успешный запрос:
id
- идентификатор созданного правила.
PUT /firewall/rules/forward/<id правила>
- раздел FORWARD;
PUT /firewall/rules/input/<id правила>
- раздел INPUT;
PUT /firewall/rules/dnat/<id правила>
- раздел DNAT;
PUT /firewall/rules/snat/<id правила>
- раздел SNAT;
PUT /firewall/rules/log/<id правила>
- раздел Логирование.
Ответ на успешный запрос: 200 ОК
PATCH /firewall/rules/forward/move
- раздел FORWARD;
PATCH /firewall/rules/input/move
- раздел INPUT;
PATCH /firewall/rules/dnat/move
- раздел DNAT;
PATCH /firewall/rules/snat/move
- раздел SNAT;
PATCH /firewall/rules/log/move
- раздел Логирование.
Json-тело запроса:
id
- идентификатор перемещаемого правила;
anchor_item_id
- идентификатор правила, ниже или выше которого нужно поместить перемещаемое правило;
insert_after
- вставка до или после. Если true
, то вставить правило сразу после указанного в anchor_item_id
, если false
- на месте указанного в anchor_item_id
.
DELETE /firewall/rules/forward/<id правила>
- раздел FORWARD;
DELETE /firewall/rules/input/<id правила>
- раздел INPUT;
DELETE /firewall/rules/dnat/<id правила>
- раздел DNAT;
DELETE /firewall/rules/snat/<id правила>
- раздел SNAT;
DELETE /firewall/rules/log/<id правила>
- раздел Логирование.
Ответ на успешный запрос: 200 ОК
Ответ на успешный запрос:
enabled
- если true
, то счетчик включен, false
- выключен.
Json-тело запроса:
enabled
- true
для включения, false
для выключения.
Ответ на успешный запрос: 200 ОК
GET /firewall/counters/forward
- раздел FORWARD;
GET /firewall/counters/input
- раздел INPUT;
GET /firewall/counters/dnat
- раздел DNAT;
GET /firewall/counters/snat
- раздел SNAT;
GET /firewall/rules/log
- раздел Логирование.
Ответ на успешный запрос:
id
- идентификатор правила;
packets
- сумма сработанных правил.
Ответ на успешный запрос:
id
- идентификатор проверки;
enabled
- включена ли данная проверка;
protocol
- протокол, используемый в данной проверке. Может быть tcp
или udp
;
src_ip
- адрес источника тестовых пакетов;
src_port
- порт источника тестовых пакетов;
dst_ip
- адрес назначения тестовых пакетов;
dst_port
- порт назначения тестовых пакетов;
incoming_interface
- идентификатор алиаса сетевого интерфейса, на который приходят тестовые пакеты;
expected_result
- ожидаемый результат выполнения проверки. Может быть drop
или accept
;
comment
- комментарий, может быть пустым.
Json-тело запроса:
enabled
- включена ли данная проверка;
protocol
- протокол, используемый в данной проверке. Может быть tcp
или udp
;
src_ip
- адрес источника тестовых пакетов;
src_port
- порт источника тестовых пакетов;
dst_ip
- адрес назначения тестовых пакетов;
dst_port
- порт назначения тестовых пакетов;
incoming_interface
- идентификатор алиаса сетевого интерфейса, на который приходят тестовые пакеты;
expected_result
- ожидаемый результат выполнения проверки. Может быть drop
или accept
;
comment
- комментарий, может быть пустым.
Ответ на успешный запрос:
id
- идентификатор созданной проверки.
Json-тело запроса:
enabled
- включена ли данная проверка;
protocol
- протокол, используемый в данной проверке. Может быть tcp
или udp
;
src_ip
- адрес источника тестовых пакетов;
src_port
- порт источника тестовых пакетов;
dst_ip
- адрес назначения тестовых пакетов;
dst_port
- порт назначения тестовых пакетов;
incoming_interface
- идентификатор алиаса сетевого интерфейса, на который приходят тестовые пакеты;
expected_result
- ожидаемый результат выполнения проверки. Может быть drop
или accept
;
comment
- комментарий, может быть пустым.
Ответ на успешный запрос: 200 ОК
Ответ на успешный запрос:
block_status
- текущий статус блокировки трафика, вызванный провалом проверок;
in_progress
- выполняются ли проверки в данный момент;
check_datetime
- время выполнения последних проверок в формате YYYYMMDDHMS
;
data
- словарь результатов проверок, ключ - uuid проверки;
result
- результат выполнения проверки, может быть drop
или accept
;
rule_id
- номер отработавшего правила. Например, fwd.ngfw.2
;
verdict
- совпал ли фактический результат с ожидаемым.
Номер правила в поле rule_id
будет отсутствовать, если пакет был заблокирован пользовательским правилом INPUT. В этом случае поле rule_id
будет иметь вид inp.ngfw
.
Json-тело запроса: один из объектов FilterRuleObject (разделы FORWARD и INPUT) | DnatRuleObject (раздел DNAT) | SnatRuleObject (раздел SNAT), которые описаны в раскрывающемся блоке , без поля id
GET /firewall/watch
PUT /firewall/watch
GET /firewall/checks_packets
POST /firewall/checks_packets
PATCH /firewall/checks_packets/<id проверки>
PATCH /firewall/checks_packets/<id проверки>
POST /firewall/checks_start
GET /firewall/checks_result
GET /firewall/checks_settings
PUT /firewall/checks_settings
GET /firewall/status
GET /firewall/state
GET /firewall/settings
PUT /firewall/settings
[
{
"name": "rules-in-kernel",
"status": "active" | "activating" | "deactivating" | "failed" | "inactive" | "reloading",
"msg": [ "string" ]
},
{
"msg": [ "string" ],
"status": "active",
"name": "auto-snat"
}
]
{
"enabled": "boolean"
}
{
"automatic_snat_enabled": "boolean",
"log_mode": "nothing" | "all" | "selected",
"log_actions": [ "accept" | "drop" | "dnat" | "snat" | "mark_log" | "mark_not_log" ]
}
{
"automatic_snat_enabled": "boolean",
"log_mode": "nothing" | "all" | "selected",
"log_actions": [ "accept" | "drop" | "dnat" | "snat" | "mark_log" | "mark_not_log" ]
}
{
"id": "integer",
"parent_id": "string",
"enabled": "boolean",
"protocol": "string",
"source_addresses": [ "string" ],
"source_addresses_negate": "boolean",
"source_ports": [ "string" ],
"incoming_interface": "string",
"destination_addresses": [ "string" ],
"destination_addresses_negate": "boolean",
"destination_ports": [ "string" ],
"outgoing_interface": "string",
"hip_profiles": [ "string" ],
"dpi_profile": "string",
"dpi_enabled": "boolean",
"ips_profile": "string",
"ips_enabled": "boolean",
"timetable": [ "string" ],
"comment": "string",
"action": "accept" | "drop"
}
{
"id": "integer",
"parent_id": "string",
"enabled": "boolean",
"protocol": "string",
"source_addresses": [ "string" ],
"source_addresses_negate": "boolean",
"source_ports": [ "string" ],
"incoming_interface": "string",
"destination_addresses": [ "string" ],
"destination_addresses_negate": "boolean",
"destination_ports": [ "string" ],
"timetable": [ "string" ],
"comment": "string",
"action": "accept" | "dnat",
"change_destination_address": "null" | "string",
"change_destination_port": "null" | "string"
}
{
"id": "integer",
"parent_id": "string",
"enabled": "boolean",
"protocol": "string",
"source_addresses": [ "string" ],
"source_addresses_negate": "boolean",
"source_ports": [ "string" ],
"destination_addresses": [ "string" ],
"destination_addresses_negate": "boolean",
"destination_ports": [ "string" ],
"outgoing_interface": "string",
"timetable": [ "string" ],
"comment": "string",
"action": "accept" | "snat",
"change_source_address": "null" | "string"
}
{
"id": "integer"
}
{
"params": {
"id": "integer",
"anchor_item_id": "integer",
"insert_after": "boolean"
}
}
{
"enabled": "boolean"
}
{
"enabled": "boolean"
}
[
{
"id": "integer",
"packets": "integer"
},
...
]
{
"id": "string",
"enabled": "boolean",
"protocol": "tcp" | "udp",
"src_ip": "string",
"src_port": "integer",
"dst_ip": "string",
"dst_port": "integer",
"incoming_interface": "string",
"expected_result": "drop" | "accept",
"comment": "string"
}
{
"enabled": "boolean",
"protocol": "tcp" | "udp",
"src_ip": "string",
"src_port": "integer",
"dst_ip": "string",
"dst_port": "integer",
"incoming_interface": "string",
"expected_result": "drop" | "accept",
"comment": "string"
}
{
"id": "integer"
}
{
"enabled": "boolean",
"protocol": "tcp" | "udp",
"src_ip": "string",
"src_port": "integer",
"dst_ip": "string",
"dst_port": "integer",
"incoming_interface": "string",
"expected_result": "drop" | "accept",
"comment": "string",
},
{
"block_status": "boolean",
"in_progress": "boolean",
"check_datetime": "integer",
"data": {
"check_id": {
"result": "drop" | "accept",
"rule_id": "string",
"verdict": "boolean"
}
}
}
{
"block_traffic": "boolean"
}
{
"block_traffic": "boolean"
}