Безопасность обмена данными между клиентскими рабочими местами и сервером 1С:Предприятие является критически важным аспектом современной инфраструктуры предприятия. Переход на защищенный протокол HTTPS не только шифрует трафик, предотвращая перехват логинов и паролей, но и повышает доверие пользователей к системе. Однако процесс установки и привязки цифрового сертификата к службе веб-сервера или непосредственно к кластеру серверов часто вызывает вопросы у администраторов.
В данной статье мы детально разберем процедуру инсталляции сертификата в операционной системе Windows Server и его последующего подключения к платформе 1С:Предприятие. Мы рассмотрим нюансы работы с утилитами командной строки, особенности импорта в личное хранилище и типичные ошибки, с которыми сталкиваются специалисты при настройке безопасного соединения. Правильная конфигурация гарантирует стабильную работу веб-клиента и тонкого клиента без предупреждений браузера о небезопасном соединении.
Подготовка файлов сертификата и ключей
Перед началом процедуры установки необходимо убедиться, что у вас на руках есть полный пакет файлов, выданный удостоверяющим центром. Обычно это файл самого сертификата с расширением .crt или .cer, а также файл закрытого ключа .key. В некоторых случаях, особенно при работе с отечественными УЦ, вы можете получить уже сформированный контейнер в формате .pfx или .p12, который содержит оба компонента.
Если файлы разделены, их потребуется объединить или импортировать последовательно, соблюдая строгий порядок. Закрытый ключ является секретным элементом, и его утеря сделает сертификат бесполезным, поэтому храните исходные файлы в защищенном месте до завершения настройки. Для работы с сертификатом в среде Windows вам также может потребоваться цепочка доверия (промежуточные сертификаты), которую УЦ обычно предоставляет отдельным архивом.
⚠️ Внимание: Никогда не передавайте файл закрытого ключа третьим лицам и не загружайте его на общедоступные ресурсы. Компрометация ключа позволит злоумышленникам расшифровывать ваш трафик или выдавать себя за ваш сервер.
Убедитесь, что имя сервера в сертификате точно совпадает с тем адресом, по которому пользователи будут обращаться к базе данных. Если в сертификате указано server.local, а пользователи заходят по IP-адресу или другому доменному имени, браузер будет выдавать ошибку безопасности, игнорируя все ваши усилия по настройке шифрования.
Импорт сертификата в хранилище Windows
Операционная система Windows использует централизованное хранилище сертификатов, к которому обращаются службы IIS и сервер 1С. Для импорта удобнее всего использовать оснастку MMC или утилиту командной строки certutil. Откройте консоль управления сертификатами, выполнив команду certmgr.msc для текущего пользователя или certlm.msc для локального компьютера. Поскольку сервер 1С работает как служба, импорт необходимо производить именно в хранилище локального компьютера.
В открывшемся окне перейдите в раздел "Личное" (Personal) -> "Сертификаты". Через контекстное меню выберите пункт "Все задачи" и далее "Импортировать". Мастер импорта запустится, и вам потребуется указать путь к файлу .pfx или .cer. Если вы импортируете файл без встроенного ключа, система запросит путь к отдельному файлу ключа.
- 🔑 Обязательно установите галочку "Пометить этот ключ как экспортируемый", если в будущем планируете переносить сертификат на другой сервер.
- 🛡️ Выберите хранилище "Личное" для размещения вашего сертификата, чтобы службы могли его корректно обнаружить.
- 📂 При импорте промежуточных сертификатов размещайте их в хранилище "Промежуточные центры сертификации".
После завершения работы мастера проверьте наличие сертификата в списке. Двойной клик по нему должен открыть карточку, где на вкладке "Общие" будет отображаться сообщение "Этот сертификат действителен". Если же вы видите предупреждение о том, что цепочка сертификатов не может быть построена, значит, вы забыли установить промежуточные сертификаты УЦ.
Для быстрой проверки импорта через командную строку используйте команду certutil -store my. Она выведет список всех сертификатов в личном хранилище с их отпечатками и датами истечения.
Настройка веб-сервера IIS для работы с 1С
Чаще всего публикация баз 1С:Предприятие осуществляется через веб-сервер Microsoft IIS. Чтобы активировать HTTPS, необходимо привязать установленный сертификат к конкретному сайту в диспетчере IIS. Откройте консоль управления IIS, выберите нужный сайт в дереве слева и в правой панели действий нажмите на пункт "Привязки" (Bindings).
В окне привязок необходимо добавить новую строку или отредактировать существующую. Тип должен быть установлен в https, порт обычно оставляют стандартным 443. В выпадающем списке "SSL-сертификат" выберите тот сертификат, который вы ранее импортировали в хранилище. Если список пуст или ваш сертификат не отображается, проверьте наличие у него связанного закрытого ключа.
appcmd set site /site.name:"1C_Base" /+bindings.[protocol='https',bindingInformation='*:443:']
После применения настроек перезапустите сайт или весь пул приложений, чтобы изменения вступили в силу. Проверка доступности осуществляется путем обращения к адресу https://имя_сервера/база_1с. Браузер должен установить защищенное соединение без предупреждений, при условии, что корневой сертификат УЦ установлен на клиентских машинах.
☑️ Проверка настройки IIS
Прямая настройка службы сервера 1С:Предприятие
В современных версиях платформы существует возможность использования HTTPS без промежуточного веб-сервера IIS, напрямую через службу сервера 1С. Это упрощает архитектуру, но требует специфической настройки через утилиту rasc или консоль администрирования кластера. Вам потребуется указать путь к файлу сертификата и ключа в параметрах кластера.
Для настройки через командную строку используется утилита ras (Remote Administration Server). Команда требует указания имени кластера, порта и параметров SSL. Обратите внимание, что для работы в режиме прямого HTTPS файлы сертификата часто должны быть в формате PEM, а не DER, что может потребовать конвертации.
| Параметр | Описание | Пример значения |
|---|---|---|
--https-port |
Порт для защищенного соединения | 1541 |
--certificate |
Путь к файлу открытого ключа | C:\certs\server.crt |
--private-key |
Путь к файлу закрытого ключа | C:\certs\server.key |
--ssl-level |
Уровень поддержки протоколов | TLS1.2 |
Если вы используете графическую консоль администрирования, зайдите в свойства кластера серверов. На вкладке, отвечающей за сетевые взаимодействия или безопасность, должны присутствовать поля для загрузки файлов сертификата. После сохранения настроек службу 1С:Предприятие 8.3 Сервер необходимо перезапустить.
⚠️ Внимание: При обновлении версии платформы 1С параметры запуска службы могут сбрасываться на значения по умолчанию. Всегда проверяйте настройки SSL после планового обновления серверного ПО.
Конвертация форматов сертификатов
Если утилита ras требует формат PEM, а у вас есть только DER (crt), используйте команду openssl x509 -inform der -in certificate.cer -out certificate.pem для конвертации.
Диагностика и устранение ошибок подключения
Наиболее частой проблемой после установки является ошибка "Не удалось установить соединение с сервером" или сообщения браузера о том, что соединение не защищено. В первую очередь необходимо проверить логи событий Windows. Откройте "Просмотр событий" (Event Viewer) и перейдите в журналы приложений, найдя источники 1C:Enterprise или WAS (для IIS).
Часто проблема кроется в правах доступа. Учетная запись, от имени которой запущена служба сервера 1С или пул приложений IIS, должна иметь права на чтение закрытого ключа сертификата. По умолчанию эти права могут отсутствовать. Чтобы проверить и изменить их, откройте оснастку управления сертификатами, найдите ваш сертификат, кликните правой кнопкой мыши -> "Все задачи" -> "Управление закрытыми ключами".
- 🔍 Добавьте пользователя
IIS_IUSRSили конкретного пользователя службы 1С в список доступа. - ✅ Установите разрешение "Чтение" (Read) для добавленного пользователя.
- 🚫 Убедитесь, что в списке нет явных запретов (Deny) для данной учетной записи.
Также стоит проверить, не блокирует ли соединение встроенный брандмауэр Windows или сторонний антивирус. Порт, выбранный для HTTPS (обычно 443 или 1541), должен быть открыт для входящих подключений в профиле сети, который используется сервером.
90% ошибок подключения по HTTPS связаны с отсутствием прав на чтение закрытого ключа у службы или блокировкой порта брандмауэром.
Обновление и продление срока действия сертификата
Сертификаты безопасности имеют ограниченный срок жизни, обычно составляющий один год. Заблаговременное продление позволит избежать простоев в работе предприятия. Процедура обновления аналогична первоначальной установке: вы получаете новый файл от УЦ и импортируете его, заменяя старый.
Важно не удалять старый сертификат до момента успешной проверки работы нового. В IIS можно привязать новый сертификат к сайту, не удаляя старую привязку, а просто изменив выбор в выпадающем списке. После проверки работоспособности старую привязку можно удалить.
Автоматизация процесса продления возможна при использовании скриптов PowerShell, которые могут запрашивать новые сертификаты через протокол ACME (если ваш УЦ его поддерживает) и автоматически применять их к конфигурации сервера. Это снижает влияние человеческого фактора и риск забывчивости администратора.
⚠️ Внимание: Сроки действия сертификатов и требования к алгоритмам шифрования могут меняться. Следите за уведомлениями от вашего удостоверяющего центра и рекомендациями регуляторов по криптографической стойкости.
Часто задаваемые вопросы (FAQ)
Можно ли использовать самоподписанный сертификат для сервера 1С?
Технически это возможно, и сервер будет работать по HTTPS. Однако все клиентские компьютеры будут выдавать предупреждение о недоверенном издателе. Чтобы избежать этого, вам придется вручную установить корневой самоподписанный сертификат в хранилище "Доверенные корневые центры сертификации" на каждом рабочем месте пользователей, что сложно поддерживать в большой организации.
Какой порт использовать для HTTPS, если 443 занят?
Вы можете использовать любой свободный порт, например, 1443 или 1541. Однако в этом случае пользователям придется явно указывать порт в адресной строке браузера (например, https://server:1443/base). Стандартный порт 443 предпочтительнее для удобства.
Нужно ли перезагружать сервер после установки сертификата?
Полная перезагрузка операционной системы обычно не требуется. Достаточно перезапустить службу веб-сервера (IIS) или службу сервера 1С:Предприятие, чтобы новые настройки безопасности были подхвачены процессами.
Что делать, если сертификат выпущен на одно имя, а сервер доступен по другому?
В этом случае соединение не будет считаться безопасным. Вам необходимо запросить у удостоверяющего центра выпуск нового сертификата (SAN-сертификата), который будет включать в себя все необходимые доменные имена и IP-адреса, используемые для доступа к базе.