Установка 1С:Сервера взаимодействия. Заметки на полях

11.10.23

Администрирование - Информационная безопасность

Нюансы установки 1С:Сервера взаимодействия в рабочем контуре

 

Украли американские шпионы чертежи МИГ-29.
Собрали у себя,получается паровоз.Снова собрали-опять паровоз!
Ничего понять не могут. Решили сознаваться.
На нашем заводе собирают-стоит МиГ-29!
Спрашивают рабочего:"Как же ты его собрал, по чертежам?"
Он им отвечает:"Внизу,мелкими буквами написано:
"После сборки-обработать напильником!".

©анекдот времен СССР

Руководств как установить 1С:Сервер взаимодействия превеликое множество, как на этом сайте, так и на официальном ресурсе ИТС. Именно поэтому, хотя предыдущих моих публикациях стоял хештег #Рецепты от Капитана, в этой его поставить рука не поворачивается. 
Однако и эта статья имеет место быть. Поясню почему.
Есть простой вопрос: Вовочке дали два яблока, одно он отдал Машеньке, сколько яблок осталось у Вовочки?
Ответ: одно яблоко, может дать только гуманитарий, технарь ответит, что неизвестно, сколько яблок у Вовочки было изначально.

Так и язык инструкций, либо неизвестно начальное состояние системы, либо затеряется сноска мелким шрифтом, из-за которой затеряется ваш рабочий день.
Инструкции сайта ИТС методически грамотные и приятные глазу, в них единый стиль именования, если хотите культура кода и однозначно, они обязательны к прочтению.
Про них можно сказать уверенно - по ним вы точно не соберете работающий сервер с первого раза.
Есть еще академический язык, отличный курс от преподавателя УЦ 1С Арутюнова Сергея Рафаэльевича.
Там вы закопаетесь в кроличью нору максимально глубоко, однако на промышленную систему из нее не выйдете, уткнувшись в философскую фразу: Здесь вам не курсы по Linux.
К тому же академическое обучение в течении восьми часов дается нелегко.

Как и любое академическое образование, курс в первую очередь учит вас думать, а не только шашкой махать. По возможности запишитесь и посмотрите.
На это уйдет три дня по 8+ часов.
Но большинству не хочется такого длинного пути, хочется

немного подумать, немного скопипастить и чтобы все взлетело, отсюда все остальные опусы и мой в том числе.
В части просмотренных мной статей автор то запустит службы из-под рута, по брандмауэр отключит.
В это время грустит один сотрудник службы безопасности, если она есть в вашей компании или совесть, если накатывают воспоминания Win9x.CIH...
Зато радуются +100500 хацкеров. Напрасно думать, что в корпоративной сети их нет. Вы просто не представляете, на что способны скучающие менеджеры по продажам. Если кто не в курсе, то пароль пользователя БД в текущей версии 1С:Сервера взаимодействия лежит в текстовом файле и если это postgres, то безопасности хана.
А хочется, чтобы и быстро и хорошо. Поэтому и пишу эти строки.

Кратко:

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

Полностью команды под катом, чтобы не запутаться в простыне текста, далее в публикации будут рассмотрены моменты на которые не заостряется внимание в официальной инструкции ИТС.
Все ссылки внизу статьи.
Установка 1С:Сервер взаимодействия 24 идет на CentOS 7, CentOS 8, RedOS 7.3 облачных серверов одинаковой конфигурации



Одновременно, чтобы три раза не бегать рассмотреть все актуальные системы сразу.
В тексте инструкции строки, которые касаются только одной системы будут выделены цветом, жирным шрифтом показаны отличия от инструкции ИТС.
В каталоге /install лежат установочные пакеты сервера взаимодействия и java загруженные с сайта ИТС

  • CentOS 7 - классика, у кого есть доступ на kb.1c.ru, найдет там взятые с боевых контуров инструкции установки, которые сработают, но год выпуска наводит на размышления
  • CentOS 8 - уже теплее, но актуальным ядром может похвастаться наш родной 
  • RedOS 7.3. Не буду здесь разводить дискуссий про отечественного производителя. Его кстати каждый может увидеть в зеркале. Кто не разу не прибивал в печатной форме хардкодом ФИО главного бухгалтера, может кинуть в меня камнем.

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

Те, кто не любит читать буквы, может посмотреть видео


 

Полный листинг установки:

 

 

Купила группа РеноНиссан завод АвтоВАЗ.
Перенастроили производство, запускают конвейер.На выходе Жигули!
Демонтируют оборудование, пригнали новое из Японии.Снова Жигули!
Привозят работников из Франции.- Жигули!
Около завода холм, на нём отдыхают бывшие гл. инженер и директор завода.
 Инженер директору:
- А я тебе говорил - место проклятое. А ты всё - руки не оттуда растут...
©анекдот.ру

Нюансы установки:

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

Создаем отдельного пользователя БД postgres

su postgres
psql
ALTER USER postgres WITH PASSWORD '123456';
CREATE USER db_user WITH PASSWORD '123456';
CREATE DATABASE cs_db OWNER db_user;

\c cs_db
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
\q
exit

Перед установкой сервисов 1С:Сервера взаимодействия проверяем существование каталога и устанавливаем переменную JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/bellsoft-java11-full.x86_64/

далее ее используем в строке создания сервисов
ring hazelcast --instance hc_instance service create --username hc_user --stopped --java-home $JAVA_HOME

ring elasticsearch --instance es_instance service create --username es_user --stopped --java-home $JAVA_HOME

ring cs --instance cs_instance service create --username cs_user --stopped --java-home $JAVA_HOME

На корпоративе к программисту подошла симпатичная бухгалтерша и предложила:
- Может быть мы уединимся и займемся непозволительным?
-Ух ты! Будем делить на ноль!
обрадовался программист
©анекдот.ру

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

Да еще пароль везде использовать 123456 :)
Не забудьте поменять его на надежный при копипасте из листинга публикации!

При включенном selinux сервисы 1С:Сервера взаимодействия запустятся только в CentOS 7, в его старших (младших?) братьях будет таймаут запуска с не совсем информативным сообщением ошибки.
Это отрабатывает selinux

Если безопасность вам не важна то идем в cd /etc/selinux
изменяем в файле config 
SELINUX=enforcing на SELINUX=disabled или SELINUX=permissive

Если здоровье и рассудок вам дороги, то не отключаем selinux, а создаем правила для него

Понадобится утилита audit2allow
С ее помощью можно легко преобразовать записи лога файла аудита в правила selinux

ausearch -c 'systemd' --raw | audit2allow -M my-systemd - так рекомендуют разработчики CentOS

grep systemd /var/log/audit/audit.log | audit2allow -M my-systemd - такой пример на сайте RedHat и на мой взгляд он отрабатывает лучше
остается только применить и перечитать правила

semodule -i my-systemd.pp
semodule -R

после этого все сервисы запустятся при включенном selinux

С брандмауэром еще проще

firewall-cmd --permanent --zone=public --add-port=9094/tcp
firewall-cmd --reload

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

Некоторая проблема в том что админы, откликающиеся на системных, привыкли и будут просить закрытый ключ сгенерированный openssl, а хранилище ключей у вас keystore java, управляемое утилитой keytool.
Сработает такой путь:

создаем хранилище

mkdir /var/cs/cs_instance/data/security
cd mkdir /var/cs/cs_instance/data/security
keytool -keystore /var/cs/cs_instance/data/security/websocket-keystore.jks -genkey -alias RedOS-7.3.local

RedOS-7.3.local - нужно заменить на ваш алиас, путь к хранилищу - рекомендованный 1С

экспортируем и конвертируем закрытый ключ
keytool -importkeystore -srckeystore /var/cs/cs_instance/data/security/websocket-keystore.jks -srcstorepass 123456 -srckeypass 123456 -srcalias RedOS-7.3.local -destalias RedOS-7.3.local -destkeystore identity.p12 -deststoretype PKCS12 -deststorepass 123456 -destkeypass 123456
openssl pkcs12 -in identity.p12 -nodes -nocerts -out private_key.pem
openssl pkcs12 -in identity.p12 -nokeys -out cert.pem

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

Огромная благодарность облачному провайдеру © Serverspace за предоставленное оборудование, без них видео не получилось бы записать.

Желающие проверить/разобраться во всем самостоятельно, вам предлагается список ссылок:

Ссылки на другие руководства:

Надеюсь, статья вам сэкономит больше времени, чем вы потратите на ее прочтение.
И останется минутка поставить плюс или минус.

P.S. Если у вас найдется поставить много плюсов, то рассмотрим полностью развертывание в облаке сети полностью на отечественном РедОС.

См. также

Информационная безопасность Системный администратор Программист Платные (руб)

AUTO VPN (portable) - автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    15363    25    32    

35

Информационная безопасность Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Предлагается внешняя обработка для просмотра данных в формате ASN1. Есть 2 режима: загрузка из бинарного формата и из BASE64. Реализована функция извлечения всех сертификатов, которые можно найти в ASN1-файле. В дополнении к этому продукту предлагается методическая помощь по вопросам, связанным с технической реализацией криптографии и шифрования в 1С.

2400 руб.

29.08.2016    30053    9    1    

10

Облачные сервисы, хостинг Linux Сервера Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана", в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая, прочая... На закуску разбираемся с отказоустойчивостью. В этой публикации для серверов 1С заодно попробуем подобно сериалу «Разрушители легенд» подтвердить или опровергнуть пару устойчивых мифов о требованиях назначения функциональности.

18.10.2024    1700    capitan    5    

12

Облачные сервисы, хостинг Linux Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Одна из завершающих публикаций цикла "В облако на работу:.. Рецепты от Капитана" в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая прочая... Это основное блюдо, на закуску разберемся с отказоустойчивостью. В этой публикации для PostgreSQL, заодно попробуем сделать это по новому.

17.06.2024    7639    capitan    18    

40

Информационная безопасность Пароли Платформа 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    6205    kamisov    17    

60

Облачные сервисы, хостинг Linux Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

В прошлых публикациях мы, не торопясь, после настройки персонального рабочего места на РедОС 7.3, посмотрели РедОС 8 и почти полностью собрали рабочую сеть 1С на отечественной ОС подходящую для работы среднего размера компании. С веб-серверами, доменной авторизацией и прочая прочая... Осталось настроить регулярное архивирование, чтобы не потерять нажитое.

27.05.2024    1453    capitan    6    

9

Облачные сервисы, хостинг Linux Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В одном из лучших руководств администраторов "UNIX and Linux System Administration Handbook, © 2018 Pearson Education lnc." описывается такой метод настройки систем: "Копируй, вставляй, молись". Какой бы ни была подробной инструкция и на какой бы типовой системе она ни составлялась, всегда что-то может пойти не так. В этой публикации рассмотрим, как искать и устранять ошибки авторизации ОС сервером 1С на базе linux.

02.05.2024    1454    capitan    0    

11

Информационная безопасность Программист Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    7302    PROSTO-1C    10    

39
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. eeeio 126 11.10.23 14:19 Сейчас в теме
2. capitan 2507 11.10.23 14:34 Сейчас в теме
(1)you are welcome
и вам спасибо на добром слове)
3. Созинов 11.10.23 18:50 Сейчас в теме
Отличная инструкция! Осталось добавить настройку под debian )
Trucker; capitan; +2 Ответить
4. capitan 2507 11.10.23 21:39 Сейчас в теме
(3)Спасибо. Замечание дельное. Но навряд ли. Сам 10 лет собирал все на убунте. Но сейчас все сервера 1С похоже на центосе.
5. acces969 362 12.10.23 06:13 Сейчас в теме
Подскажите, как в управляемых формах программно открыть/подменить форму списка обсуждений?
6. capitan 2507 12.10.23 13:11 Сейчас в теме
(5)Не задавался этим вопросом. Можно вывести на сайт чат
7. Torin 826 12.10.23 15:48 Сейчас в теме
(0) Стиль изложения забавный :) За статью +
8. capitan 2507 12.10.23 15:59 Сейчас в теме
(7)
Стиль изложения забавный
Навеяно удаленной работой и годами общения с юзерами) Спасибо
Fox-trot; Torin; +2 Ответить
9. user1400315 17.06.24 14:15 Сейчас в теме
В листинге нестыковка:
Веб-сокет на порт 9094 ("ring cs --instance cs_instance websocket set-params --port 9094"), а в фаер-волле открывается порт 9000 ("firewall-cmd --zone=public --add-port=9000/tcp --permanent")
Оставьте свое сообщение