Filskiy (обсуждение | вклад) |
Нет описания правки |
||
(не показано 9 промежуточных версий 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. Вначале необходимо создать хранилище сертификатов и ключ сертификата: | ||
'''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=''' - подразделение владельца | ||
Строка 61: | Строка 62: | ||
::'''ST=''' - Республика, край, область, район. | ::'''ST=''' - Республика, край, область, район. | ||
::'''C=''' - Страна. Для России - '''RU''' | ::'''C=''' - Страна. Для России - '''RU''' | ||
: '''-validity''' - срок действия сертификата. По умолчанию 3(три месяца), можно указать любое количество дней - 1 год -365, 10 лет - 3650 и т.д. и т.п. | : '''-validity''' - срок действия сертификата. По умолчанию 3(три месяца), можно указать любое количество дней - 1 год - 365, 10 лет - 3650 и т.д. и т.п. | ||
2. После генерации своего сертификата, название файла хранилища надо указать в настройке "Администрирование"→"Безопасность" вкладка "Сертификаты".<br> | |||
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|В начало статьи]] | ||
Строка 101: | Строка 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> | ||
Строка 115: | Строка 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. При наличии резервного сервера, когда основной сервер вышел из строя.
Если используется механизм зеркалирования, то трансляции необходимо отключить.
- необходимо проверить включение сервера и доступность его в локальной сети
- перенести резервную копию базы данных и восстановить её на сервере. В случае использования механизма зеркалирования восстановление данных скорее всего не потребуется
- при необходимости изменить сетевые настройки сервера и активировать их
- проверить работу комплекса. В протоколе событий приборов должна появиться информация
После восстановления работоспособности основного сервера. Необходимо восстановить на нём данные с резервного сервера, проверить настройки трансляций и активировать их.
Также можно перевести резервный сервер в режим основного, проверить настройки трансляций и активировать их. Для перевода основного сервера в режим основного необходимо войти в режим администрирования охранной организации и