Описани е базы данных
Ниже приводится схема и описание таблиц базы данных, созданных для стандартного использования HBF-Server.
HBF-Server поддерживает PostgreSQL версии 14.8
Поскольку HBF-Server взаимодействует с этой базой данных самостоятельно, конечному пользователю не нужно беспокоиться о ее структуре и о том как хранятся данные.
Схема базы данных
На диаграмме ниже представлен визуальный обзор базы данных HBF-Server и связей между таблицами. В приведенном ниже Обзоре Таблиц, содержатся дополнительные сведения о таблицах и столбцах базы данных.
Обзор таблиц (сущности)
В этом разделе представлен обзор всех таблиц, созданных для стандартного использования HBF-Server. С последующим детальным о писанием, что находится в каждой таблице.
Название таблицы | Описание | Соответствующие области взаимодействия интерфейса (API) |
---|---|---|
tbl_network | таблица tbl_network хранит информацию о IP Subnets c уникальным названием, CIDR и ссылкой на SG к сети которой она принадлежит | |
tbl_sg | таблица tbl_sg хранит информацию о Security Groups (SG) с уникальным названием, правилом применяемым для входящих или исходящих пакетов, также возможностью включить логирование | |
tbl_ie_sg_sg_rule | таблица tbl_ie_sg_sg_rule хранит информацию SG-SG правил для входящего и исходящего траффика с сетевым транспортным протоколами и диапазоном портов | |
tbl_ie_sg_sg_icmp_rule | таблица tbl_ie_sg_sg_icmp_rule хранит информацию SG-SG правил для входящего и исходящего траффика через сетевой протокол ICMP | |
tbl_cidr_sg_rule | таблица tbl_cidr_sg_rule хранит информацию CIDR-SG правил для входящего и исходящего траффика с сетевым транспортным протоколом, бесклассовой междоменной маршрутизацией (CIDR) и диапазоном портов | |
tbl_cidr_sg_icmp_rule | таблица tbl_cidr_sg_icmp_rule хранит информацию CIDR-SG правил для входящего и исходящего траффика с сетев ым протоколом ICMP, бесклассовой междоменной маршрутизацией (CIDR) | |
tbl_fqdn_rule | таблица tbl_fqdn_rule хранит информацию SG-to-FQDN правил с сетевым транспортным протоколом и диапазоном портов | |
tbl_sg_icmp_rule | таблица tbl_sg_icmp_rule хранит информацию SG:ICMP правил | |
tbl_sg_rule | таблица tbl_sg_rules хранит информацию о правилах виртуального файрволла который можно настраивать для того чтобы контролировать входящий и выходящий трафик | |
tbl_sg_sg_icmp_rule | таблица tbl_sg_sg_icmp_rule хранит информацию SG-SG:ICMP правил | |
tbl_sync_status | в таблице tbl_sync_status хранится информация об изменениях внесенных пользователем (дата последнего успешного изменения и кол-во изменённых строк) |
Подробное описание таблиц
Ниже приведены конкретные поля в каждой из таблиц, созданных для стандартного использования HBF-Server
tbl_network
Пол е | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
sg | int(8) | YES | FK | внешний ключ к таблице tbl_sg.id | |
name | cname | ALT |
| ||
network | cidr |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Simple Key | cname |
tbl_sg
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
name | cname | ALT |
| ||
logs | bool | false | |||
trace | bool | false | |||
default_action | chain_default_action | ‘DROP’::chain_default_action | одно из двух значений:
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Simple Key | cname |
tbl_ie_sg_sg_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
proto | proto | ALT | одно из двух значений:
| ||
sg | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
sg_local | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
traffic | traffic | ALT | одно из двух значений:
| ||
ports | sg_rule_ports[] | YES |
| ||
logs | bool | ||||
trace | bool | ||||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_ie_sg_sg_icmp_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
sg | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
sg_local | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
traffic | traffic | ALT | одно из двух значений "ingress" или "egress" | ||
ip_v | ip_family | ALT | одно из двух значений "IPv6" или "IPv4" | ||
types | icmp_types | массив из smallint[] кодов типа ICMP | |||
logs | Boolean | false | |||
trace | Boolean | false | |||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_cidr_sg_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
proto | proto | ALT | одно из двух значений:
| ||
cidr | cidr | ALT | значение cidr (диапазон ip адресов) в рамках одного правила (proto, sg, traffic) не должны пересекаться | ||
sg | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
traffic | traffic | ALT |
| ||
ports | sg_rule_ports[] | YES |
| ||
logs | bool | ||||
trace | bool | ||||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_cidr_sg_icmp_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
cidr | cidr | ALT | значение cidr (диапазон ip адресов) в рамках одного правила (ip_v, sg, traffic) не должны пересекаться | ||
sg | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
traffic | traffic | ALT |
| ||
ip_v | ip_family | ALT | одно из двух значений:
| ||
types | icmp_types | массив из smallint[] кодов типа ICMP | |||
logs | bool | ||||
trace | bool | ||||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_fqdn_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
sg_from | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
fqdn_to | fqdn | ALT |
| ||
proto | proto | ALT | одно из двух значений:
| ||
ports | sg_rule_ports[] | YES |
| ||
logs | bool | false | |||
ndpi_protocols | citext |
| |||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_sg_icmp_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
ip_v | ip_family | ALT | одно из двух значений:
| ||
types | icmp_types | массив из smallint[] кодов типа ICMP | |||
sg | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
logs | bool | ||||
trace | bool | ||||
action | rule_action | одно из двух значений:
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_sg_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
sg_from | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
sg_to | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
proto | proto | ALT | одно из двух значений:
| ||
ports | sg_rule_ports[] | YES |
| ||
logs | bool | false | |||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_sg_sg_icmp_rule
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
ip_v | ip_family | ALT | одно из двух значений:
| ||
types | icmp_types | массив из smallint[] кодов типа ICMP | |||
sg_from | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
sg_to | int(8) | FK/ALT | внешний ключ к таблице tbl_sg.id | ||
logs | bool | ||||
trace | bool | ||||
action | rule_action | одно из двух значений:
| |||
priority | smallint | 0 |
|
Ключи
Имя ключа | Тип | Поля |
---|---|---|
Alternative key | Compound Key |
|
tbl_sync_status
Поле | Тип | Null | Ключ | По умолчанию | Дополнительно |
---|---|---|---|---|---|
id | int(8) | PRI | auto_increment | ||
total_affected_rows | int(8) | при любой процедуре (удаление/добавление/редактирование) данных в таблицах, tbl_network, tbl_sg, tbl_fqdn_rule, tbl_sg_rule, tbl_sg_icmp_rule, tbl_sg_sg_icmp_rule, будет учтена сумма всех изменённых строк | |||
updated_at | timstamptz | YES | дата изменения |