Приветствуем вас, коллеги! Часто возникает ситуация, когда необходимо предоставить доступ к базе 1С:Управление нашей фирмой или любой другой конфигурации для сотрудников, работающих удаленно или прямо из офиса клиента. Самое простое и очевидное решение — положить базу на веб-сервер Apache или IIS. Однако оставлять информационную базу открытой для всего интернета — огромный риск безопасности. Настраивать же классический VPN (например, OpenVPN или L2TP) на каждом клиентском ноутбуке долго, неудобно и часто невозможно из-за ограничений прав доступа на стороне клиента.
В этой статье мы подробно разберем, как решить эту проблему безопасности раз и навсегда. Мы рассмотрим современные, надежные и удобные методы защиты опубликованной базы 1С — от настройки защищенного соединения HTTPS до продвинутых технологий вроде mTLS, Cloudflare Tunnel и меш-сетей.
Начнем с классического решения для Windows-инфраструктуры. Использование встроенного веб-сервера IIS (Internet Information Services) совместно с SSL-шифрованием позволяет надежно защитить данные в процессе их передачи от клиента к серверу.
Многие администраторы настраивают самоподписанные сертификаты, но это вызывает постоянные предупреждения безопасности в браузере у пользователей, а также мешает работе тонкого клиента 1С. Чтобы избежать этого, мы рекомендуем использовать бесплатные доверенные сертификаты от центра сертификации Let's Encrypt. Разберем этот процесс по шагам.
IIS через диспетчер серверов Windows Server.IIS и автоматически выпустит для него доверенный SSL-сертификат. Утилита сама создаст задачу в планировщике Windows и будет незаметно продлевать сертификат каждые 90 дней.IIS.После этого доступ к базе будет осуществляться по безопасному протоколу HTTPS. Однако само по себе шифрование HTTPS защищает только от перехвата трафика (атак типа "человек посередине"), но оставляет форму авторизации 1С доступной для всего интернета. Перейдем к методам, которые скрывают саму базу от посторонних глаз.
Отличным решением для защиты веб-сервера 1С (будь то Apache или IIS) является установка дополнительного защитного барьера — реверс-прокси на базе Nginx.
Проанализируем эту схему. Nginx принимает все входящие запросы из интернета, проверяет авторизацию и только в случае успеха перенаправляет трафик на внутренний веб-сервер с 1С. Таким образом, сама платформа 1С полностью скрыта от сканеров портов и уязвимостей.
Для настройки базовой авторизации на уровне Nginx выполним следующие действия. Создадим файл паролей с помощью утилиты htpasswd:
sudo htpasswd -c /etc/nginx/.htpasswd user1
Затем отредактируем конфигурационный файл Nginx, добавив проверку пароля и проксирование запросов во внутренний веб-сервер 1С:
server {
listen 443 ssl;
server_name 1c.yourdomain.ru;
ssl_certificate /etc/letsencrypt/live/1c.yourdomain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/1c.yourdomain.ru/privkey.pem;
location / {
auth_basic "Доступ ограничен. Введите пароль:";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:8080; # Адрес локального веб-сервера с 1С
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
При такой конфигурации злоумышленник или автоматический бот упрется в стандартное окно авторизации браузера. Без ввода логина и пароля от Nginx он даже не узнает, что за этим адресом скрывается база 1С, и не сможет перебирать пароли пользователей 1С.
Выясним, как полностью исключить необходимость ввода дополнительных логинов и паролей на промежуточных этапах, обеспечив при этом максимальный уровень безопасности. В этом нам поможет технология mTLS (Mutual TLS).
При обычном HTTPS клиент проверяет подлинность сервера. При mTLS веб-сервер также требует от клиента предъявить личный SSL-сертификат. Если сертификата нет или он не подписан доверенным удостоверяющим центром (CA) вашей компании, соединение разрывается мгновенно, еще до отправки каких-либо веб-страниц или запросов авторизации.
Рассмотрим, как настроить mTLS на веб-сервере Apache:
.pfx.Apache (httpd.conf или файл виртуального хоста):
<VirtualHost *:443>
ServerName 1c.yourdomain.ru
SSLEngine on
SSLCertificateFile "/etc/ssl/certs/server.crt"
SSLCertificateKeyFile "/etc/ssl/private/server.key"
# Включаем обязательную проверку клиентских сертификатов
SSLCACertificateFile "/etc/ssl/certs/ca.crt"
SSLVerifyClient require
SSLVerifyDepth 1
Alias "/unf" "/var/www/unf/"
<Directory "/var/www/unf/">
DirectorySlash On
Require all granted
SetHandler 1c-application
</Directory>
</VirtualHost>
Благодаря параметру SSLVerifyClient require веб-сервер будет жестко требовать наличие установленного сертификата у пользователя. Любой посторонний человек, попытавшись открыть адрес вашей 1С, получит ошибку соединения еще на этапе SSL-рукопожатия. База будет полностью защищена, а вашему коллеге не придется включать VPN.
Разберем еще один современный и невероятно удобный способ. Что делать, если у вас нет возможности получить статический ("белый") IP-адрес у интернет-провайдера, или вы не хотите открывать порты 80 и 443 на вашем роутере наружу?
Решением является использование бесплатного сервиса Cloudflare Tunnel. Принцип работы следующий:
cloudflared.Для защиты доступа мы можем настроить правила в панели Cloudflare Access (Zero Trust). Мы можем указать, что при попытке открыть адрес нашей 1С пользователь должен сначала пройти проверку — например, ввести одноразовый PIN-код, отправленный на вашу рабочую почту, или авторизоваться через Google/Yandex. Только после успешной проверки пользователя пропустят к вашей локальной 1С. Для команды до 50 человек этот функционал полностью бесплатен.
Если традиционный VPN пугает сложностью настройки маршрутизации, рассмотрим альтернативу в виде современных Mesh-сетей, таких как Tailscale или ZeroTier.
Эти сервисы позволяют объединить сервер 1С и клиентские устройства в единую виртуальную локальную сеть за считанные минуты. Клиент на ноутбуке коллеги работает незаметно в фоновом режиме, автоматически восстанавливает связь при смене сетей и не требует от пользователя никаких действий.
При этом сама база 1С вообще не публикуется в глобальный интернет! Доступ к ней осуществляется по внутреннему IP-адресу сети Tailscale, и подключиться к ней могут только устройства, авторизованные в вашем личном кабинете администратора.
Если вы все же решили опубликовать базу напрямую в интернет, обязательно настройте дополнительные механизмы защиты:
8.3.15, платформа 1С поддерживает авторизацию через внешних провайдеров (например, Яндекс ID, Keycloak). Вы можете связать вход в 1С с корпоративной почтой, где двухфакторная аутентификация (2FA) уже настроена штатными средствами сервиса.Fail2ban и настройте ее на анализ лог-файлов веб-сервера. Если с одного IP-адреса происходит несколько неудачных попыток авторизации подряд, утилита автоматически заблокирует этот IP-адрес на уровне системного брандмауэра (Firewall).В завершение разберем несколько обязательных и простых шагов настройки безопасности любого веб-сервера, о которых часто забывают:
Apache для этого служат директивы:
ServerTokens ProductOnly
ServerSignature Off
Strict-Transport-Security, чтобы браузеры клиентов принудительно использовали только защищенное HTTPS-соединение.Применив один из описанных выше методов (или их комбинацию, например, Nginx в качестве реверс-прокси с сертификатом Let's Encrypt и mTLS), вы получите максимально защищенное, быстрое и удобное решение для работы с вашей 1С:УНФ из любой точки мира без необходимости каждый раз вручную настраивать и запускать VPN-клиенты.