Filskiy (обсуждение | вклад)  | 
				Нет описания правки  | 
				||
| (не показано 7 промежуточных версий 1 участника) | |||
| Строка 41: | Строка 41: | ||
=Рекомендации по безопасности=  | =Рекомендации по безопасности=  | ||
# Для исключения несанкционированного доступа к серверу КРОС, необходимо, в обязательном порядке, изменить '''все''' пароли, а так же задавать сложные пароли новым пользователям.  | # Для исключения несанкционированного доступа к серверу КРОС, необходимо, в обязательном порядке, изменить '''все''' пароли, а так же задавать сложные пароли новым пользователям.  | ||
# Для исключения внешнего воздействия на комплекс можно использовать встроенный в ОС Astra [https://wiki.astralinux.ru/pages/viewpage.action?pageId=27362474 межсетевой экран]. В нем можно прописать конкретные IP адреса с которых разрешен доступ к серверу КРОС. Для настройки правил в графическом режиме можно воспользоваться утилитой '''[https://wiki.astralinux.ru/pages/viewpage.action?pageId=71835677#id-Управлениенастройкамиизкоманднойстроки-Спомощьюufw gufw]'''. Для ОС Windows можно использовать встроенный   | # Для исключения внешнего воздействия на комплекс можно использовать встроенный в ОС Astra [https://wiki.astralinux.ru/pages/viewpage.action?pageId=27362474 межсетевой экран]. В нем можно прописать конкретные IP адреса с которых разрешен доступ к серверу КРОС. Для настройки правил в графическом режиме можно воспользоваться утилитой '''[https://wiki.astralinux.ru/pages/viewpage.action?pageId=71835677#id-Управлениенастройкамиизкоманднойстроки-Спомощьюufw gufw]'''. Для ОС Windows можно использовать встроенный Брандмауэр.  | ||
# Для безопасного доступа из внешней сети рекомендуется создать свою защищенную сеть на основе [https://wiki.astralinux.ru/display/doc/OpenVPN OpenVPN для ОС Astra] или для Windows.  | # Для безопасного доступа из внешней сети рекомендуется создать свою защищенную сеть на основе [https://wiki.astralinux.ru/display/doc/OpenVPN OpenVPN для ОС Astra] или для Windows.  | ||
# Возможен вариант с настройкой SSL соединения. Для настройки соединений с сервером КРОС при   | # Возможен вариант с настройкой SSL соединения. Для настройки соединений с сервером КРОС при использовании SSL сертификата, необходимо выпустить сертификат формата jks ("java key storage"). По умолчанию файл с сертификатом располагается в '''/usr/local/smpo-server/conf/''' и называется '''''smpo-keystore.jks'''''. Его необходимо заменить на свой, так как данный ключ связан с доменом jupiter8.ru. Параметры доступа к сертификату настраиваются пользователем ''superadmin'' в разделе '''Администрирование''' -> '''Безопасность''' -> вкладка '''"Сертификаты"'''.  | ||
===Создание самоподписанного сертификата===  | ===Создание самоподписанного сертификата===  | ||
В Java есть своя утилита для создания самоподписанного сертификата - '''keytool'''.  | В Java есть своя утилита для создания самоподписанного сертификата - '''keytool'''.<br>  | ||
1. Вначале необходимо создать хранилище сертификатов и ключ сертификата:  | 1. Вначале необходимо создать хранилище сертификатов и ключ сертификата:  | ||
  '''sudo keytool -genkey -alias smpo-server -keyalg RSA -keypass password -storepass password -keystore "/usr/local/smpo-server/conf/smpo-  |   '''sudo keytool -genkey -alias smpo-server -keyalg RSA -keypass password -storepass password -keystore "/usr/local/smpo-server/conf/smpo-keystore.jks" -dname "CN="", OU="", O="", L="", ST="", C=""" -validity 3650'''  | ||
, где  | |||
: '''-genkey''' - указывает, что создается новое хранилище и ключ. При замене ключа, необходимо заменить на '''genkeypair'''  | : '''-genkey''' - указывает, что создается новое хранилище и ключ. При замене ключа, необходимо заменить на '''genkeypair'''  | ||
: '''-alias''' - псевдоним наименования сервера. Можно указать IP-адрес сервера  | : '''-alias''' - псевдоним наименования сервера. Можно указать IP-адрес сервера  | ||
| Строка 53: | Строка 54: | ||
: '''-keypass''' - пароль ключа сертификата(указывается в настройках КРОС)  | : '''-keypass''' - пароль ключа сертификата(указывается в настройках КРОС)  | ||
: '''-storepass''' - пароль доступа к хранилищу сертификатов(указывается в настройках КРОС)  | : '''-storepass''' - пароль доступа к хранилищу сертификатов(указывается в настройках КРОС)  | ||
: '''-keystore''' - путь хранилища сертификатов. По умолчанию, КРОС обращается к файлу '''smpo-keystore.jks''', который расположен в '''/usr/local/smpo-server/conf/'''.   | : '''-keystore''' - путь хранилища сертификатов. По умолчанию, КРОС обращается к файлу '''smpo-keystore.jks''', который расположен в '''/usr/local/smpo-server/conf/'''. Название файла-хранилища можно указать своё.  | ||
: '''-dname'' - параметры принадлежности сертификата  | : '''-dname''' - параметры принадлежности сертификата  | ||
::'''CN=''' - имя владельца  | ::'''CN=''' - имя владельца  | ||
::'''OU=''' - подразделение владельца  | ::'''OU=''' - подразделение владельца  | ||
| Строка 62: | Строка 63: | ||
::'''C=''' - Страна. Для России - '''RU'''  | ::'''C=''' - Страна. Для России - '''RU'''  | ||
: '''-validity''' - срок действия сертификата. По умолчанию 3(три месяца), можно указать любое количество дней - 1 год - 365, 10 лет - 3650 и т.д. и т.п.    | : '''-validity''' - срок действия сертификата. По умолчанию 3(три месяца), можно указать любое количество дней - 1 год - 365, 10 лет - 3650 и т.д. и т.п.    | ||
2.   | 2.  После генерации своего сертификата, название файла хранилища надо указать в настройке "Администрирование"→"Безопасность" вкладка "Сертификаты".<br>  | ||
  sudo keytool -  | 3. После внесения настроек надо перезагрузить сервер КРОС. Для подключения в адресной строке браузера набрать   | ||
: https://адрес.сервера.юпитер.крос:9800  | |||
Необходимо подтвердить исключение сертификата. Порт подключения и разрешение работать по HTTPS протоколу указывается в настройке   | |||
"Администрирование"→"Система" вкладка "HTTP Сервер".<br>  | |||
<br clear="both" />  | |||
[[КРОС:Рекомендации по эксплуатации сервера#top|В начало статьи]]  | |||
===Создание хранилища из подписанных сертификатов===  | |||
Скорее всего данный механизм может не сработать в связи с тем, что не будет совпадать алгоритм шифрования выданного сертификата и алгоритма с которым работает КРОС.<br>  | |||
1. Импортирование корневого или промежуточного сертификата<br>  | |||
  sudo keytool -import -trustcacerts -alias root -file CA.crt -keystore keystore.jks -storepass password  | |||
2. Импортирование подписанного сертификата пользователя в существующее хранилище<br>  | |||
 sudo keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password  | |||
<br clear="both" />  | <br clear="both" />  | ||
[[КРОС:Рекомендации по эксплуатации сервера#top|В начало статьи]]  | [[КРОС:Рекомендации по эксплуатации сервера#top|В начало статьи]]  | ||
| Строка 105: | Строка 115: | ||
- пересоздать кластер — в том случае если после восстановления PostgreSQL все равно не загрузился, воспользовавшись командой initdb -D </путь/к/кластеру>. После чего внести его в файл конфигурации PostgreSQL.<br>  | - пересоздать кластер — в том случае если после восстановления PostgreSQL все равно не загрузился, воспользовавшись командой initdb -D </путь/к/кластеру>. После чего внести его в файл конфигурации PostgreSQL.<br>  | ||
- запустить PostgreSQL  | - запустить PostgreSQL  | ||
- создать   | - создать пользователя базы данных: '''sudo -u postgres psql -c "ALTER USER 'postgres' WITH ENCRYPTED PASSWORD 'postgres';"'''<br>  | ||
- создать пустую базу данных КРОС: '''psql -U postgres -c "CREATE DATABASE jupiter;"'''<br>  | - создать пустую базу данных КРОС: '''psql -U postgres -c "CREATE DATABASE jupiter;"'''<br>  | ||
- запустить smpo-server<br>  | - запустить smpo-server<br>  | ||
| Строка 119: | Строка 129: | ||
- при необходимости изменить сетевые настройки сервера и активировать их<br>  | - при необходимости изменить сетевые настройки сервера и активировать их<br>  | ||
- проверить работу комплекса. В протоколе событий приборов должна появиться информация<br>  | - проверить работу комплекса. В протоколе событий приборов должна появиться информация<br>  | ||
После восстановления работоспособности основного сервера. Необходимо восстановить на нём данные с   | После восстановления работоспособности основного сервера. Необходимо восстановить на нём данные с резервного сервера, проверить настройки трансляций и активировать их.<br>  | ||
Также можно перевести резервный сервер в режим основного, проверить настройки трансляций и активировать их. Для перевода основного сервера в режим основного необходимо войти в режим администрирования охранной организации и    | Также можно перевести резервный сервер в режим основного, проверить настройки трансляций и активировать их. Для перевода основного сервера в режим основного необходимо войти в режим администрирования охранной организации и    | ||
Текущая версия от 10:29, 23 июля 2024
Основные рекомендации
- Выполнить диагностику и настройку локальной сети на предмет стабильности соединения между компьютерами:
- Расписать общую топологию сети (количество роутеров, зависимости между ними, пароли доступа к роутерам)
 - Обновить роутеры до последних версий прошивок
 - Настроить доступность портов согласно инструкции по Настройке портов из справочного руководства.
 
 - Проводить проверки жёсткого диска на предмет наличия ошибок чтения/записи, мониторинг “здоровья” жёсткого диска, следить за наличием битых секторов с помощью специализированных программ CrystalDiskInfo и Victoria HDD/SSD. Проверять жёсткие диски раз в месяц с занесением в журнал проверок.
 - Своевременно делать резервные копии не только сервера КРОС, но и всей операционной системы в целом:
- Резервные копии сервера КРОС, ключей лицензии и конфигурационных файлов делать раз в сутки
 - Резервные копии операционной системы делать минимум один раз в месяц.
 - Хранить резервные копии сервера КРОС на диске куда не установлена операционная система, чтобы в случае сбоя операционной системы не потерять все данные вместе с системой.
 
 - Проверить компьютер с сервером КРОС на соответствие системным требованиям:
- Процессор - 8 ядер
 - Оперативная память - 16 Гб
 - Жёсткий диск SSD 250Гб (операционная система, база данных PostgreSQL, КРОС)
 - Жёсткий диск HDD 1000Гб (логи сервера КРОС и бэкапы)
 - Пропускная способность от 5 Мбит/сек
 
 - Оборудовать компьютер с сервером КРОС источником бесперебойного питания (при аварийных остановках операционной системы страдает в первую очередь жёсткий диск и база данных)
 - Вести логирование действий с сервером для упрощения оказания технической поддержки в случае инцидентов:
- Обновления операционной системы
 - Обновления сервера КРОС
 - Замена комплектующих компьютера
 - Логирование действий приведших к аварии
 
 - Продумать систему резервного/подменного сервера на случай полного выхода из строя основного оборудования:
- Запасной компьютер / запасные комплектующие для возможности быстрой замены вышедших из строя
 - Использовать систему зеркалирования данных, являющуюся частью сервера КРОС.
 
 - Обеспечить сохранность логинов и паролей для доступа на сервер КРОС и в операционную систему. На ПЦО всегда должен присутствовать сотрудник, знающий пароли от операционной системы, сервера КРОС и роутеров. Хранить пароли в секретных конвертах в сейфе с возможностью доступа. Это необходимо для оказания оперативной помощи сотрудниками технической поддержки сервера КРОС.
 - При настройке сетевых подключений протокола IPv4 используйте метод "Вручную", проверьте корректность введенных данных, таких как IP адрес, маска сети, шлюз, DNS сервер.
 - Проверить Список приборов поддерживающих функционал удаленного конфигурирования и обновления ПО.
 
Обязательно поменяйте все пароли. Новый пароль должен содержать прописные, заглавные буквы, числа и желательно спецсимволы, кроме двоеточия ":".
В начало статьи
Рекомендации по безопасности
- Для исключения несанкционированного доступа к серверу КРОС, необходимо, в обязательном порядке, изменить все пароли, а так же задавать сложные пароли новым пользователям.
 - Для исключения внешнего воздействия на комплекс можно использовать встроенный в ОС Astra межсетевой экран. В нем можно прописать конкретные IP адреса с которых разрешен доступ к серверу КРОС. Для настройки правил в графическом режиме можно воспользоваться утилитой gufw. Для ОС Windows можно использовать встроенный Брандмауэр.
 - Для безопасного доступа из внешней сети рекомендуется создать свою защищенную сеть на основе OpenVPN для ОС Astra или для Windows.
 - Возможен вариант с настройкой SSL соединения. Для настройки соединений с сервером КРОС при использовании SSL сертификата, необходимо выпустить сертификат формата jks ("java key storage"). По умолчанию файл с сертификатом располагается в /usr/local/smpo-server/conf/ и называется smpo-keystore.jks. Его необходимо заменить на свой, так как данный ключ связан с доменом jupiter8.ru. Параметры доступа к сертификату настраиваются пользователем superadmin в разделе Администрирование -> Безопасность -> вкладка "Сертификаты".
 
Создание самоподписанного сертификата
В Java есть своя утилита для создания самоподписанного сертификата - keytool.
1. Вначале необходимо создать хранилище сертификатов и ключ сертификата:
sudo keytool -genkey -alias smpo-server -keyalg RSA -keypass password -storepass password -keystore "/usr/local/smpo-server/conf/smpo-keystore.jks" -dname "CN="", OU="", O="", L="", ST="", C=""" -validity 3650
, где
- -genkey - указывает, что создается новое хранилище и ключ. При замене ключа, необходимо заменить на genkeypair
 - -alias - псевдоним наименования сервера. Можно указать IP-адрес сервера
 - -keyalg RSA - алгоритм, по которому создаётся сертификат
 - -keypass - пароль ключа сертификата(указывается в настройках КРОС)
 - -storepass - пароль доступа к хранилищу сертификатов(указывается в настройках КРОС)
 - -keystore - путь хранилища сертификатов. По умолчанию, КРОС обращается к файлу smpo-keystore.jks, который расположен в /usr/local/smpo-server/conf/. Название файла-хранилища можно указать своё.
 - -dname - параметры принадлежности сертификата
- CN= - имя владельца
 - OU= - подразделение владельца
 - O= - организация владельца
 - L= - Город, месторасположение
 - ST= - Республика, край, область, район.
 - C= - Страна. Для России - RU
 
 - -validity - срок действия сертификата. По умолчанию 3(три месяца), можно указать любое количество дней - 1 год - 365, 10 лет - 3650 и т.д. и т.п.
 
2.  После генерации своего сертификата, название файла хранилища надо указать в настройке "Администрирование"→"Безопасность" вкладка "Сертификаты".
3. После внесения настроек надо перезагрузить сервер КРОС. Для подключения в адресной строке браузера набрать 
Необходимо подтвердить исключение сертификата. Порт подключения и разрешение работать по HTTPS протоколу указывается в настройке 
"Администрирование"→"Система" вкладка "HTTP Сервер".
В начало статьи
Создание хранилища из подписанных сертификатов
Скорее всего данный механизм может не сработать в связи с тем, что не будет совпадать алгоритм шифрования выданного сертификата и алгоритма с которым работает КРОС.
1. Импортирование корневого или промежуточного сертификата
sudo keytool -import -trustcacerts -alias root -file CA.crt -keystore keystore.jks -storepass password
2. Импортирование подписанного сертификата пользователя в существующее хранилище
sudo keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password
Рекомендации по последовательности действий в случае отсутствия доступа к серверу КРОС
В случае если данные рекомендации вызывают затруднение в понимании или выполнении просьба связаться с технической поддержкой тел. 8-800-250-87-27 доб. 8
1. Необходимо убедится, что сервер КРОС включен. Проверить подключено ли питание (~220V) и запущена ли операционная система.
2. Проверить доступ к компьютеру КРОС из локальной сети, используя команды:
ping, telnet, traceroute и т.п. В случае отсутствия отклика проверить состояние локальной сети, её конфигурацию и маршрутизацию.
3. Проверить, работает ли программное обеспечение.
Для проверки можно воспользоваться любым менеджером задач, а так же в терминале или консоли, для проверки можно ввести команды:
- для PostgreSQL — sudo ps aux|grep postgres - Отклик должен содержать все процессы работы PostgreSQL, в том числе и информацию о подключении к базам данных.
- для КРОС — sudo ps aux|grep smpo-server - Отклик отображает информацию о процессах КРОС — wrapper и smpo-server
3.1. Выполнить перезагрузку программного обеспечения:
sudo systemctl restart postgresql
sudo service smpo-server restart
4. В случае отсутствия какой-либо информации о процессах, либо в случае отсутствия информации о подключении к базе данных КРОС рекомендуется выполнить следующие действия:
- выполнить команду остановки процесса КРОС: sudo service smpo-server stop
- проверить корректность выполнения операции командой: sudo ps aux|grep smpo-server. Если процессы продолжают выполняться, необходимо прервать их командой: kill.
- проверить наличие файлов pid и smpo.active в каталоге /usr/local/smpo-server/conf и удалить их, если они присутствуют.
4.1. Перезагрузить службу управления PostgreSQL — sudo systemctl restart postgresql
Проверить запуск. В случае отсутствия работающих процессов, необходимо изучить файлы логирования и исключить ошибки запуска.
Рекомендуется сделать дополнительную копию базы данных, например, pg_dump -U postgres -d jupiter > /home/elesta/jupiter.sql
4.1.1 Если проблема в некорректной информации базы данных КРОС, тогда можно выполнить следующие действия:
- остановить службу smpo-server
- остановить PostgreSQL
- пересоздать кластер — в том случае если после восстановления PostgreSQL все равно не загрузился, воспользовавшись командой initdb -D </путь/к/кластеру>. После чего внести его в файл конфигурации PostgreSQL.
- запустить PostgreSQL
- создать пользователя базы данных: sudo -u postgres psql -c "ALTER USER 'postgres' WITH ENCRYPTED PASSWORD 'postgres';"
- создать пустую базу данных КРОС: psql -U postgres -c "CREATE DATABASE jupiter;"
- запустить smpo-server
- восстановить базу данных из резервной копии. Восстановление данных производится либо из КРОС пользователем superadmin, либо средствами PostgreSQL из дампа, например, psql -U postgres -d jupiter < /home/elesta/jupiter.sql
- проверить восстановленные данные
Если после этого комплекс не загрузился — связаться со службой технической поддержки для консультации и предоставить удаленный доступ для выявления ошибок.
5. При наличии резервного сервера, когда основной сервер вышел из строя.
 Если используется механизм зеркалирования, то трансляции необходимо отключить.
- необходимо проверить включение сервера и доступность его в локальной сети
- перенести резервную копию базы данных и восстановить её на сервере. В случае использования механизма зеркалирования восстановление данных скорее всего не потребуется
- при необходимости изменить сетевые настройки сервера и активировать их
- проверить работу комплекса. В протоколе событий приборов должна появиться информация
После восстановления работоспособности основного сервера. Необходимо восстановить на нём данные с резервного сервера, проверить настройки трансляций и активировать их.
Также можно перевести резервный сервер в режим основного, проверить настройки трансляций и активировать их. Для перевода основного сервера в режим основного необходимо войти в режим администрирования охранной организации и