Терминальный сервер под 1С 8.3: роли RDS, политики, защита и клиент 1С
Содержание
Чтобы установить RDP для 1С, поставьте на Windows Server роли «Узел сеансов удаленных рабочих столов» и «Лицензирование удаленных рабочих столов», активируйте сервер лицензий RDS, задайте режим лицензирования в групповых политиках, а затем установите платформу 1С в режиме установки (change user /install). Пользователи подключаются через mstsc и работают с 1С прямо на сервере.
Главный плюс терминального сервера для 1С — база и клиент находятся рядом. Файловая база лежит на локальном диске сервера, по сети ходит только картинка экрана. Поэтому 1С на терминале работает быстро даже через слабый канал из филиала, а файловая база не страдает от сетевых блокировок.
Подготовка сервера: редакция Windows, домен и ресурсы
До установки ролей решите три вопроса. От них зависит, какой путь настройки вам подойдёт.
Редакция Windows. Нужна Windows Server Standard или Datacenter версии 2016 и новее. Редакция Essentials не годится: роль узла сеансов в ней не предусмотрена. Без ролей RDS обычная Windows Server пускает одновременно только двух администраторов, и это не для работы бухгалтерии.
Домен или рабочая группа.
- 🏢 Домен Active Directory — полноценный мастер развёртывания RDS, коллекции, публикация RemoteApp, лицензии «на пользователя» с учётом в AD.
- 🖥️ Рабочая группа (один сервер, 5–15 человек) — роли ставятся по отдельности, всё остальное настраивается политиками. Мастер «Быстрый запуск» в рабочей группе не работает : он требует домен.
Ресурсы. Ориентиры для сервера, где работает только 1С (тонкий клиент, типовые конфигурации):
| Пользователей | ЦП | ОЗУ | Диск |
|---|---|---|---|
| до 5 | 4 ядра | 16 ГБ | SSD |
| 10–15 | 6–8 ядер | 32 ГБ | SSD/NVMe |
| 20–30 | 12+ ядер | 64 ГБ | NVMe |
Цифры примерные. Один сеанс тонкого клиента обычно занимает 200–500 МБ памяти, толстый клиент и тяжёлые отчёты — заметно больше. Если на этом же сервере крутится сервер 1С или СУБД, закладывайте ресурсы под них отдельно.
Задайте серверу статический IP-адрес и понятное имя до установки ролей. Переименование сервера после развёртывания RDS ломает настройки служб.
Установка ролей удаленных рабочих столов на сервере
В домене: мастер развёртывания
- Откройте «Диспетчер серверов» →
Управление → Добавить роли и компоненты. - Выберите тип установки «Установка служб удаленных рабочих столов».
- Тип развёртывания: «Быстрый запуск» для одного сервера или «Стандартное развёртывание», если ролей будет несколько.
- Сценарий: «Развёртывание рабочих столов на основе сеансов».
- Мастер поставит посредника подключений, веб-доступ и узел сеансов. Сервер перезагрузится.
- После перезагрузки в «Диспетчере серверов» откройте раздел «Службы удаленных рабочих столов» и добавьте сервер лицензирования на схеме развёртывания.
В рабочей группе: роли по отдельности
Добавить роли и компоненты→ «Установка ролей или компонентов».- Отметьте роль «Службы удаленных рабочих столов».
- В списке служб ролей выберите «Узел сеансов удаленных рабочих столов» и «Лицензирование удаленных рабочих столов».
- Установите и перезагрузите сервер.
То же самое одной командой PowerShell от имени администратора:
Install-WindowsFeature -Name RDS-RD-Server, RDS-Licensing -IncludeManagementTools -Restart
Активация сервера лицензий RDS
Без активации сервер работает в льготном периоде 120 дней, затем перестаёт пускать пользователей.
- Запустите
licmgr.exe(«Диспетчер лицензирования удаленных рабочих столов»). - Щёлкните правой кнопкой по своему серверу → «Активировать сервер».
- Пройдите мастер, затем в том же меню выберите «Установить лицензии» и введите данные пакета клиентских лицензий (RDS CAL).
- Проверьте результат в
lsdiag.msc— «Средство диагностики лицензирования».
Клиентские лицензии RDS и лицензии 1С — разные вещи. Первые разрешают подключиться к Windows, вторые — запустить 1С. Нужны обе.
Групповые политики для сеансов 1С
В рабочей группе настраивайте через gpedit.msc, в домене — через объект групповой политики, привязанный к подразделению с терминальным сервером. Все нужные параметры лежат по пути:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Узел сеансов удаленных рабочих столов
Лицензирование
В подпапке «Лицензирование»:
- «Использовать указанные серверы лицензирования удаленных рабочих столов» — впишите имя своего сервера.
- «Задать режим лицензирования удаленных рабочих столов» — «На устройство» или «На пользователя», строго как куплены CAL.
В рабочей группе лицензии «на пользователя» не учитываются: без Active Directory их выдачу некому отслеживать. Для сервера без домена обычно берут лицензии «на устройство».
Ограничения сеансов
Это важнее для 1С, чем кажется. Пользователь закрыл окно RDP крестиком — сеанс остался висеть, 1С внутри него продолжает занимать лицензию и держать базу.
В подпапке «Ограничение сеансов по времени» задайте:
| Параметр | Рекомендуемое значение |
|---|---|
| Задать ограничение по времени для отключённых сеансов | 1–2 часа |
| Задать ограничение по времени для активных, но бездействующих сеансов | 2–4 часа |
| Завершать сеанс при достижении ограничения времени | Включено |
В подпапке «Подключения» включите «Ограничить пользователям служб удаленных рабочих столов одним сеансом». Иначе один человек из двух мест откроет два сеанса и займёт две лицензии 1С.
Перенаправление устройств
В подпапке «Перенаправление устройств и ресурсов» решите, что пускать в сеанс:
- 🖨️ Принтеры — оставьте включёнными и в разделе «Перенаправление принтеров» включите «Использовать сначала драйвер принтера Easy Print». Тогда на сервер не придётся ставить драйверы всех домашних принтеров.
- 💾 Диски — нужны, если бухгалтер грузит выписки из банка с локального компьютера. Если нет, запретите: это меньше риск утечки.
- 📋 Буфер обмена — обычно нужен для работы с Excel.
Примените политики командой gpupdate /force. Пользователям нужно переподключиться.
Сеть и защита RDP-подключения
RDP по умолчанию слушает TCP и UDP порт 3389. Открытый в интернет порт 3389 начинают перебирать боты в первые часы. Для сервера с базами 1С это прямой риск шифровальщика.
Варианты доступа снаружи, от надёжного к рискованному:
| Способ | Когда подходит | Риски |
|---|---|---|
| VPN до офиса, RDP только внутри | Почти всегда | Нужен роутер или сервер VPN |
| Шлюз удаленных рабочих столов (RD Gateway) на 443 | Домен, много внешних пользователей | Нужен сертификат, настройка сложнее |
| Проброс 3389 с белым списком IP | Пара удалённых точек со статическими адресами | Ошибка в списке открывает доступ всем |
| Проброс 3389 на весь интернет | Никогда | Перебор паролей, взлом |
Минимальный набор защиты на самом сервере:
- 🔐 Включите проверку подлинности на уровне сети (NLA):
Свойства системы → Удаленный доступ, флажок «Разрешить подключения только с компьютеров, на которых работает удаленный рабочий стол с проверкой подлинности на уровне сети». - 👥 Добавляйте бухгалтеров в группу «Пользователи удаленного рабочего стола». Права администратора им не нужны.
- 🔒 В
secpol.mscвключите блокировку учётной записи после 5–10 неудачных попыток входа. - 🧱 В брандмауэре Windows ограничьте правило «Удаленный рабочий стол » нужными подсетями.
Смена порта через реестр (HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp, параметр PortNumber) уменьшает шум в журналах, но от целевой атаки не спасает.
Меняя порт или правила брандмауэра удалённо, сначала добавьте разрешающее правило для нового порта. Иначе после перезапуска службы вы потеряете доступ к серверу, а все текущие сеансы пользователей оборвутся. Делайте это вне рабочего времени.
Установка 1С на терминальный сервер
Режим установки
Перед установкой платформы переключите сервер в режим установки программ:
change user /install
Запустите setup.exe из дистрибутива платформы. Затем верните обычный режим:
change user /execute
Состав компонентов зависит от варианта работы:
- 📁 Файловая база на этом же сервере — «1С:Предприятие» (толстый и тонкий клиент).
- 🗄️ Клиент-серверная база — достаточно тонкого клиента. Версия платформы на терминале должна совпадать с версией сервера 1С до последней цифры.
Запретите пользователям самим ставить новые версии платформы. В файле C:\ProgramData\1C\1CEStart\1cestart.cfg добавьте строку AppAutoInstallLastVersion=0. Обновляйте платформу сами, в окно обслуживания.
Общий список баз для всех пользователей
Чтобы не добавлять базы каждому сотруднику вручную, создайте общий файл списка, например C:\1C\bases.v8i. Затем в тот же 1cestart.cfg впишите:
CommonInfoBases=C:\1C\bases.v8i
Базы из этого файла появятся в окне запуска у всех пользователей сервера. Личный список каждого сохранится в его профиле, в %APPDATA%\1C\1CEStart\ibases.v8i.
Лицензии 1С в терминале
Каждый сеанс 1С на терминальном сервере занимает отдельную клиентскую лицензию. Однопользовательский USB-ключ, вставленный в сервер, терминальные сеансы не обслуживает. Подходят:
- программные клиентские лицензии, активированные на терминальном сервере;
- многопользовательский сетевой ключ с менеджером лицензий;
- для клиент-серверной базы — выдача лицензий сервером 1С (флажок в свойствах информационной базы в консоли кластера), тогда клиентские лицензии ставятся на сервер 1С.
Программная лицензия привязывается к параметрам компьютера. Если сервер виртуальный, не меняйте его конфигурацию без нужды: после смены «железа» лицензию придётся восстанавливать.
Публикация 1С как RemoteApp
В домене можно отдать пользователям не весь рабочий стол, а одно окно 1С. В «Диспетчере серверов» откройте коллекцию сеансов → «Программы RemoteApp» → «Опубликовать программы RemoteApp». Публикуйте C:\Program Files\1cv8\common\1cestart.exe, а не исполняемый файл конкретной версии: тогда после обновления платформы ярлыки у пользователей не сломаются.
Подключение пользователей к терминалу
Со стороны сотрудника достаточно встроенного клиента Windows. Нажмите Win+R, введите mstsc, укажите адрес сервера и логин.
Удобнее подготовить готовый файл .rdp. Откройте mstsc, нажмите «Показать параметры» и настройте:
- «Общие» — адрес сервера и имя пользователя.
- «Экран» — для 1С удобен полноэкранный режим. На двух мониторах включите «Использовать все мои мониторы».
- «Локальные ресурсы» → «Подробнее» — отметьте диски, если сотрудник выгружает файлы.
- «Взаимодействие» — для медленного канала выберите тип подключения вручную, чтобы отключить фон и анимацию.
- «Общие» → «Сохранить как» — раздайте файл сотрудникам.
С macOS подключаются через приложение Microsoft Remote Desktop (Windows App), с Linux — через Remmina или FreeRDP.
Диагностика проблем и мониторинг терминального сервера
Список сеансов и их состояние видно в командной строке:
query session
Висящий отключённый сеанс завершают по номеру из списка: logoff 3. Перед этим предупредите пользователя: несохранённый документ в 1С пропадёт.
Где смотреть причины сбоев:
- 📜 Журналы событий:
Журналы приложений и служб → Microsoft → Windows → TerminalServices-LocalSessionManager → Operational— входы, отключения, завершения сеансов. - 📊 «Диспетчер задач» → вкладка «Пользователи» — кто сколько памяти и процессора занимает. Развернув пользователя, видно процессы 1С.
- 📈 «Системный монитор» (
perfmon) — счётчики загрузки процессора, памяти и очереди диска за день.
lsdiag.msc: сервер должен быть активирован, режим лицензирования совпадать с купленными CAL.1cestart.exe, а при странных ошибках интерфейса очистите кеш пользователя в %LOCALAPPDATA%\1C\1cv8 при закрытой 1С.Антивирус на терминальном сервере заслуживает отдельной строки. Проверка каждого обращения к файлу базы 1Cv8.1CD и к временным файлам 1С замедляет работу в разы. Добавьте в исключения каталог с базами и пользовательский кеш 1С, но не отключайте защиту целиком.