В современных реалиях безопасности системные администраторы часто полностью изолируют серверы приложений и баз данных от глобальной сети Интернет. Это стандартная практика для защиты конфиденциальных данных от внешних угроз. Однако пользователи «1С:Предприятия» при такой конфигурации сталкиваются с серьезной проблемой: перестают работать критически важные сервисы, такие как 1С-ЭДО, 1С:Контрагент, автозаполнение реквизитов, загрузка курсов валют и классификаторов. При попытке их использования программа выдает ошибку о невозможности установить соединение с сервером.
В этой статье мы подробно разберем, как решить эту проблему без нарушения политик безопасности вашей организации. Мы рассмотрим стандартные настройки самой платформы 1С, тонкости конфигурации криптографии на клиентах, а также точечную настройку прокси-сервера для платформы 1С.
В клиент-серверном варианте работы системы «1С:Предприятие» большинство регламентных заданий и вызовов внешних веб-сервисов (API) по умолчанию выполняются на стороне сервера приложений (на рабочем процессе rphost). Если сервер физически или программно отрезан от внешней сети, любые попытки обратиться к серверам обновлений или операторам электронного документооборота завершатся ошибкой тайм-аута или сетевой недоступности.
Давайте разберем по шагам четыре эффективных сценария решения этой задачи, начиная от самых простых и безопасных (на уровне интерфейса 1С) до системных настроек маршрутизации трафика.
Если интернет есть на рабочих компьютерах бухгалтеров (клиентах), самым простым и логичным шагом будет перенаправление запросов интернет-поддержки в обход сервера приложений. В современных типовых конфигурациях 1С, построенных на базе БСП (Библиотеки стандартных подсистем), для этого предусмотрена штатная переключалка.
Давайте выполним настройку по шагам:
Результат: Теперь все вызовы к Порталу 1С (проверка контрагентов, загрузка классификаторов банков и адресов, проверка ИТС) будут отправляться напрямую с компьютера текущего пользователя, задействуя его локальное интернет-подключение.
Для корректной работы сервиса «1С-ЭДО» требуется не просто доступ к интернету, но и работа с криптографическим провайдером (например, КриптоПро CSP) для подписания документов электронной подписью. Если сервер изолирован, он не сможет проверить статус сертификатов в списках отзыва (CRL) и отправить пакет оператору.
Для решения этой проблемы перенесем всю криптографическую нагрузку на рабочие места пользователей:
При такой настройке закрытый ключ подписи (токен или флешка) и сама программа шифрования должны быть установлены локально на ПК бухгалтера, который непосредственно подписывает документы. Все транзакции отправки и получения документов ЭДО будут проходить через интернет-канал клиентской машины.
Что делать, если некоторые операции (например, регламентный ночной обмен данными с другими базами или автоматическое обновление конфигурации) обязательно должны выполняться сервером в фоновом режиме? В таком случае администратору необходимо предоставить серверу точечный доступ в интернет.
Чтобы не открывать интернет для всей операционной системы Windows Server или Linux, на которых крутится служба 1С, мы можем настроить прокси-сервер исключительно для процессов платформы «1С:Предприятие». Для этого используется служебный конфигурационный файл inetcfg.xml.
Рассмотрим процесс настройки подробнее:
C:\Program Files\1cv8\conf\/opt/1C/v8.3/x86_64/conf/inetcfg.xml, создайте его обычным текстовым редактором (например, Notepad++). Если файл уже существует, откройте его для редактирования.
<?xml version="1.0" encoding="utf-8"?>
<InternetProxy protocols="http=192.168.1.100:3128 https=192.168.1.100:3128"
bypassOnLocal="true"
user="proxy_user"
password="proxy_password"
bypassOnAddresses="*.local_domain"/>
Разберем параметры этой конфигурации:
protocols — указывает IP-адрес и порт вашего локального прокси-сервера для протоколов HTTP и HTTPS.bypassOnLocal — значение true указывает платформе обращаться к локальным адресам сети напрямую, минуя прокси.user и password — учетные данные для авторизации на вашем прокси-сервере (если авторизация включена).bypassOnAddresses — маска локальных адресов (например, адрес сервера баз данных SQL или веб-сервисов внутренней сети), запросы к которым не нужно слать через прокси.После сохранения файла служба 1С (а именно процессы rphost) начнет направлять внешние сетевые запросы строго через указанный прокси-сервер, игнорируя общие системные настройки сети сервера.
Если системный администратор согласен открыть прямой доступ в интернет для сервера приложений 1С, но требует жестко ограничить список доступных ресурсов, не стоит открывать доступ по конкретным IP-адресам. IP-адреса компании «1С» динамически меняются из-за использования облачных технологий балансировки нагрузки и систем защиты от DDoS-атак.
Правильным решением будет создание «белого списка» на уровне брандмауэра (файрвола) или прокси-сервера на основе доменных имен. Предоставьте вашему системному администратору следующий перечень доменов для добавления в исключения:
login.1c.ru для авторизации, webits.1c.ru, downloads.v8.1c.ru для загрузки обновлений конфигураций и классификаторов).Если количество пользователей вашей базы не превышает 5–10 человек, а администратор наотрез отказывается от настройки сетевых шлюзов, прокси и изменений конфигурационных файлов, вы можете временно или постоянно рассмотреть переход на файловый режим работы.
Для этого база переносится из SQL-сервера в общий сетевой ресурс (сетевую папку). Подключение пользователей к базе настраивается через указание сетевого пути к этой папке. Пример строки подключения в списке баз:
File="\\server\baza1c";
В файловом режиме работы вся бизнес-логика, включая обращение к веб-сервисам и криптографию, по умолчанию исполняется на стороне локального компьютера пользователя. Следовательно, если у пользователя на ПК есть доступ в интернет, все функции интернет-поддержки и ЭДО будут работать без каких-либо дополнительных настроек на сервере.
Мы проанализировали различные варианты обхода сетевых ограничений на сервере приложений 1С. Наиболее безопасным и рекомендуемым подходом является перенос тяжелых операций и сетевых запросов интернет-поддержки на компьютеры пользователей средствами самой конфигурации 1С. В случаях, когда необходимо автоматизировать процессы на самом сервере, используйте точечную маршрутизацию платформы через файл inetcfg.xml в связке с локальным прокси-сервером.