Внимание! Это старый мануал! Устанавливайте только новую версию - 7.2.2 ====== Пошаговая инструкция по установке сервера безопасности Тундук ====== ===== 1 Введение ===== ==== 1.1 Целевая Аудитория ==== Целевой аудиторией руководства по установке являются системные администраторы Сервера безопасности Тундук ответственные за установку и сопровождение программного обеспечения X-Road. Документ предназначен для читателей с умеренными знаниями администрирования Linux серверов и компьютерных сетей. ===== 2 Установка ===== ==== 2.1 Поддерживаемые платформы ==== Сервер Безопасности работает под управлением операционной системы Ubuntu Server 18.04 Long-Term Support (LTS) на 64 разрядной платформе. Дистрибутив Сервера Безопасности распространяется в пакетах формата .deb через официальное хранилище которое расположено по адресу https://deb.ordo.gov.kg Программное обеспечение может быть развернуто как на физическом, так и на виртуализированном оборудовании (на данный момент работа ПО была протестирована в виртуальном окружении [[https://ru.wikipedia.org/wiki/KVM|KVM]] ). ==== 2.2 Справочные данные ==== * ''Заметка:'' Информация в пустых ячейках должна быть определена до начала установка Сервера Безопасности, ответственным за установку программного обеспечения лицом. * ''Внимание:'' Данные, необходимые для функционирования операционной системы, не включены. ^ Ref ^ ^ Explanation ^ | 1.0 |Ubuntu 18.04, 64-bit 8 GB RAM, 3 GB free disk space |Минимальные требования | | 1.1 |https://deb.ordo.gov.kg |Хранилище пакетов X-Road| | 1.2 |https://deb.ordo.gov.kg/key.pub |GPG ключ хранилища | | 1.3 | |Имя учетной записи в интерфейсе пользователя | | 1.4 |TCP 5500 |Порт входящих соединений (Из внешней сети к Серверу Безопасности) \\ Обмен сообщениями между Серверами Безопасности | | |TCP 5577 |Порт входящих соединений (Из внешней сети к Серверу Безопасности) \\ Запрос ответов OCSP между серверами безопасности | | |TCP 2080 |Порт входящих соединений (Из локальной сети к Серверу Безопасности) \\ Обмен сообщениями между Сервером Безопасности и демоном мониторинга оперативных данных (по умолчанию - localhost) | | |TCP 9011 |Порт входящих соединений (Из локальной сети к Серверу Безопасности) \\ демон мониторинга оперативных данных - JMX listening port | | 1.5 |TCP 5500 |Порт исходящих соединений (От Сервера безопасности во внешнюю сеть) \\ Обмен сообщениями между Серверами Безопасности | | |TCP 5577 |Порт исходящих соединений (От Сервера безопасности во внешнюю сеть) \\ Запрос ответов OCSP между серверами безопасности | | |TCP 4001 |Порт исходящих соединений (От Сервера безопасности во внешнюю сеть) \\ Связь с центральным сервером | | |TCP 80 |Порт исходящих соединений (От Сервера безопасности во внешнюю сеть) \\ Получение глобальной конфигурации | | |TCP 62301,62302 |Порт исходящих соединений (От Сервера безопасности во внешнюю сеть) \\ порты для OCSP и time-stamping сервисов удостоверяющего центра | | 1.6 |TCP 4000 |Интерфейс пользователя (внутренняя сеть) | | 1.7 |TCP 80 |Точка доступа информационной системы (в локальной сети) \\ Соединения от информационной системы | | |TCP 443 |Точка доступа информационной системы (в локальной сети) \\ Соединения от информационной системы | | 1.8 | |Внутренний IP адрес(а) и имя(имена) хоста(ов) | | 1.9 | |Публичный адрес Сервера Безопасности, NAT адрес | | 1.10 |<по умолчанию, IP адреса и имена сервера включены в отличительное имя сертификата (DN) поле> |Информация о TLS сертификате интерфейса пользователя | | 1.11 |<по умолчанию, IP адреса и имена сервера включены в отличительное имя сертификата (DN) поле> |Информация о TLS сертификате сервера | | 1.12 |TCP 2552 |Порт коммуникации между процессами xroad-proxy и xroad-monitoring | ==== 2.3 Требования к серверу Безопасности ==== Минимальные рекомендации к аппаратному обеспечению: \\ * Аппаратное обеспечение сервера (материнская плата, центральный процессор, сетевые карты, системы хранения данных) должны полностью поддерживаться операционной системой Ubuntu 18.04; - 64-x разрядный Intel dual-core, AMD или совместимый процессор; настоятельно рекомендуется наличие поддержки AES инструкций; - 8 GB оперативной памяти (**Для нормального функционирования сервера в промышленной эксплуатации рекомендуется от 8-ми гигабайт и более**); - 100 Mbps сетевой интерфейс ; - USB порты для использования аппаратных токенов. Требования к по и конфигурации: * При установке Ubuntu 18.04 необходимо использовать данный образ [[http://cdimage.ubuntu.com/releases/18.04.4/release/ubuntu-18.04.5-server-amd64.iso]] * Установленная и настроенная операционная система Ubuntu 18.04 LTS x86-64; * Если сервер безопасности разделен от других сетей брандмауэром и/или NATом, необходимые сетевые соединения от и к Серверу Безопасности разрешены (справочные данные: 1.4; 1.5; 1.6; 1.7). Задействование вспомогательных сервисов необходимых для функционирования и управления операционной системой (такие как DNS, NTP и SSH) не входят в рамки данного руководства; * Если Сервер Безопасности имеет приватный IP адрес, соответствующие правила NAT должны быть созданы на сетевом фильтре (справочные данные: 1.9). ==== 2.4 Подготовка операционной системы ==== Перед началом установки произвести предварительную настройку системы * Глобально задать переменную окружения для установки локали системы echo "LC_ALL=en_US.UTF-8" >> /etc/environment * Cоздать административного пользователя (пункт 1.3) выполнив команду adduser admxroad --shell=/usr/sbin/nologin --no-create-home * Импортировать GPG ключ репозитория wget -qO - https://deb.ordo.gov.kg/key.pub | sudo apt-key add - * Добавить репозиторий в список источников пакетов ОС echo "deb https://deb.ordo.gov.kg/ubuntu18.04 /" | sudo tee -a /etc/apt/sources.list.d/xroad.list * Произвести обновление обновление системы sudo apt-get update && sudo apt-get -y dist-upgrade * Настроить правила межсетевого экрана ''Заметка:'' Ниже производятся общие настройки межсетевого экрана, дополнительные правила требуются для настройки связи сервера безопасности с адаптером и предоставления административного доступа. sudo ufw default deny outgoing sudo ufw default deny incoming sudo ufw allow out 53/tcp sudo ufw allow out 53/udp sudo ufw allow in 5500/tcp sudo ufw allow out 5500/tcp sudo ufw allow in 5577/tcp sudo ufw allow out 5577/tcp sudo ufw allow out 4001/tcp sudo ufw allow out 80/tcp sudo ufw allow out 443/tcp sudo ufw allow out 62301/tcp sudo ufw allow out 62302/tcp sudo ufw allow out 123/udp Включение фаерволла ''Заметка: если вы управляете сервером посредством ssh сессия может прерваться'' sudo ufw enable Разрешение удаленного подключения к интерфейсу администратора сервера безопасности. sudo ufw allow from INTERNAL_IP to any port 4000 proto tcp ==== 2.5 Установка программного обеспечения сервера безопасности ==== * Чтобы установить программное обеспечение сервера безопасности X-Road, выполните следующие действия. apt-get install net-tools xroad-securityserver xroad-addon-opmonitoring xroad-addon-hwtokens libccid pcscd pcsc-tools unzip === При первой установке пакетов система запросит следующую информацию. === * Имя учетной записи для пользователя, которому будут предоставлены права на выполнение всех действий в пользовательском интерфейсе (смотрите пункт: 1.3). * Уникальное имя самоподписанного TLS сертификата (Subject DN) и его альтернативные имена (subjectAltName) (смотрите пункт: 1.8; 1.10). Этот сертификат используется для защиты сетевого соединения интерфейса пользователя. В качестве значений по умолчанию предлагаются имя хоста и IP-адреса, обнаруженные в операционной системе. * Subject DN должен вводится в следующем формате: /CN=server.domain.tld * Все используемые IP-адреса и имена доменов должны быть введены в качестве альтернативных имен в формате: IP:1.2.3.4,IP:4.3.2.1,DNS:servername,DNS:servername2.domain.tld * Уникальное имя владельца сертификата TLS, используемого для обеспечения доступа информационных систем к точке доступа HTTPS (смотрите пункт: 1,8; 1.11). В качестве значений по умолчанию предлагаются имя и IP-адреса, обнаруженные в системе. * Subject DN должен вводится в следующем формате: /CN=server.domain.tld * Все используемые IP-адреса и имена доменов должны быть введены в качестве альтернативных имен в формате: IP:1.2.3.4,IP:4.3.2.1,DNS:servername,DNS:servername2.domain.tld ==== 2.6 Установить Поддержку аппаратных токенов ==== * Для установки Rutoken ЭЦП 2.0 произведите следующие действия apt-get install opensc-pkcs11 opensc добавить в конец файла /etc/xroad/devices.ini следующие строки выполнив команду echo "[Rutoken] library = /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so" | sudo tee -a /etc/xroad/devices.ini Отформатировать токен pkcs15-init --erase-card -p rutoken_ecp Задать Пин код администратора токена. (Сгенерируйте свой пин код) pkcs15-init --create-pkcs15 --so-pin "Sheich0e" --so-puk "" Задать пин код пользователя токена используя пин администратора. (Сгенерируйте свой пин код) pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "Xo7ahkup" --puk "" --so-pin "Sheich0e" --finalize == Установка сервера безопасности завершена == Далее необходимо перезагрузить систему sudo reboot ==== 2.7 Проверка сервера после установки ==== Установка выполнена успешно, если запущены системные службы и пользовательский интерфейс отвечает. чтобы убедится что сервисы X-Road находятся в запущенном состоянии выполните в консоли (далее следует пример вывода): sudo systemctl list-units "xroad*" UNIT LOAD ACTIVE SUB DESCRIPTION xroad-confclient.service loaded active running X-Road confclient xroad-jetty.service loaded active running X-Road Jetty server xroad-monitor.service loaded active running X-Road Monitor xroad-proxy.service loaded active running X-Road Proxy xroad-signer.service loaded active running X-Road signer Убедитесь что интерфейс пользователя сервера безопасности  https://SECURITYSERVER:4000/  может быть открыт в веб браузере (смотрите пункт: 1.8; 1.6). Для входа в интерфйс воспользуйтесь учетной записью пользователя, логин которого был выбран во время установки (смотрите пункт: 1.3). Для запуска Веб интерфейса требуется некоторое время и вы можете увидеть ошибку "502 Bad Gateway". ===== 3 Первоначальная настройка сервера безопасности ===== Во время первоначальной настройки сервера безопасности задаются параметры о принадлежности сервера безопасности к конкретному экземпляру X-Road и пин код программного токена. ==== 3.1 Предпосылки ==== Настройка сервера безопасности предполагает, что владелец сервера безопасности является членом экземпляра X-Road. ==== 3.2 Справочные данные ==== ''ВНИМАНИЕ :'' позиции 2.1 - 2.3 в справочных данных предоставляются владельцу сервера безопасности администраторами центральных компонентов X-Road. Код сервера безопасности (server code) и пин код программного токена (software token’s PIN) будут заданы человеком производящим установку сервера безопасности | 2.1 |Получить у администраторов СМЭВ Тундук |Файл привязки глобальной конфигурации| | 2.2 |GOV - Привителственный,COM - Коммерческий |Класс участника владельца сервера безопасности| | 2.3 |<регистрационный код владельца владельца сервера безопасности> Получить от администраторов СМЭВ Тундук|Код участника владельца сервера безопасности| | 2.4 |<Задать идентификационное имя сервера безопасности>|Код сервера безопасности (Security server's code). Имя сервера безопасности так или иначе должен содержать название организации | | 2.5 |<Задать ПИН для программного токена>|PIN-код программного токена (token’s PIN)| ==== 3.3 Настройка ==== Чтобы выполнить первоначальную настройку, перейдите по адресу https://SECURITYSERVER:4000 с помощью веб браузера (смотрите пункт: 1.8; 1.6). Чтобы войти, используйте имя пользователя заданного во время установки (смотрите пункт: 1.3). {{:wiki:ss-login.png|}} При первом входе в систему система запрашивает следующую информацию.. Файл привязки глобальной конфигурации(The global configuration anchor file) (смотрите пункт: 2.1). Проверьте значение хеша привязки с опубликованным значением. {{:ss-anchor.png}} Если конфигурация успешно загружена, система запрашивает следующую информацию. * Класс участника владельца сервера безопасности (смотрите пункт: 2.2). * Код участника владельца сервера безопасности (смотрите пункт: 2.3). * Код сервера безопасности (Security server code) (смотрите пункт: 2.4), который выбирается администратором сервера безопасности и который должен быть уникальным для всех серверов безопасности, принадлежащих этому экземпляру СМЭВ Тундук. Имя сервера безопасности так или иначе должен содержать название организации. * PIN-код программного токена (software token’s PIN) (смотрите пункт: 2.5). PIN-код будет использоваться для защиты ключей, хранящихся в программном токене. PIN-код должен храниться в безопасном месте, в случае утери, PIN-кода, будет невозможно использовать или восстановить закрытые ключи находящиеся в токене. {{:ss-parameters.png}} ''Если класс участника и код участника правильно введены, система отображает имя владельца сервера безопасности, зарегистрированное в центре X-Road.'' ==== 3.4 Настройка службы времени ==== * Затем задаем Сервис Timestamp который будет использовать сервер В левом меню в разделе CONFIGURATION => System Parameters =>Timestamping Services => ADD Выбираем TSP {{:ss-timestamp.png}} ==== 3.6 Генерация ключей и запросов на подписание сертификатов ==== После после того как начальная конфигурация сервера была задана необходимо ввести пины программного и аппаратного токенов * В левом меню в разделе Management => keys and Certificates Вводим пины программного и аппаратного токенов нажав «ENTER PIN» на соответствующем токене и вводим пин код в диалоговом окне. {{:ss-tokens.png}} ==== 3.7 Генерируем запросы на получение сертификатов ==== * Создание сертификата аутентификации в меню MANAGEMENT => Keys and Certificates выберите **token: softToken-0** Нажать **GENERATE KEY** и в появившемся диалоговом окне в поле **LABEL** задать значение AUTH {{:ss-authkey.png|}} Ниже появится KEY: AUTH(?) Кликаем на него и нажимаем **GENERATE CSR** В полях выбираем значения как изображено ниже. {{ :ss-authkeygen.png |}} Кликаем ОК В появившемся окне ещё раз OK {{ :ss-authcsr.png |}} Сохраняем запрос на сертификат на компьютере. * Создание сертификата подписи в меню MANAGEMENT => Keys and Certificates выберите **token: JaCarta** Нажать **GENERATE KEY** и в появившемся диалоговом окне в поле **LABEL** задать значение SIGN {{ :ss-signkey.png |}} Ниже появится KEY: SIGN(?) Кликаем на него и нажимаем **GENERATE CSR** В полях выбираем значения как изображено ниже. {{ :ss-signkeygen.png |}} Кликаем ОК В появившемся окне ещё раз OK {{ :ss-signcsr.png |}} Сохраняем запрос на сертификат на компьютере. * Затем необходимо отправить два запроса (скачанных файла) на подписание в Удостоверяющий Центр и дождаться сертификатов от удостоверяющего центра ==== 3.8 Импорт сертификатов ==== После получения сертификатов импортировать сертификаты ключей Выбираем KEY: AUTH => REQUEST Нажимем IMPORT CERTIFICATE => OK {{ :ss-auth-import.png |}} Повторяем тоже самое с ключем подписи Выбираем KEY: SIGN => REQUEST Нажимем IMPORT CERTIFICATE => OK {{ :ss-sign-import.png |}} * Активация сертификата аутентифкации Выбрать аутентификационный сертификат {{ :ss-auth-cert-choose.png |}} Нажать **ACTIVATE** Затем нажать **REGISTER** В открывшемся диалоговом окне ввести публичное DNS имя сервера {{ :ss-auth-cert-register.png |}} Затем нажать **ОК** Теперь когда горит стату registration in progress необходимо передать аутентификационный сертификат сервера Администраторам центра электронного взаимодействия. И дождаться подтверждия регистрации в системе. После того, как Центр электронного взаимодействия одобрит вашу регистрацию в системе установка сервера безопасности завершена. ---- Автор С.Бутенко