Настройка аутентификации OpenID connect используя Keykloack при подключении к 1С

Введение

Допустим, у вас небольшой рабочий коллектив и вам нужно работать с базами 1С. Одновременно там будет работать 2-3 человека, редко 5. В общем, в этих пределах. Вам надо купить как минимум 5 софтовых лицензий для сотрудников. Но куда их ставить, если у каждого сотрудника свой компьютер, а сервер терминалов поднимать не было в ваших планах.

Во-первых, он денег стоит, во-вторых, его надо настраивать, обслуживать, защищать от угроз извне, если доступ будет по rdp. В общем, на маленьких масштабах это пушкой по воробьям. Чего уж говорить о клиент серверной установке 1С с использованием сервера баз данных mssql или postgresql. Для небольших компаний это перебор как по цене, так и функционалу. Я предлагаю решение значительно проще.

На помощь приходит публикация баз 1С на веб сервере с доступом пользователей через браузер. Лицензии ставятся на один компьютер. На него устанавливается веб сервер, публикуются базы 1С и настраивается доступ. Пользователям достаточно будет передать только ссылку для работы в базах.

Web-браузер пользователя

Рисунок 2 – Схема возможных атак на веб-браузер

Старт работы с корпоративной базой 1С и конфиденциальной информацией
начинается с Web-браузера конечного пользователя. И именно здесь, с точки
зрения мировых экспертов по криптозащите, происходит до 70% перехвата важной
информации, утечка которой влечет многомиллионные убытки.

  • Настройте браузер под себя, запретите доступ к нежелательным
    элементам, таким как камера или микрофон, отслеживание геолокации,
    автозаполнение форм, сохраненные адреса, личные данные, номера
    банковских карт и т.д.
  • Регулярно проводите обновления, выпускаемые разработчиками. Это
    крайне необходимые программные доработки, закрывающие свежие уязвимости
    и дыры в безопасности браузеров.
  • Предельно внимательно относитесь к установке расширений браузера.
    Хоть большинство из них и проходит верификацию производителя (особенно в
    операционной среде MacOS), однако расширения – это отдельные исполняемые
    программы, внедренные в браузер. Они могут выполнять абсолютно любые
    действия с данными во время web-сессии.
  • Следите за теми ресурсами, к которым подключаетесь. Сейчас
    очень распространен фишинг – обманные сайты-ловушки, которые маскируются
    под нужные ресурсы и собирают конфиденциальную личную информацию.
    Используйте антифишинговые расширения либо соответствующие модули
    антивирусной защиты.
  • Обязательно
    контролируйте автоматическое заполнение форм с персональными
    данными

    и отключите в настройках браузера автосохранение паролей для входа в
    корпоративные ресурсы. Рекомендуется все пароли запоминать и вводить
    строго вручную.
Похожее:  МЕДИА.ОНФ

1 Выявление угрозы

Каждая учетная запись пользователя принадлежит к одной или несколькими ролям. Роль – это набор прав. Некоторые права предоставляют возможность копирования информации или выполнения административных действий. Такие права должны быть только у пользователей, которым они необходимы по служебным обязанностям. Например, у администратора базы данных.

Составьте список всех ролей, имеющих права на выполнение административных функций. Затем составьте список пользователей, которые приписаны к этим ролям. Каждый из пользователей, перечисленных в списке сможет выполнять следующие действия:

  • Выгружать информационную базу в файл на диске своего компьютера
  • Назначать права доступа для других пользователей информационной базы

Убедитесь в том, что для каждого пользователя из списка верно следующее:

  • Сотруднику действительно необходимы административные права для выполнения его служебных обязанностей
  • Сотрудник имеет достаточную квалификацию для того, чтобы не причинить непреднамеренный вред системе
  • Сотрудник пользуется вашим доверием

Если в списке оказались пользователи, для которых не выполняется хотя бы одно из этих условий, то они – потенциальный источник угрозы безопасности данных.

На рисунке показано выключение Административных функций для роли «Бухгалтер», используемой пользователем. Административные функции позволяют выгружать базу данных.

1. Windows 10

Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел “Программы и компоненты” (“Programs and Features”) в панели управления (Control panel). Сделать можно это несколькими способами:

  • Нажать сочетание клавиш Win R и в открывшемся окне ввести “appwiz.cpl” и нажать ОК.

  • Открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features).

В окне “Программы и компоненты” (“Programs and Features”) нажмите на кнопку “Включение и отключение компонентов Windows” (“Turn Windows features on or off”).

Когда откроется окно “Компоненты Windows” (“Windows features”) в нем необходимо будет проставить флажки для следующих элементов:

  • Службы IIS

    • Службы интернета

      • Компоненты разработки приложений

        • Расширение ISAPI

        • Фильтры ISAPI

    • Средства управления веб-сайтом

После этого нажимайте на кнопку “OK” и дождитесь завершения выполнения операции. После того как включение компонент будет выполнено, можно переходить к пункту “2. Публикация информационной базы”.

Выпуск самоподписанного сертификата

Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.

Для реальных систем не рекомендуем использовать самоподписанный сертификат.

Для начала процедуры выпуска откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections). После этого нажмите на ссылку “Сертификаты сервера” (“Server Certificates”).

Откроется окно доступных сертификатов сервера (Server Certificates) в котором нужно нажать “Создать самозаверенный сертификат…” (“Create Self-Signed Certificate…”).

В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы лучше явно указывать в качестве значения “Полное имя сертификата” (“Specify a friendly name for the certificate”) адрес сервера, на котором расположен сервер IIS. Как только имя сертификата будет задано нажимайте на кнопку OK и переходите к пункту привязки сертификата.

1 Выявление угрозы

Доступ к информации в режиме 1С:Предприятие определяется ролями (списком прав),  также механизмами, реализованными кодом конфигурации. Для типовых конфигураций 1С это механизм ограничения доступа к данным на уровне записей и полей. Более подробно здесь. Неправильно назначенные права могут привести к несанкционированному доступу к данным.

На рисунке показан пример настройки прав менеджерам по продажам в типовом решении 1С.

Пример настройки прав в отраслевом решении. 

Для проверки наличия угрозы необходимо проделать достаточно большую и кропотливую работу по сверке прав учетных записей пользователей и тех уровней доступа, которые должны иметь сотрудники.

Угрозой является наличие у пользователя прав доступа к той информации, которая не должна быть ему доступна. Серьезность этой угрозы определяется в каждом конкретном случае индивидуально.

3.6 Настройка прав доступа служб MS SQL Server

Безопасность исполнения операций сервера MS SQL Server  в операционной системе определяется его учетными записями. Это учетные записи служб SQL Server, Agent SQL Server и Browser SQL Server для SQL Server 2005. 

Например, SQL Server имеет доступ к исполнению процедуры «xp_cmdshell», которая позволяет работать с командной строкой Windows. Процесс Windows, порожденный процедурой xp_cmdshell, имеет те же права защиты, что и учетная запись службы SQL Server. 

Если учетная запись обладает правами системы или входит в группу Администраторы, то xp_cmdshell возволяет выполнять любые действия в операционной системе сервера СУБД. Если учетная запись входит только в группу Пользователи, возможности xp_cmdshell эквивалентны возможностями простого пользователя.

В SQL Server 2005 функциональность «xp_cmdshell» по умолчанию отключена в целях повышения безопасности. 

 На рисунке показана консоль SQL Server 2005 Surface Area Configuration, управляющая возможностью включения/выключения наиболее «вероятных» целей злоумышленников, в том числе xp_cmdshell.

Для работы 1С:Предприятие 8.1 все указанные в этой консоли функции могут быть выключены. Некоторые системные администраторы наделяют учетную запись службы административными правами «просто, чтобы работало». Чтобы организовать повышенную безопасность, практикуется «Принцип минимальности привилегий» – субъект должен обладать набором минимально необходимых прав для выполнения своих функций.Применительно к службам SQL Server это означает следующее:

  • По возможности запускайте службы от имени учетной записи LocalService
  • Используйте запись NetworkService для служб, которым необходим доступ к сетевым ресурсам
  • Используйте запись LocalSystem для служб, которым необходим доступ к сетевым ресурсам и полный набор прав на локальный компьютер
  • Применяйте повышенные меры безопасности к серверам, на которых запущены службы с правами доменного администратора
На рисунке показан желательный порядок использования привелегий учетной записи службы SQL Server. Чем выше права записи, тем большую язвимость создает служба. 

Учетной записи, от имени которой работают службы сервера, присваиваются следующие пользовательские права и привилегии:

  • Разрешить замену маркера уровню процесса (Act as part of operating system);
  • Разрешить фиксировать страницы в памяти (Lock pages in memory);
  • Разрешить обход перекрестной проверки (Bypass traverse checking);
  • Разрешить входить в качестве сервиса (Log on as service);
  • Разрешить настройку квот памяти для процесса(Increase quotas);
  • Разрешить замену уровня процесса (Replace a process level token);
  • Запретить локальный вход в систему (Deny logon locally);
  • Запретить вход в систему через службы терминалов (Deny log on through Terminal Services).

3.7.2 Включение смешанного режима проверки подлинности после установки с помощью реестра

Предупреждение. При неправильном использовании редактора реестра могут возникнуть серьезные неполадки, требующие переустановки операционной системы. При изменении реестра полагайтесь на свой опыт и знания.

По умолчанию параметр реестра LoginMode имеет значение 1 (проверка подлинности Windows). Чтобы включить смешанный режим, значение этого параметра необходимо изменить на 2.

Место расположения параметра LoginMode зависит от имени, под которым установлен экземпляр MSDE. Если MSDE была установлена с именем по умолчанию, параметр LoginMode находится в следующем разделе реестра:

 HKLMSoftwareMicrosoftMSSqlserverMSSqlServerLoginMode

Если MSDE была установлена под другим именем, параметр LoginMode находится в следующем разделе реестра:

HKLMSoftwareMicrosoftMicrosoft SQL Serverимя_экземпляраMSSQLServerLoginMode

При использовании SQL Server 2005 Express Edition параметр LoginMode находится в следующем разделе реестра:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.4MSSQLServer

Чтобы присвоить параметру LoginMode значение 2, выполните следующие действия.

1. С помощью компонента «Службы» панели управления остановите MSSQLSERVER и другие связанные службы (например, SQLSERVERAgent).

2. Нажмите кнопку Пуск, выберите пункт Выполнить, введите команду regedt32 и нажмите кнопку ОК.

3. Найдите следующий раздел реестра (в соответствии с именем, под которым была установлена MSDE):

HKEY_LOCAL_MACHINESoftwareMicrosoftMSSqlserverMSSqlServer

HKEY_LOCAL_MACHINESoftwareMicrosoftMicrosoft SQL Serverимя_экземпляраMSSQLServer

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL.4MSSQLServer

4. На правой панели окна редактора реестра дважды щелкните параметр LoginMode.

5. В диалоговом окне Изменение параметра DWORD установите для параметра значение 2, выберите вариант Шестнадцатеричное и нажмите кнопку ОК.

6. Чтобы изменения вступили в силу, запустите службы MSSQLSERVER и SQLSERVERAgent.

Обратите внимание. Что возможность управления переключением режимов аутентификации при определенных условиях может воспользоваться злоумышленник.

7.1.1. Включение смешанного режима после установки

Для работы 1С:Предприятие 8.1 с MS SQL Server используется режим авторизаци MS SQL Server и Windows. Если при установке был выбран режим авторизации только Windows (Windows only) – то подключиться к информационной базе 1С:Предприятия 8.1 не получится.

Для изменения типа авторизации откройте SQL Server Enterprise Manager.

В дереве “Concole Root – Microsoft SQL Servers” разверните группу SQL Server Group и выберите необходимый сервер (соответствует или имени компьютера или (local) – для локального сервера).

Если серверов нет – надо зарегистрировать новый сервер, выбрав из меню Action – New SQL Server Registration…

На значке сервера сделайте правый щелчок мышкой и в контекстном меню выберите Properties. В появишемся окне перейдите на закладку Security.

В разделе Security укажите Authentication на SQL Server and Windows.

Перезапустите сервис например с помощью командной строки:

net stop mssqlservernet start mssqlserver 

или перегрузите компьютер с установленным MS SQL Server.

Проверка публикации

Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню “Администрирование”. После этого выбрать “Публикация информационной базы”.

В окне публикации указать имя публикации и по желанию определить каталог, где будут находиться настройки публикации. Его также можно оставить по умолчанию.

После этого требуется нажать кнопку “Опубликовать” и дождаться окончания операции.

Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:

  • Имя вашего сервера (например, server1)
  • Имя публикации базы (которое было указано в окне настройки публикации)

Для таких параметров ссылка будет иметь вид:

2. Настройки безопасности Web-сервера

В полной безопасности Web-приложения 1C можно быть уверенным, только
предприняв все необходимые меры по защите от большого количества
существующих уязвимостей. Даже если исходный код Web-части 1С надежно
защищен и составлен толковыми программистами – злоумышленники все равно
могут найти лазейку.

И даже когда уязвимости отсутствуют вовсе, сервер так и
или иначе взаимодействует с другими системами, что вполне может стать
причиной незаконного проникновения. В конце концов, сервер обслуживают люди,
которые часто не обладают достаточной компетенцией в этих вопросах.

Рекомендации по настройке web-сервера

3.2 Использовать разные учетные записи для разных служб кластера серверов 1С:Предприятия

Кластер серверов 1С:Предприятия использует для работы ряд служебных данных. Например, список кластеров сервера, реестры кластеров и др. Все служебные данные представляют собой совокупность файлов, которые находятся в двух каталогах:

  • Каталог данных приложения
  • Каталог временных файлов.

Общая идеология работы со служебными данными заключается в том, что доступ к служебным данным кластера серверов должны иметь только менеджер кластера (rmngr.exe) и агент сервера (ragent.exe). Рабочие процессы (rphost.exe) используют служебные данные только через менеджер кластера, поскольку являются потенциально опасными (в них могут выполняться фрагменты кода конфигураций).

На рисунке показана общая схема кластера

3.2.1 Создайте дополнительного пользователя операционной системы, от имени которого стартуют только рабочие процессы.

В каталоге данных приложения при установке кластера серверов 1С:Предприятия 8.1 создается специальный каталог, предназначенный только для файлов кластера серверов 1С:Предприятия.

Пользователю USR1CV81, от имени которого стартует по умолчанию агент сервера, назначаются полные права на этот каталог. Другим пользователям доступ в этот каталог запрещается. Запуск менеджера кластера выполняет агент сервера от имени того же самого пользователя, от которого запущен он сам.

На рисунке показана настройка каталога кластера.

Обратите внимание, если для рабочего процесса используется собственная учетная запись Windows, то она не имеет доступа к каталогу кластера. 

Запуск рабочих процессов также осуществляет агент сервера. По умолчанию рабочий процесс запускается от имени того пользователя, от которого запущен и агент сервера. Однако предусмотрена возможность создания дополнительного пользователя операционной системы, от имени которого стартуют только рабочие процессы. Это позволяет предотвратить непосредственный доступ программного кода конфигураций к служебным данным.

3.1 Используйте брандмауэры.

Брандмауэр – средство защиты , которое отслеживает и ограничивает обмен данными между компьютером и сетью или Интернетом, т.е. защищает компьютер от несанкционированного доступа извне.

Начиная с Windows XP, операционные системы компании Microsoft стали содержать втроенный брандмауэр (сетевой экран, firewall). Для Windows XP SP2 и Windows Vista брандмауэр по умолчанию включен.

Подробней на сайте Microsoft.

Для защиты данных в сети также могут применяться аппаратные и программные брандмауэры (межсетевые экраны) других производителей. Большинство программ не сможет принимать внешние запросы на соединение, если эти программы не внесены в список исключений брандмауэра.

Включенный брандмауэр (особенно программный)  снижает быстродействие. В связи с этим рекомендуется избегать использования брандмаэров на сервере СУБД и сервере 1С:Предприятия.

Возможным последствием использования брандмауэра , который не настроен для работы с 1С:Предприятие 8.1, может быть сообщение об ошибке: «Не обнаружен ключ 

Для обеспечения работоспособности 1С:Предприятие 8.1 , его необходимо добавить в список исключений брандмауэра.

Чтобы добавить программу 1С:Предприятие 8.1 в список исключений брандмауэра Windows XP SP2, необходимо выполнить следующие действия:

  • Войдите в систему с помощью учетной записи администратора.
  • Выберите в меню Пуск пункт Выполнить, введите команду Firewall.cpl и нажмите кнопку ОК.
  • Откройте закладку Исключения.
  • На закладке Исключения нажмите кнопку Добавить программу.
  • Нажмите кнопку Обзор, перейдите в каталог  программы (обычно C:Program Files1cv81bin),найдите программу 1cv8.exe и нажмите кнопку ОК.
  • Нажмите кнопку ОК. 

Если в сети используется компьютер с HASP License Manager и на нем включен брандмауэр, то необходимо добавить HASP License Manager в список исключений брандмауэра. В Windows XP SP2 для этого необходимо выполнить следующие действия:

  • Войдите в систему с помощью учетной записи администратора.
  • Выберите в меню Пуск пункт Выполнить, введите команду Firewall.cpl и нажмите кнопку ОК.
  • Откройте закладку Исключения.
  • На закладке Исключения нажмите кнопку Добавить программу.
  • Нажмите кнопку Обзор, перейдите в каталог  %Windir%System32, найдите программу nhsrvw32.exe и нажмите кнопку ОК.
  • Нажмите кнопку ОК. 

Возможно случаи, когда брандмауэр включен на сервере, или в качестве сервера используется компьютер с настрольной операционной системой, например Windows XP SP2.

Совет. Вовсе не обязательно запоминать порты и исполняемые файлы, которые необходимо прописывать в брандмауэре.

Чтобы увидеть «реальную» картину работы клиент-серверного варианта и используемых портов (например, чтобы настроить брандмауэр) можно воспользоваться бесплатной утилитой TCPView.

3.2.3 Использование антивирусного ПО на клиенте 1С:Предприятие 8

Компьютер с клиентской частью 1С:Предприятие 8 имеет наибольший риск заражения вирусами. Надо понимать, что используя антивирусную программу Вы должны выбрать разумный компромис между степенью защиты и быстродействием.

Как вариант настройки антивируса предлагается: 

  • Добавить в исключения проверяемых файлов:
    • файлы с расширениями *.1CD, *.1cl, *.log, *.elf, *.pfl, *.usr, *.v8i, *.lst, *.st, *.snp, *.epf, *.dat 
    • исполняемые приложения приложения: 1cv8.exe, ragent.exe, rmngr.exe, rphost.exe, 1CV8 Servers.msc из папки C:Program Files1cv8bin (C:Program Files (x86)1cv8 – для 32битной версии в 64битной среде ) или C:Program Files1cv81bin  (C:Program Files (x86)1cv81 – для 32битной версии в 64битной среде )
  • Исключить из проверки подкаталоги с установленными 1С:Предприятие, обычно
    • C:Program Files1cv8
    • С:Program Files (x86)1cv8
    • C:Program Files1cv81
    • C:Program Files (x86)1cv81
  • если клиент совмещен с серверной частью, то для сервера также добавьте

Основная сложность выбора настроек заключается в том, что 1С использует «опасные» каталоги, и при низком быстродействии или жалобах пользователей надо исследовать временные каталоги, как место потенциального попадания вирусов:

Если рассматриваемые в данном разделе риски высоки и отказаться от антивирусов и брандмауэра нельзя, расчитывайте на более мощное клиентское и сервное оборудование. Данное защитное ПО может расходовать значительные ресурсы компьютеров.

3.1 Используйте политку сложных паролей, выполняйте проверку на сложность паролей

Пароли являются «первой линией защиты» от несанкционированного доступа к Вашей информации. Не смотря на все современные технологии, часто они становятся основной целью злоумышленника. Пользователи часто придумывают очень простые пароли. Они могут означать день рожденья пользователя, имя любимой кошки или номер сотового.

Важно, чтобы пользователи составляли надежные пароли. Хороший пароль – это тот, который крайне трудно угадать или подобрать, но очень легко запомнить.

Для того чтобы обеспечить «сложные для взлома» пароли, в Windows используется политика “Пароль должен удовлетворять требованиям сложности”:

Политика Windows представлена на рисунке.

3.1 Организуйте защиту траффика штатными средствами 1С:Предприятия (защита передачи данных кластеру серверов)

При создании новой базы вы указываете параметр «безопасное соединение» (защищенное соединение). Существует возможность выбрать одно из трех значений:

  • Выключено
  • Установка соединения
  • Постоянно
На рисунке показан выбор параметра «Защищенное соединение» для вновь создаваемой базы.

Настройка действует для всех подключений к кластеру серверов, в том числе с консоли «Сервера 1С Предприятий».  

Уровень «Выключено» является самым низким, уровень «Постоянно» – самым высоким. При этом используется безопасное соединение по протоколу TCP/IP с шифрованием алгоритмами RSA и Triple DES.

3.2 Защита MS SQL Server

Microsoft SQL Server позволяет шифровать передаваемый по сети трафик. Для этого используется Secure Sockets Layer (SSL) при передаче данных между серверома кластера и MS SQL Server. Если рабочий сервер кластера и MS SQL Server на одном компьютере, то используется протокол обмена Shared Memory (и шифрование не используется).

Для шифрования всех передаваемых данных для MS SQL  Server 2000 необходимо воспользоваться утилитой “Server Network Utility”. На закладке “General” установите флажок “Force protocol encryption”.

На рисунке указано шифрование на стороне клиента SQL Server 

Метод шифрования выбирается в зависимости от используемого клиентским приложением (т.е. сервером приложения 1С). Для использования SSL необходимо правильно настроить службу выдачи сертификатов в сети.

Более подробно о шифровании сертификатами можно прочитать на сайте Microsoft.

Для того чтобы установить необходимость шифрования всех передаваемых данных для определённого сервера приложений необходимо воспользоваться утилитой “Client Network Utility” (обычно расположенной в “C:WINNTsystem32cliconfg.exe”). Как и в предыдущем случае, на закладке “General” установите флажок “Force protocol encryption”.

На рисунке показано шифрование на стороне сервера. 

Помните, что использование шифрования может достаточно сильно сказаться на производительности системы, особенно при использовании запросов, возвращающих большие объёмы информации.

Допольнительными мерами защиты передачи данных между сервером приложений и MS SQL Server при использовании протокола TCP/IP можно считать изменение настроек, заданных по умолчанию. Это использование нового порта взамен используемого стандартно порта 1433.

В настройках протокола TCP/IP на сервере MS SQL «поднять» флажок “Hide server”, запрещающий ответы на широковещательные запросы данному экземпляру службы MS SQL Server.

На рисунке показано «скрытие» SQL Server.  

MS SQL Server 2005 поддерживает сетевые соединения как с клиентом SQL Server 2000, так и «собственных» клиентов Native Client.

Общая настройка сетевой конфигурации сервера здесь.

Windows и apache 2.2

Если вы по каким-либо причинам не хотите использовать IIS, можно настроить работу 1С с другим популярным веб-сервером Apache. К сожалению разработчики Apache перестали публиковать бинарные сборки для Windows, предлагая обратиться к своим партнерам, поэтому перейдем на сайт Apache Haus и скачаем сборку 2.2.х той же архитектуры, что и используемая вами платформа 1С:Предприятия, вне зависимости от разрядности операционной системы.

Внимание! Для получения сборки Apache следует пользоваться только надежными источниками, которые указаны на сайте проекта. От этого зависит безопасность вашего веб-сервера и ваших данных!

Также вам потребуется установить Распространяемый пакет Microsoft Visual C 2008, который нужен для нормальной работы сборки Apache.

Затем распакуем скачанный архив Apache в произвольную директорию, например, C:Apache22, из всего множества папок нас интересуют папки bin и htdocs, в первой расположены исполняемые файлы веб-сервера, во второй следует располагать веб-содержимое.

Откроем командную строку с правами администратора и перейдем в директорию bin веб-сервера:

cd C:Apache22bin

Теперь установим Apache как службу:

Windows и iis

Internet Information Services (IIS) по непонятным причинам не пользуется популярностью у администраторов и 1С-ников. А зря, игнорировать штатное решение в пользу некоторого стороннего ПО, пусть даже и неплохого, выглядит по крайней мере странно.

Для установки IIS на клиентской ОС, в нашем случае Windows 7 x64, перейдите в Панель управления – Программы и компоненты – Включение и отключение компонентов Windows.

1cv83-file-web-access-004.jpgСлужбы IIS, затем, развернув список, перейдите в Службы интернета – Компоненты разработки приложений и установите флажок напротив Расширения ISAPI, остальные параметры можно оставить по умолчанию.1cv83-file-web-access-005.jpgПанель управления – Администрирование – Диспетчер служб IIS.

Важно! Следующую настройку следует производить только в том случае, если вы будете использовать 32-разрядную платформу 1С:Предприятие.

В дереве слева выбираем Пулы приложений, щелкаем правой кнопкой мыши на DefaultAppPool – Дополнительные параметры и разрешаем 32-разрядные приложения, установив соответствующую опцию в True.

1cv83-file-web-access-007.jpgТеперь выставим необходимые права для групп IUSR и IIS_IUSRS. На папку с информационной базой выдаем права Изменение и Чтение и выполнение:

На папку bin платформы – Чтение и выполнение:

Затем запускаем 1С:Предприятие от имени администратора и загружаем нужную информационную базу в режим конфигуратора.

1cv83-file-web-access-010.jpgАдминистрирование выбираем Публикация на веб-сервере. 1С:Предприятие автоматически определит веб-сервер (IIS) и предложит разместить веб-приложение в корне веб-сервера в каталоге с именем папки информационной базы, которое также будет являться именем публикации, при необходимости можете изменить эти параметры.

После чего нажимаем Опубликоватьи утвердительно отвечаем на предложение перезапустить веб-сервер.

Бэкап баз 1с

Для полноты картины расскажу, как легко и быстро забэкапить файловые базы 1С. Пошаговую инструкцию не буду писать, так как у всех свои ситуации и каждый делает по-своему. Я на словах расскажу, как можно поступить с архивными копиями. Сам я каждый раз придумываю разные решения для бэкапов 1С в зависимости от обстоятельств.

Для меня важно держать где-то недалеко от рабочего сервера несколько архивных копий баз, чтобы их можно было оперативно загрузить на сервер и работать с ними. Для этого у меня на этом же гипервизоре отдельная виртуальная машина исключительно для бэкапов.

Доступ к ней максимально ограничен. Она сама забирает все бэкапы к себе. С windows машины к ней доступа нет. Сделано это для простейшей защиты от шифровальщиков. Если какой-то вирус попадет на сервер и зашифрует базы 1С, я очень быстро смогу их восстановить из архивных копий, которые хранятся на этом же гипервизоре, только в другой виртуальной машине.

На windows сервере можно просто расшарить директорию с базами 1С, а на виртуалке для бэкапов подключить ее. Я обычно использую Linux систему для этого. В ней монтирую шару по smb. Как это сделать рассказываю в отдельной статье – Как быстро подмонтировать сетевой диск в Linux.

После того, как подключили папку с базами 1С к бэкап серверу, можете делать с ними все, что угодно. Например, куда-то копировать с помощью rsync и сохранять изменившиеся базы. Подробно схему бэкапов с помощью rsync описываю тоже отдельно – настройка rsync для бэкапа.

Так же для бэкапов вы можете использовать какое-нибудь S3 хранилище, например у того же Selectel. По моим недавним сравнениям по ценам там наиболее выгодные условия из известных хостеров. По крайней мере я дешевле не нашел. Заливать бэкапы в S3 можно с помощью утилиты rclone.

  1. Day – в него заливаются архивы каждый день. Срок хранения файлов в этом контейнере – 7 дней. Настраивается это штатно в панели управления. На стороне хоста, с которого заливаются данные, ничего делать не надо.
  2. Week – архивы заливаются раз в неделю и хранятся 31 день.
  3. Month – архивы заливаются раз в месяц и хранятся условно бесконечно.

Таким образом мы просто каждый день льем файлы в S3 в разные контейнеры, а там они автоматом ротируются. Мы всегда имеем 7 последних копий, 4 недельные и помесячные. Удобная схема и не очень дорогая. Стоимость хранения можете сами прикинуть по калькулятору хранилища.

Еще один вариант бэкапа – копировать базы по nfs на какой-то сервер. В общем, тут вариантов может быть очень много. Я для этого и использую такую схему – подключение директории с базами к linux серверу, а там уже возможности по работе с бэкапами безграничные.

Какие бывают проблемы с работой в 1с через браузер

В таком режиме у меня уже пару лет работают несколько серверов с 1С. Иногда возникают нюансы с доступом через браузер. Например, не настроить обмен между базами, не зная их локальных путей. Бухгалтера сами его не смогут настроить. Им нужно будет передать информацию по директориям с базами.

Так что некоторые вещи, которые обычно бухгалтера в небольших компаниях способны сделать сами, придется делать тому, кто обслуживает этот сервер. Но бонусом идет то, что на самих пользовательских компьютерах ничего настраивать не надо. Вы просто передаете пользователю адрес в интернете и учетные данные. И он начинает работать в базе 1с. Платформу ставить не надо, как и решать вопрос с лицензиями на клиентах.

Еще один нюанс, связанный с обменом между базами. После обновления платформы на сервере, он перестает работать через браузер. Возникает ошибка доступа к COM объекту. Чтобы это исправить, надо выполнить на сервере регистрацию comcntr.dll примерно так.

regsvr32 "C:Program Files1cv88.3.18.1208bincomcntr.dll"

Сделать это надо в cmd с правами администратора. И повторять каждый раз при обновлении платформы, не забывая указать путь к новой версии файла.

Механизмы обеспечения безопасности в 1с:предприятии 8.1

Что такое безопасность? Часто считается, что для обеспечения безопасности достаточно задать пароль учетной записи или зашифровать данные. В некоторых случаях это так и есть. Но правильней будет уточнить, что данные меры усиливают защиту информации на некоторых «участках» функционирования системы.

Обеспечение защиты данных понятие комплексное. Часть мер по организации контроля доступа к информации осуществляется техническими средствами, в том числе 1С:Предприятием, СУБД (например, Microsoft SQL Server) и операционной системой. Часть мер представляет собой набор административных действий и правил компании.

В данной статье будут рассмотрены вопросы безопасности информационных систем, работающих под управлением 1С:Предприятия 8.1 в клиент-серверном варианте с использованием СУБД MS SQL Server.

Базовый принцип защиты данных в клиент-серверном варианте заключается в том, что пользователи не имеют прямого доступа к файлам информационной базы. «Посредником» между клиентами 1С:Предприятия 8.1 и сервером СУБД является рабочий процесс rphost, который обращается с запросом к СУБД от имени своей учетной записи. Затем полученный результат возвращает клиенту.

Пример реализации клиент-серверной архитектуры

Однако, использование клиент-серверного варианта не означает автоматически стопроцентную защиту информации. Важно правильно настроить систему в соответствии с конкретными требованиями безопасности.

Хотите пример?

Настройка аутентификации openid connect используя keykloack при подключении к 1с

Информационная безопасностьМобильная разработкаv8::Mobile1cv8.cfБесплатно (free)

Что приходит первое в голову при словах «1С Предприятие»?
Даже тем, кто далек от ИТ, представляется большущий компьютер (а тем, кто недалек, стойка двух-юнитных серверов), рядом слушает музыку сервера (как вариант просто музыку) сисадмин, за стеной в опен-спейсе менеджеры принимают заказы и бухгалтерия, сдающая отчетность. «Зарплата, зарплата!»: слышны их радостные крики. «И кадры»: уточняет HR. Да, все верно. Это 1С.
Кто в теме, напомнит про крики не совсем приятные: «Все тормозит! Сделайте что-нибудь, #тыжпрограммист». И борющихся за живучесть ИТ-шников. В обычном офисном потоке дел, редко кто задумывается о безопасности. А тех, кто задумывается, прошу под кат…

05.06.2020   
5356   
capitan   
34    

Подключение через платформу 1с:предприятие к базе 1с, опубликованной в веб

Упомяну одну важную вещь, про которую я сам узнал не сразу. С опубликованной в web базой 1С не обязательно работать через браузер. Можно подключиться через обычную платформу, если она у вас установлена на компьютере. Причем все отлично заработает даже с дополнительной basic auth в виде еще одной авторизации.

Чтобы добавить такую базу в платформу, достаточно указать, что тип расположения информационной базы – веб-сервер.

При подключении к такой базе вам сначала нужно будет ввести пароль на доступ к веб сайту, а потом уже появится авторизация самой 1С. Удобно выходит. И субъективно кажется, что через платформу 1С работать с опубликованной базой немного быстрее. Быстрее отклик на действия пользователя.

Пример подключения к информационной базе через comconnector

Внешние источники данныхv8v8::MobileАбонемент ($m)

Попробовал некоторое время назад, push сообщения, реализованные в платформе.

Понравилось, но есть несколько минусов, на примере одной программы сообщений (не буду показывать пальцем), спустя некоторое время, сообщения переставали приходить онлайн, а на компьютере приходили моментально, при этом сами смартфоны звались флагманами. Читал позднее статью, где описывалось, что проблема на стороне смартфонов, что-то вроде технологий энергосбережения, но точно не помню.

Также немалый минус доступно только для смартфонов.

1 стартмани

08.09.2022   
35155   
18   
PloAl   
8    

Публикация баз 1с на веб сервере

Идем на виртуалку с windows и работаем там с 1С. Кстати, если хотите обойтись вообще без windows, то есть возможность настроить публикацию баз 1С на linux на примере Centos.

Для начала устанавливаем технологическую платформу и не забываем выбрать Модули расширения веб-сервера.

Создаем там необходимую вам базу данных. Я покажу на примере публикации типовой базы Бухгалтерия 3.0. При первом запуске необходимо будет установить на этот компьютер софтовые лицензии. Они будут использоваться при доступе к базам через браузер.

Регулярное администрирование записей

В данном случае обеспечение безопасности не является операцией, которая раз и на всегда решит проблему. Для поддержания необходимого уровня безопасности на данном участке необходимо организовать и проводить регулярную проверку всех учетных записей системы.

Следует понимать, что существует несколько видов учетных записей, которые используются при работе системы на различных уровнях ее функционирования.

1) Пользователи Windows (локальные учетные записи Windows и в службы каталогов Active Directory)

Факт применения учетной записи Windows можно опредлить по журналу событий безопасности Windows.  

2) Пользователи информационных баз 1С:Предприятия 

Факт использования учетной записи фиксируется в журнале регистрации 1С:Предприятия

3) Пользователи сервера MS SQL Server

 Факт использования учетной записи фиксируется в логах MS SQL Server (в соответствии с настройками)

4) Пользователи баз данных MS SQL Server

5) Администраторы центрального сервера кластера серверов 1С:Предприятия 8.1

6) Администраторы кластера 1С:Предприятия

7) Учетные записи Windows для контекста исполнения служб 1С:Предприятие 8.1 и MS SQL Server (и других СУБД)

Кроме того, следует понимать, что:

  • Пользователи Windows (1) могут выступать как Пользователи 1С:Предприятие 8.1 (2), как Администраторы файла кластеров (5), и Администраторы кластера (6)

  • Пользователи Windows (1) могут быть Пользователями серверов СУБД (3). Однако 1С:Предприятие 8.1 использует учетные записи самой СУБД (3)

  • Пользователи СУБД (3) неявно получают доступ к базе данных «связывая» с учетной записью базы данных (4). Например, пользователь «dbo» – это владелец базы (dbowner). Пользователь СУБД с ролью «Создателя базы», в MS SQL Server  это «dbcreator» считается пользователем базы «dbo»

  • Учетные записи Windows (1) также являются контекстом работы служб (7). Поэтому не предоставляйте эти записи для работы обычных пользователей (1),(2)

  • Разработчики конфигураций на платформе 1С:Предприятие также могут использовать программное разграничения доступа. Для этого, как правило, создается справочник «Пользователи». Управление настройками такого справочника выполняется в режиме «1С:Предприятие», а не Конфигураторе. Максимальные права доступа к справочнику «Пользователи» – чтение данных.

Уровень безопасности «выключено»

Уровень безопасности Выключено является самым низким и самым производительным. Практически все данные передаются без использования шифрования.

После установки соединения первый обмен данными выполняется с использованием шифрования по алгоритму RSA. Дальнейший обмен выполняется нешифрованными данными.

Безопасность данных, передаваемых между консолью кластера серверов и кластером серверов обеспечивается, также, за счет возможности шифрования передаваемых данных. При этом используются те же самые три уровня безопасности: Выключено, Установка соединения и Постоянно.

Консоль кластера серверов взаимодействует с агентом сервера (процесс ragent.exe). Желаемый уровень безопасности задается при старте агента сервера. Фактический уровень безопасности будет выбран агентом сервера как максимальный из указанного при старте и уровней безопасности всех кластеров, расположенных на данном центральном сервере. Уровень безопасности кластера задается при его создании (программном или интерактивном).

На рисунке показан реквизит «Безопасное соединение» консоли кластеров.

Специалистам по безопасности также может потребоваться знание алгоритмов шифрования, применяемые в 1С:Предприятие 8.1

  • Криптографическая система RSA является системой ассиметричного шифрования, в которой для кодирования сообщения используется один ключ (публичный), а для расшифровки другой (секретный), т.е. криптографический алгоритм с открытым ключом.
  • Triple DES использует тройное шифрование симметричным алгоритмом DES. Этосимметричный алгоритм шифрования, в котором один ключ используется как для зашифровывания, так и для расшифровывания сообщений. 

При уровне безопасности «Постоянно» выполняется шифрование по следующей схеме

 В общем виде протокол взаимодействия клиента и кластера серверов представлен на следующем рисунке:

Протокол взаимодействия одинаков как для менеджера кластера (rmngr.exe), так и для рабочего процесса (rphost.exe): после установки соединения первый обмен данными выполняется с использованием шифрования по алгоритму RSA, дальнейший обмен данными выполняется с использованием шифрования по алгоритму Triple DES.

Для уровня «Установка соединения» в общем виде протокол взаимодействия клиента и кластера серверов представлен на следующем рисунке:

После установки соединения первый обмен данными выполняется с использованием шифрования по алгоритму RSA, затем обмен данными выполняется с использованием шифрования по алгоритму Triple DES до окончания процедуры аутентификации. Дальнейший обмен выполняется нешифрованными данными.

Для уровня безопасности «Выключено» в общем виде протокол взаимодействия клиента и кластера серверов представлен на следующем рисунке:

После установки соединения клиент отправляет Открытый ключ RSA и уровень безопасности в кластер серверов. Менеджер кластера отправляет ему сообщение о новом уровне безопасности, зашифрованное Открытым ключом RSA. Дальнейший обмен выполняется нешифрованными данными. Аналогичным образом осуществляется обмен данными клиентского приложения с рабочим процессом кластера.

Пароли администраторов кластера серверов и пароли доступа к информационным базам хранятся на кластере серверов в зашифрованном виде. Для этого используется шифрование алгоритмами SHA1 и AES128.

SHA1 – это алгоритм контрольного суммирования. С его помощью хранятся пароли, которые проверяет система 1С:Предприятие (например, пароль администратора кластера, администратора центрального сервера). При этом исходный текст хранимых паролей восстановить нельзя, а можно только проверить совпадение контрольной суммы введенного пароля с хранимой контрольной суммой.

AES128 – это алгоритм шифрования. С его помощью хранятся пароли, для которых должен восстанавливаться исходный текст (например, пароли доступа к СУБД).

Уровень безопасности «постоянно»

Использование уровня безопасности «Постоянно» позволяет полностью защитить весь поток данных (как пароли, так и непосредственно данные) между клиентом и кластером серверов. При этом весь обмен происходит с использованием алгоритмов шифрования RSA и Triple DES. Следует учитывать, что при этом возможно снижение производительности системы.

Уровень безопасности задается при создании информационной базы. Эта информация сохраняется как на клиенте (в списке информационных баз), так и в кластере серверов (в реестре кластера). После создания информационной базы, ее параметры, сохраненные в реестре кластера, изменить уже нельзя.

Однако можно изменить уровень безопасности, указанный для этой информационной базы на клиенте. Выполнить настройку уровня безопасности подключения через параметр запуска /SLev, который определяет уровень защищенности соединения клиента с сервером 1С:Предприятия

Возможные значения:

   /SLev0 – незащищенное соединение.

   /SLev1 – защищенное соединение только в процессе выполнения аутентификации.

   /SLev2 – защищенное соединение в течение всего сеанса.

Отсутствие параметра  эквивалентно /SLev0.

На рисунке показаны свойства ярлыка, вызывающего 1С:Предприятие с указанием уровня защищенности соединения. 

Необходимость в таких настройках может возникнуть, если например, пользователь из дома захотел подключиться к информационной базе по модему или по выделенной линии. Так как информация будет проходить по внешним каналам связи, то желательно установить более высокий уровень безопасности.

После установки соединения клиент генерирует приватный и публичный ключи для шифрования RSA, и передает в кластер серверов публичный ключ и уровень безопасности, который указан для данной информационной базы на клиенте. Это желаемый уровень безопасности.

Кластер серверов выбирает максимальный уровень безопасности из переданного клиентом и указанного для этой информационной базы в реестре кластера. Это фактический уровень безопасности. Кроме этого кластер серверов генерирует сеансовый ключ для шифрования Triple DES и вместе с фактическим уровнем безопасности передает его клиенту, предварительно зашифровав эти данные с помощью публичного ключа клиента.

Дальнейший обмен данными выполняется в соответствии с фактическим уровнем безопасности, при этом как клиент, так и сервер шифруют передаваемые данные с использованием сеансового ключа по алгоритму Triple DES, у которого сам процесс шифрования более скоростной, чем RSA.

Уровень безопасности «установка соединения»

Этот уровень безопасности является компромиссом между безопасностью и производительностью. Использование уровня безопасности “Установка соединения” позволяет частично защитить поток данных (только пароли) между клиентом и кластером серверов. Алгоритмы шифрования здесь используются до момента установки соединения клиентского приложения с рабочим процессом и выполнения аутентификации пользователя, затем идет открытый процесс обмена данными с кластером серверов.

При этом уровне безопасности  данные информационной базы передаются в открытом виде. Поскольку эти данные составляют основную массу всего потока данных, производительность системы практически не снижается.

Частичную защищенность данных информационной базы обеспечивает то, что ключевая информация (пароли) передается только в зашифрованном виде. В результате, если открытый поток данных будет перехвачен, то из него можно будет получить лишь незначительную часть данных информационной базы. Т.к. пароли будут недоступны, то злоумышленник не сможет аутентифицироваться в информационной базе и получить доступ ко всем данным или выполнить произвольные действия с информационной базой.

Участок защиты данных «человек»

В настоящей статье рассматриваются только технические меры обеспечения безопасности. Следует иметь в виду, что существует и такой фактов безопасности, как пользователь. Даже самая совершенная защита не может гарантировать безопасность системы, если к ней имеет доступ недобросовестный или неаккуратный пользователь.

Системный администратор владеет информацией о паролях, главный бухгалтер – финансовой информацией о компании и т.д. Это значит, что всегда есть еще одно звено системы, которое может оказаться самым уязвивым в защите информации. Политика регулярной смены паролей, проводимая системным администратором, может быть сведена «на нет», если пользователи решат, что хранение «сложных» паролей надо доверить памяткам на мониторе своих рабочих мест.

Заключение

Это все, что я хотел рассказать по поводу публикации файловых баз 1С в интернет. Постарался дать не только технические данные но и свои личные подробности, основанные на опыте подобных эксплуатаций. Я хоть и пытаюсь дистанцироваться от 1С, но она настолько популярна в России, что так или иначе сталкиваешься с этим продуктом. Да я и свою бухгалтерию ИП сам веду в 1С 🙂

Если захотите себе настроить что-то подобное, то обращайтесь ко мне. Я могу подобрать подходящее решение под ваш бюджет и выполнить настройку. Это будет дешевле быстрее и скорее всего лучше, чем вам настроят через франчайзи. По крайней мере то, что я видел, чаще всего было настроено так себе. Без акцента на безопасность и удобство, лишь бы работало.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *