Перейти к основному содержимому

Настройка IP-фильтра для ONLYOFFICE Docs

Для ONLYOFFICE Docs можно настроить IP-фильтр.

Настройки IP-фильтра хранятся в файле конфигурации ONLYOFFICE Docs: /etc/onlyoffice/documentserver/default.json. Они выглядят так:

"ipfilter": {
"rules": [
{
"address": "ip_address",
"allowed": true
},
{
"address": "*",
"allowed": false
}
],
"useforrequest": false,
"errorcode": 403
}
примечание

Если изменить параметры в файле default.json, все изменения будут потеряны после обновления ONLYOFFICE Docs или перезапуска Docker-контейнера. Чтобы изменения сохранились после обновления, редактируйте файл /etc/onlyoffice/documentserver/local.json, сохраняя структуру.

Правило состоит из двух частей: имени хоста и самого правила allowed, которое принимает значение true или false. По умолчанию существует одно правило: address * allowed true.

Адрес можно указать следующими способами:

  • IP-адрес в формате X.X.X.X для IPv4.
  • IP-адрес в формате xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx для IPv6.
  • DNS-имя.

Также можно использовать подстановочный знак *. Он заменяет любой символ любое количество раз.

Имя хоста в ссылках сначала проверяется как DNS-адрес; если оно не соответствует ни одному правилу, по имени определяется IP-адрес и проверка выполняется еще раз.

Важно

Если включена проверка "useforrequest": true, параметр address необходимо указывать как IP-адрес, а не как DNS-имя.

"useforrequest": true/false​

По умолчанию параметр useforrequest имеет значение false. В этом случае проверяются текстовые URL-адреса, которые передаются в ONLYOFFICE Docs в качестве параметров:

Если параметр useforrequest имеет значение true (не рекомендуется), дополнительно проверяется IP-адрес клиента в следующих HTTP-запросах:

  • coauthoring/CommandService.ashx
  • ConvertService.ashx
  • converter
  • FileUploader.ashx
  • healthcheck
  • docbuilder
  • info/info.json
  • internal/cluster/inactive
  • hosting/discovery
  • hosting/capabilities
  • lool/convert-to/:format?
  • dummyCallback

Для этих запросов возвращается ошибка с кодом, указанным в параметре errorcode.

Важно

Проверяется только тот IP-адрес хранилища, который видит ONLYOFFICE Docs (с учетом заголовков x-forwarded).

Например, если ONLYOFFICE Docs и тестовый пример установлены на одной машине, IP-адресом клиента будет адрес внутренней сети. ONLYOFFICE Docs не может определить хост клиента, поэтому при этой настройке нельзя использовать DNS-имя в поле address. Рекомендуется оставить для этой настройки значение по умолчанию и выполнять проверки на уровне прокси-сервера.