Подробный гайд: Изоляция и отсутствие системных зависимостей 1С:Предприятие в Astra Linux
Концепция «отсутствия системных зависимостей» при работе с 1С в Linux означает такую архитектуру развертывания, при которой компоненты 1С (клиент или сервер) не опираются на системные библиотеки хостовой ОС, и, в свою очередь, не требуют изменения системных пакетов для своей работы.
Это критически важно, потому что 1С очень чувствительна к версиям библиотек (особенно webkit2gtk, glibc, libgsf). Стандартная установка .deb пакета 1С через apt часто приводит к «аду зависимостей», когда обновление Astra Linux ломает 1С, или наоборот — 1С требует понижения версий системных пакетов.
Ниже представлены три уровня обеспечения независимости от системных библиотек, от наиболее радикального к компромиссному, с учетом специфики Astra Linux.
Уровень 1. Полная изоляция: Контейнеризация (Docker / LXC)
Это единственный способ достичь 100% отсутствия системных зависимостей. 1С работает внутри контейнера со своей собственной файловой системой и набором библиотек.
1. Сервер 1С в Docker (Рекомендуется)
Сервер 1С не имеет графического интерфейса, поэтому его контейнеризация проходит бесшовно.
1. Установите Docker в Astra Linux:
sudo apt update && sudo apt install docker.io docker-compose
2. Создайте docker-compose.yml для связки 1С + PostgreSQL:
version: '3.8'
services:
db:
image: postgres:13
environment:
POSTGRES_PASSWORD: strong_password
volumes:
- pg_data:/var/lib/postgresql/data
server1c:
image: your_registry/1c-server:8.3.24 # Используйте официальный образ от 1С или Gisman/sber
ports:
- "1540-1541:1540-1541"
depends_on:
- db
environment:
SRV1C_VERSION: 8.3.24.1548
POSTGRES_PASSWORD: strong_password
volumes:
pg_data:
3. Запуск:
docker-compose up -d. Система Astra Linux не затрагивается вообще.
2. Клиент 1С в Docker (С пробросом GUI)
Для запуска графического клиента 1С в контейнере без установки библиотек в хост, используется проброс X11 сокета.
1. Разрешите локальное подключение к X-серверу:
xhost +local:docker
2. Запустите контейнер с клиентом 1С (образ должен содержать webkit2gtk и сам клиент):
docker run -d \
--name 1c-client \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
--device /dev/dri \
your_registry/1c-client:latest
- Создайте алиас или
.desktopфайл для быстрого запуска.
Уровень 2. Бандлинг библиотек: Flatpak и AppImage
Если использование Docker для графического клиента кажется избыточным, сообщество Linux-пользователей 1С использует форматы Flatpak и AppImage. Они упаковывают клиент 1С вместе с нужной версией webkit2gtk и другими зависимостями в единый файл.
Использование Flatpak (Неофициальные сборки)
Существуют проверенные сообществом репозитории, которые собирают клиент 1С в Flatpak.
1. Установите Flatpak в Astra Linux:
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
2. Добавьте специализированный репозиторий с 1С (например, от сообщества ru.basez или аналогичные, публикуемые на GitLab/GitHub):
# Пример добавления репозитория (адрес может меняться, проверяйте актуальность)
flatpak remote-add --if-not-exists 1c-flatpak https://...
flatpak install 1c-flatpak ru.1c.1CEnterprise
Плюс:
Клиент запускается в песочнице, использует свои библиотеки, не ломает систему.
Минус:
Требует настройки проброса папок (через Flatseal), чтобы клиент видел локальные файлы для сохранения отчетов.
Уровень 3. Нативная установка с «заморозкой» зависимостей
Если политика безопасности требует установки только нативных .deb пакетов (например, из репозитория 1С), необходимо минимизировать риски.
Шаг 1. Установка зависимостей ДО установки 1С
Не устанавливайте пакет 1С напрямую, если он тянет конфликтующие версии. Сначала установите требуемые версии библиотек вручную из бэкпортов или сторонних репозиториев, а затем ставьте 1С.
Шаг 2. Использование apt-mark hold (Заморозка)
Чтобы обновление Astra Linux не обновило критичные для 1С библиотеки и не сломало её, заморозьте их версии:
sudo apt-mark hold webkit2gtk-4.0 libwebkit2gtk-4.0-37 libgsf-1-114 libc6
Важно:
Это снижает безопасность системы, так как уязвимости в этих библиотеках не будут патчиться автоматически. Используйте только на выделенных рабочих станциях.
Шаг 3. Настройка шрифтов и локалей
1С в Linux критична к шрифтам (иначе «плывет» интерфейс и отчеты).
sudo apt install fonts-terminus fonts-dejavu-core msttcorefonts
Обязательно сгенерируйте локаль ru_RU.UTF-8:
sudo dpkg-reconfigure locales
Специфика Astra Linux (Критически важно)
Astra Linux (особенно редакции «Смоленск» и «Воронеж») имеет встроенные механизмы защиты, которые могут блокировать работу 1С.
1. Мандатное управление доступом (Parsec / МУС)
Процессы 1С (ragent, rmngr, 1cv8) должны иметь правильные мандатные уровни.
- Если 1С работает с данными, имеющими гриф секретности, процессу нужно назначить соответствующий уровень целостности и конфиденциальности.
- Для обычной работы в «Орле» или «Смоленске» без гостайны, убедитесь, что в утилите
pdpl(Управление мандатным доступом) для пользователя, запускающего 1С, установлен уровень, позволяющий чтение/запись в рабочие директории.
* Решение:
Добавьте исполняемые файлы 1С в исключения или назначьте им метку clear (если это допустимо политикой безопасности):
sudo parsec-modify -l clear /opt/1C/v8.3/x86_64/1cv8
2. Криптопровайдеры и ГОСТ-шифрование
Если 1С подключается к серверу по защищенному каналу с использованием российских алгоритмов (ГОСТ), системного OpenSSL недостаточно.
- Необходимо установить КриптоПро CSP (или ViPNet CSP).
- Настроить прокидывание криптопровайдера в среду 1С (через переменные окружения или настройку
cryptopro-csp). - Установить пакет
lsb-cprov(инструменты для работы с контейнерами ключей).
3. Сетевые порты и межсетевой экран (iptables/ufw)
Astra Linux по умолчанию может блокировать порты.
Для стабильной работы откройте порты 1С:
# Для сервера 1С
sudo iptables -A INPUT -p tcp --dport 1540:1541 -j ACCEPT
# Для веб-сервера (если используется Apache/Nginx как фронтенд для 1С)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Нюансы для аппаратной части (AMD Athlon II X4)
1. Отказ от тяжелых графических тем:
В настройках клиента 1С или в переменных окружения Linux отключите аппаратное ускорение WebKit, если наблюдаются артефакты или вылеты:
export WEBKIT_DISABLE_COMPOSITING_MODE=1
export LIBGL_ALWAYS_SOFTWARE=1
(Это снизит нагрузку на видеоадаптер и предотвратит конфликты драйверов, хотя и немного увеличит нагрузку на CPU).
2. Оперативная память:
Убедитесь, что подкачка (Swap) настроена корректно. Клиент 1С в Linux потребляет больше памяти, чем в Windows. Для стабильности рекомендуется иметь Swap-файл размером не менее 4-8 ГБ.
Резюме: Какой путь выбрать?
1. Идеальный вариант (100% отсутствие зависимостей):
Развернуть сервер 1С в Docker, а для клиента использовать Flatpak-сборку или AppImage. Это полностью изолирует 1С от обновлений Astra Linux.
2. Компромиссный вариант (Нативная установка):
Установка официальных .deb пакетов 1С с предварительной ручной установкой зависимостей и жесткой «заморозкой» (apt-mark hold) версий webkit2gtk и glibc.
3. Обязательные шаги для Astra Linux: Настройка меток Parsec для процессов 1С, установка ГОСТ-шрифтов и настройка криптопровайдера (если требуется шифрование трафика).
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.