Последняя версия DataExpress 26.10.11

Изображение Скачать | Изображение Что нового? | Демо

Безопасность DxWebServer

Любые вопросы, связанные с веб-сервером DataExpress Web Server.
Аватара пользователя
avk
Интересующийся
Сообщения: 112
Зарегистрирован: 29 окт 2025, 18:24
Благодарил (а): 3 раза
Поблагодарили: 42 раза

Безопасность DxWebServer

Сообщение avk » 05 янв 2026, 19:26

Функции запуска приложений и работы с файлами в скриптах DxWebServer фактически представляют уязвимость для сервера (включая его полный контроль). Эксплойт прилагать не буду, но, проверил теорию - работает.

Аватара пользователя
admin
Разработчик
Сообщения: 8038
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 292 раза
Поблагодарили: 1918 раз

Безопасность DxWebServer

Сообщение admin » 05 янв 2026, 20:58

Что вы предлагаете? Можете прислать в личку пример эксплойта?

Аватара пользователя
avk
Интересующийся
Сообщения: 112
Зарегистрирован: 29 окт 2025, 18:24
Благодарил (а): 3 раза
Поблагодарили: 42 раза

Безопасность DxWebServer

Сообщение avk » 05 янв 2026, 21:43

Написал в личку.
admin писал(а):Что вы предлагаете?

Не пускать веб-сервер и базу в открытый интернет. По крайней мере до какой-то локализации проблемы или особого рецепта развертывания (в изолированной среде, например).
Сам метод вскрытия под ногами не валяется, нужны некоторые навыки, но мало ли.

Аватара пользователя
cordek
Эксперт
Сообщения: 2563
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 754 раза
Поблагодарили: 612 раз
Контактная информация:

Безопасность DxWebServer

Сообщение cordek » 06 янв 2026, 23:43

Так скрипты только разработчик может написать
балуюсь разработкой LIMS JDX
cordek {/а} yandex/ru

Аватара пользователя
avk
Интересующийся
Сообщения: 112
Зарегистрирован: 29 окт 2025, 18:24
Благодарил (а): 3 раза
Поблагодарили: 42 раза

Безопасность DxWebServer

Сообщение avk » 08 янв 2026, 00:02

cordek писал(а):Так скрипты только разработчик может написать

"Железный" аргумент.

Аватара пользователя
admin
Разработчик
Сообщения: 8038
Зарегистрирован: 14 мар 2016, 11:32
Откуда: Ленинградская
Благодарил (а): 292 раза
Поблагодарили: 1918 раз

Безопасность DxWebServer

Сообщение admin » 08 янв 2026, 11:08

Можно ограничить права доступа для веб-сервера, чтобы случайно или преднамеренно не повредить систему. Для этого необходимо создать пользователя с ограниченными правами и запускать сервер от его имени.

Создаем нового пользователя:

Код: Выделить всё

# useradd dxweb
# passwd dxweb

В конфигурационный файл сервиса добавляем параметр User:
[Unit]
Description=DataExpress Web Server
After=network.target

[Service]
Type=simple
User=dxweb
ExecStart=/opt/dxwebsrv_linux64/dxwebsrv -r
RemainAfterExit=yes
TimeoutSec=25
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target


Убедитесь, что только у владельца есть права на запись.

Код: Выделить всё

# ls -l
-rw-r--r-- 1 root  root   11572 May 14  2024 LICENSE.txt
-rw-r--r-- 1 root  root    1619 May 14  2024 NOTICE.txt
drwxr-xr-x 3 dxweb root    4096 Jan  8 10:38 cache
-rwxr-xr-x 1 root  root 8707536 Jan  8 10:37 dxwebsrv
-rw-r--r-- 1 root  root     201 Aug 25  2024 dxwebsrv.service
-rw-r--r-- 1 root  root    8317 Apr  5  2024 except.dic
-rw-r--r-- 1 root  root    1150 May  1  2022 favicon.ico
drwxr-xr-x 2 root  root    4096 Jan  6 22:21 fb5
drwxr-xr-x 2 root  root    4096 Jan  6 22:21 html
drwxr-xr-x 2 root  root    4096 Jan  6 22:21 img
drwxr-xr-x 2 root  root    4096 Jan  6 22:21 languages
-rw-r--r-- 1 root  root 4226888 Apr 10  2024 libPadeg.so
-rw-r--r-- 1 root  root  862048 Jun 19  2019 libfbclient.so
drwxr-xr-x 2 dxweb root    4096 Jan  6 22:25 logs
-rw-r--r-- 1 root  root       0 Jan  8 10:55 out.txt
drwxr-xr-x 2 root  root    4096 Jan  7 11:20 templates

Каталоги cache и logs должны быть доступны для записи. Сделать это можно, например, сменив владельца на dxweb:

Код: Выделить всё

# chown dxweb cache
# chown dxweb logs

Перезапускаем сервис:

Код: Выделить всё

# systemctl restart dxwebsrv

Если у вас в системе нет разрешения на запись для прочих пользователей, то скрипты веб-сервера могут записывать и создавать файлы только в каталогах cache и logs.

Чтобы запретить чтение из важных каталогов, можно воспользоваться списками контроля доступа ACL. Например:

Код: Выделить всё

# apt-get install acl
# setfacl -m u:dxweb--- /etc


Вернуться в «Общие вопросы»