- Фронтальная машина
- Требования
- Подготовка сервера для установки сервиса OpenNebula
- Установка и настройка Front-end на сервере
- Самоподписанные сертификаты
- Настройка Apache2
- Настройка клиента
- Проверка
- Настройка корректного подключения к ВМ по VNC или SPICE через HTTPS
- Настройка Apache + SSL для работы сайта по HTTPS
- Шаг 1. Создание сертификата
- Шаг 2. Установка модуля SSL для Apache
- Шаг 3. Настройка Apache
- Шаг 4. Проверка работоспособности
- Шаг 5. Настройка редиректа
- В конфигурационном файле
- В файле .htaccess
- Установка модуля rewrite
- Apache + NGINX
Фронтальная машина
Фронтальная машина — это сервер, на котором развёрнут сервис OpenNebula, предназначенный для управления облаком.
Требования
- Сервер соответствует минимальным требованиям.
- На сервере развернута ОС в соответствии с разделом Установка ОС.
- В сети развернут Контроллер домена.
Подготовка сервера для установки сервиса OpenNebula
Стендовый сервер, включающий роль фронтальной машины, может выполнять роль рабочего места администратора и являться точкой входа в облако. Для этого на сервере необходимо установить графическое окружение рабочего стола и браузер firefox командой:
sudo apt install fly-all-main firefox
В информационных системах, находящихся в эксплуатации, не рекомендуется устанавливать графическую систему на сервере.
- Ввести сервер в домен ALD или FreeIPA. В зависимости от типа домена для получения инструкций перейти по одной из ссылок: Ввод в домен ALD или Ввод в домен FreeIPA.
- Повысить уровень целостности в ОС . Отредактировать на сервере файл /etc/default/grub :
GRUB_CMDLINE_LINUX_DEFAULT="parsec.max_ilev=127 parsec.ccnr_relax=1 quiet net.ifnames=0"
Установка и настройка Front-end на сервере
sudo apt install postgresql-9.6
sudo apt install brestcloud-ald
sudo apt install brestcloud-ipa
Если подготавливается несколько серверов с ролью Front-end для отказоустойчивости управления по алгоритму RAFT, то в каждом случае следует задавать одинаковые названия БД и учетных данных для доступа к ней.
Самоподписанные сертификаты
Для того чтобы с оздать самоподписанный сертификат для возможности использования протокола https , требуется сгенерировать его с помощью OpenSSL:
- Создать каталог для сертификатов и ключей (для ПК СВ «Брест» с обновлением 2.6 этот каталог уже существует):
sudo openssl req -x509 -nodes -newkey rsa:2048 -days 3650 -keyout /etc/apache2/ssl/.key -out /etc/apache2/ssl/.crt
Country Name (2 letter code) [AU]: — страна/регион (необязательно) State or Province Name (full name) [Some-State]: — штат (необязательно) Locality Name (eg, city) []: — город (необязательно) Organization Name (eg, company) [Internet Widgits Pty Ltd]: — имя организации (необязательно) Organizational Unit Name (eg, section) []: — подразделение организации, пропустить (необязательно) Common Name (e.g. server FQDN or YOUR name) []: — Обязательное поле, это имя, по которому к серверу будут обращаться . Email Address []: — адрес электронной почты (необязательно)
sudo openssl x509 -noout -text -in /etc/apache2/ssl/.crt
Если настроен алгоритм RAFT и плавающий сетевой адрес для отказоустойчивого управления ПК СВ «Брест», то необходимо использовать один и тот же самоподписанный сертификат на всех узлах с Front-end, добавленных в RAFT.
Настройка Apache2
Для настройки Apache2 следует изменить содержание файла /etc/apache2/sites-available/000-default.conf.
- Перенаправить порт 80 на 443, указать расположение файлов сертификата и ключа. Привести файл к виду:
ServerName . Redirect permanent / https://. ServerName . ServerAdmin webmaster@localhost Options FollowSymLinks AllowOverride None DocumentRoot /usr/lib/one/sunstone/public SSLEngine on SSLCertificateFile /etc/apache2/ssl/.crt SSLCertificateKeyFile /etc/apache2/ssl/.key BalancerMember http://127.0.0.1:9869 ProxyPass /brestcloud ! ProxyPass / balancer://unicornservers/ ProxyPassReverse / balancer://unicornservers/ ProxyPreserveHost on AuthType Kerberos KrbAuthRealms KrbServiceName HTTP/. Krb5Keytab /etc/apache2/apache2.keytab KrbMethodNegotiate on KrbMethodK5Passwd off KrbSaveCredentials on require valid-user AllowOverride all RewriteEngine On RewriteCond %/% !-f RewriteRule ^/(.*)$ balancer://unicornservers% [P,QSA,L] RewriteCond % (.+) RewriteRule . - [E=RU:%1] RequestHeader add X-Forwarded_Remote-User %e ScriptAlias /brestcloud/ /usr/lib/one/brestcloud/ Options +ExecCGI AddHandler cgi-script .cgi AuthType Kerberos KrbAuthRealms KrbServiceName HTTP/. Krb5Keytab /etc/apache2/apache2.keytab KrbMethodNegotiate on KrbMethodK5Passwd off KrbSaveCredentials on require valid-user AllowOverride all ErrorLog $/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog $/access.log combined
sudo apachectl configtest
sudo systemctl restart apache2
Настройка клиента
Для подключения к графическому интерфейсу управления необходим веб-браузер Firefox:
Если администрирование облака на разворачиваемом стенде осуществляется непосредственно с узла стенда , то на узле стенда необходимо выполнить следующие действия. В случае, если для администрирования будет использоваться отдельное АРМ, эти действия нужно выполнить на нем, предварительно введя АРМ в домен.
- Зайти в систему, используя графический интерфейс Fly, под пользователем brestadmin .
- Запустить браузер Firefox.
- В адресной строке ввести: about:config и найти следующие параметры, которые необходимо исправить :
network.negotiate-auth.delegation-uris network.negotiate-auth.trusted-uris
Проверка
Перейти в интерфейс OpenNebula для настройки ПК СВ «Брест» по адресу: https://.
Отобразится приглашение войти в систему, в котором следует нажать Login :
Если после нажатия кнопки Login отобразится интерфейс управления облаком , настройки произведены успешно!
Настройка корректного подключения к ВМ по VNC или SPICE через HTTPS
Данный пункт необходим в случае отсутствия настроенного центра сертификации. Описывается процесс настройки и добавления самоподписанного сертификата в доверенные.
Для корректного подключения к ВМ по VNC или SPICE с использованием HTTPS выполнить следующие шаги:
- На сервере, где работают службы Front-end, в файле /etc/one/sunstone-server.conf поменять следующие параметры, указав пути к сертификату и ключу:
:vnc_proxy_support_wss: yes :vnc_proxy_cert: /etc/apache2/ssl/.crt :vnc_proxy_key: /etc/apache2/ssl/.key
root@srv:/etc/one# service unicorn-opennebula restart root@srv:/etc/one# service opennebula-novnc restart root@srv:/etc/one# service apache2 restart
Подключиться к ПК СВ Брест по https://. и после открытия интерфейса выйти из сессии brestadmin , оставив открытым это окно.
После получения предупреждения, добавить страницу в исключения. Для чего нажать кнопки Advanced. и Accept the Risk and Continue.
При выходе из сессии ПК СВ Брест для brestadmin все исключения, добавленные в Firefox, сохранятся.
Настройка Apache + SSL для работы сайта по HTTPS
Обновлено: 17.02.2022 Опубликовано: 31.01.2017
Используемые термины: Apache, CentOS, Ubuntu, FreeBSD. Инструкция написана для операционных систем на базе UNIX.
Шаг 1. Создание сертификата
Для боевого сервера, сертификат должен быть получен от доверенного центра сертификации — либо локального для компании, либо коммерческого. Или получен бесплатно от Let’s Ecnrypt. Для тестовой среды можно сгенерировать самоподписанный сертификат. Для этого сперва переходим в рабочую папку. а) на Red Hat / CentOS:
openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=test.dmosk.local/CN=test»
* в данном примере созданы открытый и закрытый ключи на 4 года (1461 день); значения параметра subj могут быть любыми в рамках тестирования.
Шаг 2. Установка модуля SSL для Apache
Шаг 3. Настройка Apache
ServerName site.ru
DocumentRoot /var/www/apache/data
SSLEngine on
SSLCertificateFile ssl/cert.pem
SSLCertificateKeyFile ssl/cert.key
#SSLCertificateChainFile ssl/cert.ca-bundle
- ServerName — домен сайта;
- DocumentRoot — расположение файлов сайта в системе;
- SSLCertificateFile и SSLCertificateKeyFile — пути до файлов ключей, которые были сгенерированы на шаге 1;
- SSLCertificateChainFile — при необходимости, путь до цепочки сертификатов (если используем не самоподписанный сертификат).
Проверяем корректность настроек в Apache:
Перечитываем конфигурацию apache:
Шаг 4. Проверка работоспособности
Открываем браузер и переходим на наш сайт, добавив https://. При использовании самоподписного сертификата (как в нашем случае), обозреватель выдаст предупреждение, что передача данных не безопасна. Подтверждаем наше намерение открыть сайт. Если все работает, переходим к шагу 5.
Если сайт не заработал, пробуем найти причину по log-файлу. Как правило, он находится в каталоге /var/log/apache или /var/log/httpd.
Шаг 5. Настройка редиректа
Чтобы все запросы по http автоматически перенаправлялись на https, необходимо настроить перенаправление (redirect). Есть несколько способов это сделать.
В конфигурационном файле
Открываем файл с настройкой виртуальных доменов (как в шаге 3) и дописываем следующее:
* в конкретном примере, мы перенаправили все запросы для сайта site.ru.
** обратите особое внимание, что если у Вас уже есть VirtualHost *:80 для настраиваемого сайта, необходимо его закомментировать или отредактировать.
В файле .htaccess
Установка модуля rewrite
Чтобы перенаправление работало в Apache, необходимо установить модуль rewrite.
а) в CentOS открываем конфигурационный файл и проверяем наличие строки:
LoadModule rewrite_module modules/mod_rewrite.so
* если ее нет, добавляем; если она закомментирована, снимаем комментарий.
systemctl restart apache2
Apache + NGINX
При использовании веб-сервера на базе и Apache и NGINX, как правило, наружу смотрит последний. В таком случае, именно он будет отвечать на http-запросы, и в таком случае нужно настраивать SSL на NGINX.
Как настроить Apache для работы по HTTPS (SSL)