Astra linux apache ssl

Фронтальная машина

Фронтальная машина — это сервер, на котором развёрнут сервис OpenNebula, предназначенный для управления облаком.

Требования

  • Сервер соответствует минимальным требованиям.
  • На сервере развернута ОС в соответствии с разделом Установка ОС.
  • В сети развернут Контроллер домена.

Подготовка сервера для установки сервиса OpenNebula

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

sudo apt install fly-all-main firefox

В информационных системах, находящихся в эксплуатации, не рекомендуется устанавливать графическую систему на сервере.

  1. Ввести сервер в домен ALD или FreeIPA. В зависимости от типа домена для получения инструкций перейти по одной из ссылок: Ввод в домен ALD или Ввод в домен FreeIPA.
  2. Повысить уровень целостности в ОС . Отредактировать на сервере файл /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.

Читайте также:  Gitlab add ssh key linux

Настройка 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:

Если администрирование облака на разворачиваемом стенде осуществляется непосредственно с узла стенда , то на узле стенда необходимо выполнить следующие действия. В случае, если для администрирования будет использоваться отдельное АРМ, эти действия нужно выполнить на нем, предварительно введя АРМ в домен.

  1. Зайти в систему, используя графический интерфейс Fly, под пользователем brestadmin .
  2. Запустить браузер Firefox.
  3. В адресной строке ввести: 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
  • На сервере с Front-end авторизоваться в графическом интерфейсе системы доменным пользователем brestadmin и запустить Firefox.
    Подключиться к ПК СВ Брест по https://. и после открытия интерфейса выйти из сессии brestadmin , оставив открытым это окно.
  • Очистить кэш в Firefox, для чего перейти в меню браузера Настройки — Приватность и защита — История — Удалить историю, в открывшемся окне выбрать только чекбокс Кэш и нажать Удалить сейчас.
  • Вернуться в браузер к вкладке с ПК СВ Брест и зайти в сессию brestadmin повторно, нажав кнопку Login.
  • В разделе Instances — VMs открыть нужную ВМ и в верхнем меню нажать кнопу VNC . При первом подключении будет получена ошибка: VNC noVNC ready: native WebSockets, canvas rendering.
  • Не закрывая эту вкладку, открыть еще одну вкладку и ввести адрес https://. с указанием порта удаленного подключения 29876. Пример: https://srv.brest.loc:29876/
    После получения предупреждения, добавить страницу в исключения. Для чего нажать кнопки Advanced. и Accept the Risk and Continue.
  • Вернуться на вкладку с ПК СВ Брест и повторить шаг 6.
  • В результате на вкладке с ПК СВ Брест будет получена картинка вывода удаленного доступа для ВМ.
  • При выходе из сессии ПК СВ Брест для 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)

    Источник

    Оцените статью
    Adblock
    detector