Настройка 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 в качестве параметров:
- Ссылки для скачивания файла: открытие, конвертация, docbuilder и т. д.
- Подписка на события редактора callbackUrl.
- WOPI actionUrl.
Если параметр useforrequest имеет значение true (не рекомендуется), дополнительно проверяется IP-адрес клиента в следующих HTTP-запросах:
coauthoring/CommandService.ashxConvertService.ashxconverterFileUploader.ashxhealthcheckdocbuilderinfo/info.jsoninternal/cluster/inactivehosting/discoveryhosting/capabilitieslool/convert-to/:format?dummyCallback
Для этих запросов возвращается ошибка с кодом, указанным в параметре errorcode.
Проверяется только тот IP-адрес хранилища, который видит ONLYOFFICE Docs (с учетом заголовков x-forwarded).
Например, если ONLYOFFICE Docs и тестовый пример установлены на одной машине, IP-адресом клиента будет адрес внутренней сети. ONLYOFFICE Docs не может определить хост клиента, поэтому при этой настройке нельзя использовать DNS-имя в поле address. Рекомендуется оставить для этой настройки значение по умолчанию и выполнять проверки на уровне прокси-сервера.