---
canonical: https://docs.ideco.ru/v22/ru/ngfw/api/antivirus-api
---



# Профили антивируса

::: page-constructor
blocks:
  - type: content-layout-block
    textContent:
      buttons:
        - text: Классический VCE
          theme: action
          width: 'auto'
        - text: Высокопроизводительный VCE
          theme: outlined
          url: https://docs.ideco.ru/api/vpp-v22/ru/ngfw/security-profiles-api/antivirus/
          width: 'auto'
        - text: Документация
          theme: outlined
          url: https://docs.ideco.ru/v22/ru/ngfw/settings/security-profiles/antivirus
          width: 'auto'
    resetPaddings: false
    textWidth: l
    size: m
    centered: false
:::

{% cut "Дата последнего обновления баз" %}

```
GET /av_backend/update
```

**Ответ на успешный запрос:** 

```json5
{
  "last_update": "integer" | null,
  "status": "string",
  "msg": "string"
}
```

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `last_update` | integer | Дата последнего обновления баз в формате UNIX timestamp. Может быть `null`, если обновление не проводилось ||
|| `status` | string | Статус обновления модуля. Возможные значения:
- `updating` - первичное скачивание баз в процессе
- `up_to_date` - базы готовы, обновления выполняются автоматически
- `disabled` - обновления отключены (лицензия истекла)
||
|| `msg` | string | Информационное сообщение, соответствующее текущему статусу. Возможные значения:
- `"Automatic"` - обновления выполняются в штатном режиме
- `"Bases are being updated. The service will start after they are updated."` - выполняется первичное скачивание баз
- `"License is not available"` - лицензия отсутствует, модуль остановлен
- `"Disabled - license expired"` - лицензия истекла, модуль работает на устаревших базах, обновления остановлены
||
|#

{% endcut %}

### Управление модулем Антивирус


{% cut "Получение статуса" %}{#av-status}

#|
|| GET | `/av_backend/status` ||
|#

**Ответ на успешный запрос:**

```json5
{
    "name": "string",
    "status": "string",
    "msg": ["string"]
}
```

#|
|| **Параметр** | **Тип** | **Описание** ||
|| `name` | string | Имя модуля. Возможные значения: `kav-scanner`, `av-scanner` ||
|| `status` | string | Статус модуля. Возможные значения:
- `ACTIVE` - модуль работает
- `INACTIVE` - модуль отключен
- `FAILED` - сбой в работе модуля
||
|| `msg` | array | Массив информационных сообщений о состоянии модуля. Может включать следующие значения:
- `"Недостаточно памяти. Требуется как минимум X МБ."` - недостаточно оперативной памяти для работы модуля
- `"Базы обновляются. Сервис запустится после их обновления."` - выполняется первичное скачивание баз
- `"Лицензия недоступна."` - лицензия отсутствует, модуль остановлен
- `"Отключено - лицензия истекла"` - лицензия истекла, модуль работает на устаревших базах, обновления остановлены
||
|#

{% endcut %}

{% cut "Получение состояния" %}

```
GET /av_backend/state
```

**Ответ на успешный запрос:** 

```json5
{
  "enabled": true | false
}
```

* `enabled` - статус активности модуля:
  * `true` - включен;
  * `false` - выключен.

{% endcut %}

{% cut "Изменение состояния" %}

```
PATCH /av_backend/state
```

**Json-тело запроса:**

```json5
{
  "enabled": true | false
}
```

* `enabled` - статус активности модуля:
  * `true` - включен;
  * `false` - выключен.

**Ответ на успешный запрос:**  200 OK

{% endcut %}

### Настройки антивируса

{% cut "Получение настроек" %}

```
GET /av_backend/settings/web
```

**Ответ на успешный запрос:** 

```json5
{
  "engine": "kaspersky",
  "max_depth": "integer" | null,
  "disk_usage_limit": "integer" | null
}
```

* `engine` - антивирусный движок  **kaspersky** от Лаборатории Касперского;
* `max_depth` - максимальная вложенность архивов. Целое число от `0` до `1000`, где `0` - бесконечное количество вложенностей. Может быть `null`, если вложенность не назначена. Если поле отсутствует, то по умолчанию поле равно `1000`;
* `disk_usage_limit` - максимальное дисковое пространство в байтах, используемое для проверки. Может быть `null`, если лимит не указан. Если поле отсутствует, то по умолчанию поле равно 1/4 полного размера памяти, используемой для хранения временных файлов KAV (ОЗУ или дисковой).

{% endcut %}

{% cut "Изменение настроек" %}

```
PATCH /av_backend/settings/web
```

**Json-тело запроса (все или некоторые поля):**

```json5
{
  "max_depth": "integer" | null,
  "disk_usage_limit": "integer" | null
}
```

* `max_depth` - максимальная вложенность архивов. Целое число от `0` до `1000`, где `0` - бесконечное количество вложенностей. Может быть `null`, если вложенность не назначена. Если поле отсутствует, то по умолчанию поле равно `1000`;
* `disk_usage_limit` - максимальное дисковое пространство в байтах, используемое для проверки. Может быть `null`, если лимит не указан. Если поле отсутствует, то по умолчанию поле равно 1/4 полного размера памяти, используемой для хранения временных файлов KAV (ОЗУ или дисковой).

{% endcut %}

### Профили антивируса

Описание типов блокируемого контента, обрабатываемых модулем **Антивирус**, смотрите в статье [Таблица с описанием типов блокируемого контента модуля Антивирус](https://docs.ideco.ru/v22/ru/ngfw/recipes/popular-recipes/antivirus-files-table).

{% cut "Получение списка профилей" %}

Список пользовательских профилей антивируса дополнен **шаблоном профиля**. Поле `id` шаблона профиля - это фиксированная строка и содержит значение `__AV_PROFILE_TEMPLATE_ID__`. Шаблон профиля доступен только для чтения и не может быть использован в запросах на изменение/удаление профиля антивируса и на создание/изменение/перемещение/удаление правил блокировки контента в профиле.

```
GET /av_backend/profiles
```

**Ответ на успешный запрос:**

```json5
[
  {
    "id": "string",
    "name": "string",
    "comment": "string",
    "enabled": true | false,
    "block_file_detection_types": ["string"],
    "block_file_formats": ["string"],
    "block_malicious_urls": true | false,
    "block_download_on_failed_scan": true | false,
    "heuristic_level": "string",
    "scan_timeout": "integer",
    "max_object_size": "integer",
    "from_central_console": true | false
  },
  ...
]
```

* `id` - идентификатор профиля;
* `name` - название профиля;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - статус активности профиля:
  * `true` - включен;
  * `false` - выключен.
* `block_file_detection_types` - блокируемые типы угроз для файлов;
* `block_file_formats` - блокируемые форматы файлов;
* `block_malicious_urls` - опция **Блокировать вредоносные ссылки**:
  * `true` - включена;
  * `false` - выключена.
* `block_download_on_failed_scan` - опция **Блокировать скачивание файла, если не удалось выполнить проверку**:
  * `true` - включена;
  * `false` - выключена.
* `heuristic_level` - глубина эвристического анализа. Допустимые значения:
  * `NONE` - не проводить анализ;
  * `SHALLOW` - поверхностный анализ;
  * `MEDIUM` - средний анализ;
  * `DETAIL` - глубокий анализ;
  * `MAXIMUM` - максимальный анализ.
* `scan_timeout` - максимальное время проверки. Возможные значения от `1` до `180000` миллисекунд (3 минуты);
* `max_object_size` - максимальный размер проверяемого объекта в байтах. Возможные значения от `1` до `1073741824` байт (1024 Мб);
* `from_central_console` - источник создания профиля. Поле только для чтения. Возможные значения:
  * `true` - профиль создан в Ideco Center. В NGFW Novum доступен только для чтения. 
  * `false` - профиль создан в NGFW Novum. 

{% endcut %}

{% cut "Получение профиля по ID" %}

```
GET /av_backend/profiles/<id профиля>
```

**Ответ на успешный запрос:**

```json5
{
  "id": "string",
  "name": "string",
  "comment": "string",
  "enabled": true | false,
  "block_file_detection_types": ["string"],
  "block_file_formats": ["string"],
  "block_malicious_urls": true | false,
  "block_download_on_failed_scan": true | false,
  "heuristic_level": "string",
  "scan_timeout": "integer",
  "max_object_size": "integer",
  "from_central_console": true | false
}
```

* `id` - идентификатор профиля;
* `name` - название профиля;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - статус активности профиля:
  * `true` - включен;
  * `false` - выключен.
* `block_file_detection_types` - блокируемые типы угроз для файлов;
* `block_file_formats` - блокируемые форматы файлов;
* `block_malicious_urls` - опция **Блокировать вредоносные ссылки**:
  * `true` - включена;
  * `false` - выключена.
* `block_download_on_failed_scan` - опция **Блокировать скачивание файла, если не удалось выполнить проверку**:
  * `true` - включена;
  * `false` - выключена.
* `heuristic_level` - глубина эвристического анализа. Допустимые значения:
  * `NONE` - не проводить анализ;
  * `SHALLOW` - поверхностный анализ;
  * `MEDIUM` - средний анализ;
  * `DETAIL` - глубокий анализ;
  * `MAXIMUM` - максимальный анализ.
* `scan_timeout` - максимальное время проверки. Возможные значения от `1` до `180000` миллисекунд (3 минуты);
* `max_object_size` - максимальный размер проверяемого объекта в байтах. Возможные значения от `1` до `1073741824` байт (1024 Мб);
* `from_central_console` - источник создания профиля. Поле только для чтения. Возможные значения:
  * `true` - профиль создан в Ideco Center. В NGFW Novum доступен только для чтения. 
  * `false` - профиль создан в NGFW Novum. 

{% endcut %}

{% cut "Получение списка блокировок по контенту" %}

```
GET /av_backend/profiles/content
```

**Ответ на успешный запрос:**

```json5
{
  "id": "integer",
  "content": "string",
  "field": "string",
  "values": [
    {
      "code": "string",
      "title": "string",
      "description": "string"
    },
    ...
  ]
}
```

* `id` - индекс блокируемого контента;
* `content` - название контента;
* `field` - тип данных. Допустимые значения:
  * `format` - формат данных или файла, например, CSV, HTML и т.д.;
  * `detection_type` - тип обнаруженной угрозы или вредоносного объекта, например, трояны, вирусы и т.п.
* `values` - список блокируемого контента: 
  * `code` - код модуля **kav-scanner**. 
  
  {% cut "Список допустимых значений" %}
  
  * Если поле `field` содержит `format`: 
    * `ENCRYPTED`
    * `OFFICE_MSOFFICE_MACRO`
    * `PASSWORD_PROTECTED_ARCHIVE`
    * `FF_GENERAL_CSV`
    * `FF_GENERAL_HTML`
    * `FF_GENERAL_HTML_STRICT`
    * `FF_GENERAL_TXT`
    * `FF_GENERAL_XML`
    * `FF_AUDIO_AAC`
    * `FF_AUDIO_AC3`
    * `FF_AUDIO_APE`
    * `FF_AUDIO_CDA`
    * `FF_AUDIO_FLAC`
    * `FF_AUDIO_MIDI`
    * `FF_AUDIO_MKA`
    * `FF_AUDIO_MP3`
    * `FF_AUDIO_OGG`
    * `FF_AUDIO_RA`
    * `FF_AUDIO_WAV`
    * `FF_AUDIO_WEB_M`
    * `FF_AUDIO_WMA`
    * `FF_IMAGE_BMP`
    * `FF_IMAGE_CDR`
    * `FF_IMAGE_EMF`
    * `FF_IMAGE_EPS`
    * `FF_IMAGE_GIF`
    * `FF_IMAGE_JPEG`
    * `FF_IMAGE_PNG`
    * `FF_IMAGE_PSD`
    * `FF_IMAGE_TIFF`
    * `FF_IMAGE_WEBP`
    * `FF_MULTIMEDIA_SWF`
    * `FF_VIDEO_3GPP`
    * `FF_VIDEO_ASF`
    * `FF_VIDEO_AVI`
    * `FF_VIDEO_BIK`
    * `FF_VIDEO_DIVX`
    * `FF_VIDEO_F4V`
    * `FF_VIDEO_FLV`
    * `FF_VIDEO_MKV`
    * `FF_VIDEO_MOV`
    * `FF_VIDEO_RM`
    * `FF_VIDEO_RTMP`
    * `FF_VIDEO_VOB`
    * `FF_VIDEO_WEB_M`
    * `FF_EXECUTABLE_APK`
    * `FF_EXECUTABLE_APPLE_SCRIPT`
    * `FF_EXECUTABLE_BAT`
    * `FF_EXECUTABLE_COM`
    * `FF_EXECUTABLE_DEB`
    * `FF_EXECUTABLE_DEX`
    * `FF_EXECUTABLE_DOS`
    * `FF_EXECUTABLE_DOS_NE_RESOURCE`
    * `FF_EXECUTABLE_ELF`
    * `FF_EXECUTABLE_JAVA`
    * `FF_EXECUTABLE_JS`
    * `FF_EXECUTABLE_MACHO`
    * `FF_EXECUTABLE_MSI`
    * `FF_EXECUTABLE_PYC`
    * `FF_EXECUTABLE_RPM`
    * `FF_EXECUTABLE_SCRIPTS`
    * `FF_EXECUTABLE_VBS`
    * `FF_EXECUTABLE_WIN32PE`
    * `FF_EXECUTABLE_WIN32PE_DLL`
    * `FF_EXECUTABLE_WIN32PE_EXE`
    * `FF_EXECUTABLE_WIN32PE_EXEUI`
    * `FF_EXECUTABLE_WIN32PE_ILLIBRARY`
    * `FF_EXECUTABLE_WIN32PE_ILONLY`
    * `FF_EXECUTABLE_WIN32PE_NET`
    * `FF_EXECUTABLE_WIN32PE_NET_RESOURCE_WITH_POSSIBLE_TRIVIAL_CODE`
    * `FF_EXECUTABLE_WIN32PE_RESOURCE`
    * `FF_EXECUTABLE_WIN32PE_SYS`
    * `FF_EXECUTABLE_WINDOWS_SHELLLINK`
    * `FF_MSOFFICE_DOC`
    * `FF_MSOFFICE_DOCM`
    * `FF_MSOFFICE_DOCX`
    * `FF_MSOFFICE_DOT`
    * `FF_MSOFFICE_DOTM`
    * `FF_MSOFFICE_DOTX`
    * `FF_MSOFFICE_POTM`
    * `FF_MSOFFICE_POTX`
    * `FF_MSOFFICE_PPSM`
    * `FF_MSOFFICE_PPSX`
    * `FF_MSOFFICE_PPT`
    * `FF_MSOFFICE_PPTM`
    * `FF_MSOFFICE_PPTX`
    * `FF_MSOFFICE_PUB`
    * `FF_MSOFFICE_SCRAP`
    * `FF_MSOFFICE_XLAM`
    * `FF_MSOFFICE_XLS`
    * `FF_MSOFFICE_XLSB`
    * `FF_MSOFFICE_XLSM`
    * `FF_MSOFFICE_XLSX`
    * `FF_MSOFFICE_XLTM`
    * `FF_MSOFFICE_XLTX`
    * `FF_OFFICE_EML`
    * `FF_OFFICE_MSG`
    * `FF_OFFICE_MSOFFICE`
    * `FF_OFFICE_MSOFFICE_MACRO`
    * `FF_OFFICE_ODP`
    * `FF_OFFICE_ODS`
    * `FF_OFFICE_ODT`
    * `FF_OFFICE_ONE`
    * `FF_OFFICE_ONEPKG`
    * `FF_OFFICE_OPENXML`
    * `FF_OFFICE_PDF`
    * `FF_OFFICE_PST`
    * `FF_OFFICE_RTF`
    * `FF_OFFICE_SXW`
    * `FF_OFFICE_VDX`
    * `FF_OFFICE_XPS`
    * `FF_OFFICE_XSN`
    * `FF_ARCHIVE_7Z`
    * `FF_ARCHIVE_ACE`
    * `FF_ARCHIVE_ARJ`
    * `FF_ARCHIVE_BZIP2`
    * `FF_ARCHIVE_CAB`
    * `FF_ARCHIVE_DMG`
    * `FF_ARCHIVE_GZIP`
    * `FF_ARCHIVE_ISO`
    * `FF_ARCHIVE_JAR`
    * `FF_ARCHIVE_LZIP`
    * `FF_ARCHIVE_RAR`
    * `FF_ARCHIVE_TAR`
    * `FF_ARCHIVE_XAR`
    * `FF_ARCHIVE_Z`
    * `FF_ARCHIVE_ZIP`
    * `FF_DATABASE_ACCDB`
    * `FF_DATABASE_ACCDC`
    * `FF_DATABASE_MDB`
    * `FF_TEXT_CHM`
    * `FF_TEXT_MHT`
    * `FF_TEXT_REG`
    * `FF_CRYPTO_CAT`
  * Если поле `field` содержит `detection_type`:
    * `ADWARE`
    * `MALWARE`
    * `PORNWARE`
    * `RISKWARE`
    * `TROJWARE`
    * `UNKNOWN`
    * `UNKNOWN_M`
    * `VIRWARE`

  {% endcut %}
  
  * `title` - название блокируемого контента;
  * `description` - описание блокируемого контента. Может быть пустым.

{% endcut %}

{% cut "Создание профиля" %}

```
POST /av_backend/profiles
```

**Json-тело запроса:**

```json5
{
  "name": "string",
  "comment": "string",
  "enabled": true | false,
  "block_file_detection_types": ["string"],
  "block_file_formats": ["string"],
  "block_malicious_urls": true | false,
  "block_download_on_failed_scan": true | false,
  "heuristic_level": "string",
  "scan_timeout": "integer",
  "max_object_size": "integer",
  "from_central_console": true | false
}
```

* `name` - название профиля;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - статус активности профиля:
  * `true` - включен;
  * `false` - выключен.
* `block_file_detection_types` - блокируемые типы угроз для файлов;
* `block_file_formats` - блокируемые форматы файлов;
* `block_malicious_urls` - опция **Блокировать вредоносные ссылки**:
  * `true` - включена;
  * `false` - выключена.
* `block_download_on_failed_scan` - опция **Блокировать скачивание файла, если не удалось выполнить проверку**:
  * `true` - включена;
  * `false` - выключена.
* `heuristic_level` - глубина эвристического анализа. Допустимые значения:
  * `NONE` - не проводить анализ;
  * `SHALLOW` - поверхностный анализ;
  * `MEDIUM` - средний анализ;
  * `DETAIL` - глубокий анализ;
  * `MAXIMUM` - максимальный анализ.
* `scan_timeout` - максимальное время проверки. Возможные значения от `1` до `180000` миллисекунд (3 минуты);
* `max_object_size` - максимальный размер проверяемого объекта в байтах. Возможные значения от `1` до `1073741824` байт (1024 Мб);
* `from_central_console` - источник создания профиля. Поле только для чтения. Возможные значения:
  * `true` - профиль создан в Ideco Center. В NGFW Novum доступен только для чтения. 
  * `false` - профиль создан в NGFW Novum. 

**Ответ на успешный запрос:**

```json5 
{
  "id": "string"
}
```

* `id` - идентификатор созданного профиля.

{% endcut %}

{% cut "Копирование профиля с правилами" %}

```
POST /av_backend/profiles/<id профиля>/copy
```

* `id` - идентификатор существующего профиля, для которого будет создана копия. В качестве `id` может быть указан идентификатор шаблона профиля - `__AV_PROFILE_TEMPLATE_ID__`. В этом случае поле `comment` будет пустым.

**Ответ на успешный запрос:**

```json5 
{
  "id": "string"
}
```

* `id` - идентификатор созданного профиля.

{% endcut %}

{% cut "Изменение профиля" %}

```
PATCH /av_backend/profiles/<id профиля>
```

**Json-тело запроса (все или некоторые поля):**

```json5
{
  "name": "string",
  "comment": "string",
  "enabled": true | false,
  "block_file_detection_types": ["string"],
  "block_file_formats": ["string"],
  "block_malicious_urls": true | false,
  "block_download_on_failed_scan": true | false,
  "heuristic_level": "string",
  "scan_timeout": "integer",
  "max_object_size": "integer",
  "from_central_console": true | false
}
```

* `name` - название профиля;
* `comment` - комментарий, максимальная длина - 256 символов. Может быть пустым;
* `enabled` - статус активности профиля:
  * `true` - включен;
  * `false` - выключен.
* `block_file_detection_types` - блокируемые типы угроз для файлов;
* `block_file_formats` - блокируемые форматы файлов;
* `block_malicious_urls` - опция **Блокировать вредоносные ссылки**:
  * `true` - включена;
  * `false` - выключена.
* `block_download_on_failed_scan` - опция **Блокировать скачивание файла, если не удалось выполнить проверку**:
  * `true` - включена;
  * `false` - выключена.
* `heuristic_level` - глубина эвристического анализа. Допустимые значения:
  * `NONE` - не проводить анализ;
  * `SHALLOW` - поверхностный анализ;
  * `MEDIUM` - средний анализ;
  * `DETAIL` - глубокий анализ;
  * `MAXIMUM` - максимальный анализ.
* `scan_timeout` - максимальное время проверки. Возможные значения от `1` до `180000` миллисекунд (3 минуты);
* `max_object_size` - максимальный размер проверяемого объекта в байтах. Возможные значения от `1` до `1073741824` байт (1024 Мб);
* `from_central_console` - источник создания профиля. Поле только для чтения. Возможные значения:
  * `true` - профиль создан в Ideco Center. В NGFW Novum доступен только для чтения. 
  * `false` - профиль создан в NGFW Novum. 

**Ответ на успешный запрос:** 200 ОК

{% endcut %}

{% cut "Удаление профиля" %}

```
DELETE /av_backend/profiles/<id профиля>
```

**Ответ на успешный запрос:** 200 ОК

{% endcut %}

<!--Ссылки на 21 версию. Для просмотра фичи выбери нужную в выпадашке:
https://stash.ideco.dev/projects/UTM/repos/av-backend/browse/docs/api_objects.md
https://stash.ideco.dev/projects/UTM/repos/av-backend/browse/docs/api.md-->
