Защищенный web сервер astra linux

Установка и настройка Apache2 на Astra Linux

В данной статье приведён пример установки и настройки Apache HTTP Server (Apache2) на OC Astra Linux SE. Если в ОС уже настроен виртуальный дисплей xvfb, то подготовка системы не требуется и можно перейти сразу к установке Apache2.

Подготовка системы

Выполните следующие действия:

Разрешите доступ к DISPLAY 0.0. Для этого откройте файл X0.hosts, выполнив в терминале команду:

sudo nano /etc/X0.hosts

В открывшемся файле добавьте строку:

Примечание . Если у вас физический дисплей настроен на другой номер, то после X необходимо указать соответствующую цифру.

Откройте конфигурационный файл xserverrc:

sudo nano /etc/X11/xinit/xserverrc

exec /usr/bin/X -nolisten tcp «$@»

Откройте конфигурационный файл fly-dmrc:

sudo nano /etc/X11/fly-dm/fly-dmrc

sudo service fly-dm restart

После перезагрузки X-сервера запустите его заново командой startx и авторизуйтесь. Для корректной работы сервисов должен быть произведён вход пользователем в графическое окружение системы из физической консоли.

Установка и настройка Apache2

В стандартной поставке Astra Linux SE Apache2 доступен только в конфигурации prefork. В связи с этим для Astra Linux используется Apache2 собственной сборки, собранный с модулем coworker. Apache HTTP Server поставляется с архивом платформы и распаковывается в каталог /opt/ Foresight /fp9.3 -biserver/bin/apache/2.2.

Примечание . При смене каталога расположения Apache HTTP Server надо изменить в файле conf/httpd.conf значения параметров ServerRoot, DocumentRoot, Directory и ScriptAlias, где указан путь до /opt/ Foresight /fp9.3-biserver/bin/apache/2.2, на соответствующий новому расположению веб-сервера.

Перенесите init-файл apache2-fp9.3 в каталог /etc/init.d/ командами в терминале:

sudo cp /opt/ Foresight /fp9.3 -biserver/bin/apache/2.2/apache2-fp9.3 /etc/init.d/

sudo chmod +x /etc/init.d/apache2-fp9.3

init-файл запуска Apache2 можно создать вручную, вставив листинг скрипта ниже в файл /etc/init.d/apache2-fp9.3. Откройте файл для редактирования:

sudo juffed /etc/init.d/apache2-fp9.3

Вставьте текст скрипта и сохраните файл apache2-fp9.3:

### BEGIN INIT INFO

# Required-Start: $local_fs $remote_fs $network $syslog $named

# Required-Stop: $local_fs $remote_fs $network $syslog $named

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start/stop apache2 web server

Источник

Веб-приложения в защищённой среде

В последнее время в «Вопросах и ответах» часто спрашивают о различных нюансах работы Apache, WSGI и веб-приложений в Astra Linux Special Edition.

Работа веб-приложений в ОС СН Astra Linux Special Edition имеет ряд особенностей, обусловленных наличием мандатного разграничения доступом и режимов аутентификации пользователей.

Разработчик веб-приложения вправе самостоятельно решать вопросы идентификации и аутентификации пользователей его системы. Однако, при разработке подобных функций следует учесть возникающую необходимость сертификации разрабатываемых программных средств по требованиям отсутствия несанкционированного доступа (НСД) к данным.

Мы рекомендуем использовать встроенные механизмы защиты и идентификации пользователей с помощью защищённого веб-сервера Apache. Штатный веб-сервер Astra Linux Special Edition требует принудительной аутентификации во всех случаях взаимодействия и обеспечивает мандатное разграничение доступа.

Для разработчиков и администраторов предлагаются два механизма:

  • PAM (использование базы локальных пользователей);
  • ALD (использование базы доменных пользователей).
Читайте также:  Asus x540s драйвер тачпада windows 10

В основе PAM-аутентификации лежит метод простой аутентификации протокола HTTP (RFC 7617). Для использования в распределенных сетевых системах более подходящим является метод на базе протокола GSS-API (SPNEGO) с использованием механизма Kerberos.

Для того, чтобы настроить Apache на аутентификацию по Kerberos и использование мандатной защиты, необходимо:

  1. Создать принципала для сервиса:
  2. Добавить его в группу mac:
  3. Создать файл ключей:
  4. И установить на него режим доступа 0644 для пользователя и группы www-data.

После подключения пользователя Apache выполняет аутентификацию пользователя и определяет мандатные атрибуты подключения. После этого запрос обрабатывается процессом-обработчиком с UID аутентифицированного пользователя и соответствующими мандатными аттрибутами.

Модуль mod_wsgi для работы с приложениями WSGI присутствует в дистрибутиве ОС. Штатно поддерживается аутентификация и учитываются мандатные метки. Особенностью mod_wsgi в Astra Linux SE является возможность работы только в режиме embbeded. Т.о. при каждом запросе сервер в принудительном порядке создает процесс для запроса пользователя и происходит загрузка приложения. На данный процесс устанавливается мандатные атрибуты и UID подключенного пользователя.

Веб-сервер Apache из состава Astra Linux Special Edition запускает приложения WSGI для каждого пользовательского запроса. Такой подход обеспечивает необходимые условия для работы мандатной защиты данных. Следствием является увеличение потребления ресурсов и времени ответа на запросы.

Существует возможность использования запущенного WSGI-процесса для обработки последовательности запросов от пользователя в рамках постоянного HTTP-соединения. Веб-сервер не завершает запущенные обработчики WSGI в пределах параметра KeepAliveTimeout. Клиенты могут повторно использовать установленное соединение для ускорения обработки запросов.

Приложение Django

Настройка Django-приложения необходима для работы с переменной окружения REMOTE_USER, через которую Apache передает в веб-приложение идентификатор аутентифицированного пользователя.

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

Аутентификация по Kerberos

Для правильной работы аутентификации по Kerberos необходимо:

  1. Настроить сайт в веб-сервере Apache;
  2. Настроить приложение Django.

Настройка сайта сводится к указанию типа аутентификации для обслуживаемого каталога:

При использовании аутентификации по Kerberos (Astra Linux Directory) возникает необходимость получения билетов для подключения к внутренним модулям и сервисам, скрытым от пользователя. Для каждого подключения необходимо получить билет Kerberos на основе пользовательского запроса, что влечет за собой обращение к Kerberos KDC. Получается, что один пользовательский запрос приводит к необходимости нескольких запросов в Kerberos и, скорее всего, в LDAP.

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

В обоих случаях необходимо настроить мандатные атрибуты на контейнер (БД и каталог соответственно).

При использовании для кэша PostgreSQL возможны две стратегии использования Kerberos (посредством GSS-API) при аутентификации в PostgreSQL:

  1. Использование данных аутентификации (билетов) пользователя.
  2. Делегирование полномочий веб-приложению.

Пример сайта для Apache

Авторизация пользователей в веб-приложении

При использовании ALD для аутентификации пользователей, авторизация в веб-приложении может быть выполнена стандартными функциями ППИ.

Получения идентификатора пользователя возможно двумя путями:

  1. Получение UID процесса.
  2. Получение учетной записи из REMOTE_USER.

Самый простой способ авторизации — использование групп ALD. В этом случае возможно использовать стандартные функции: pwd. getpwnam, grp. getgrgid и др. Такой подход исключает необходимость непосредственного обращения в базу LDAP.

Читайте также:  Dhclient linux что это

Получение метки текущего процесса

При создании сложных веб-приложений возникает задача получения мандатной метки пользователя. Получить мандатную метку в WSGI приложении можно используя библиотеку python-parsec.

Похожие статьи

Сборка Mono для Debian и Astra Linux

Команда Лаборатории 50 подготовила сборку Mono для Debian Buster и Astra Linux Special Edition 1.6. Состав В сборку входит: Mono 6.12; LibGdiPlus 6.0.6; Entity Framework 6; драйвер Npgsql Entity Framework.

ГосJava 2020.3

Изменения по сравнению с версией 2020.2 Java Runtime Environment Импортированы исправления из OpenJDK 8u262. Закрыты уязвимости: CVE-2020-14583: incomplete interface type checks in Graal compiler (Hotspot, 8236867). CVE-2020-14664: out-of-bounds write in.

Запуск нескольких экземпляров Tomcat

Запуск нескольких экземпляров Apache Tomcat Если есть необходимость запуска нескольких экземпляров сервера Apache Tomcat, то стандартные настройки и скрипты запуска не подходят. Ниже приведена инструкция и примеры скриптов для решения.

Источник

Настройка PAM авторизации в защищенном Apache

Как уже упоминалось в одной из наших предыдущих заметок, в состав Astra Linux Special Edition входит защищенный комплекс программ гипертекстовой обработки данных, в качестве веб-сервера туда включен Apache2, который доработан с целью улучшения безопасности. В данной заметке мы коротко опишем как настроить данный веб-сервер с использованием PAM авторизации.

  1. Ставим пакеты
  2. Проверяем, что в файле /etc/apache2/ports.conf содержатся следующие строки (если конечно Вы собираетесь использовать стандартный 80, а не какой-нибудь другой порт):
  3. Создаем конфигурацию виртуального хоста (в примере сайтик из одной стандартной страницы It works!):
  4. Включаем PAM авторизацию и наш виртуальный хост:
  5. Для корректного функционирования авторизации через PAM пользователю, от которого работает веб-сервер (по-умолчанию — www-data), необходимо выдать права на чтение информации из БД пользователей и сведений о мандатных метках, для этого выполняем следующие команды:
  6. Затем для пользователя под которым будем заходить, выполняем команду настройки (по-сути просто сбрасываем в 0) минимальный и максимальный наборы мандатных категорий (мы их и не настраивали):
  7. Открываем браузер обращаемся по именисервера, который указали в конфигурационном файле виртуального хоста, и должны увидеть сперва окно с предложением ввести логи\пароль и после успешного ввода данных Вам откроется страница c текстом «It works!», как на картинке ниже:

На очереди рассказ про настройку kerberos авторизации. Stay tuned!

Смотрите также нашу статью «Веб-приложения в защищённой среде» и вопросы посетителей, касающиеся Apache.

Похожие статьи

Сборка Mono для Debian и Astra Linux

Команда Лаборатории 50 подготовила сборку Mono для Debian Buster и Astra Linux Special Edition 1.6. Состав В сборку входит: Mono 6.12; LibGdiPlus 6.0.6; Entity Framework 6; драйвер Npgsql Entity Framework.

ГосJava 2020.3

Изменения по сравнению с версией 2020.2 Java Runtime Environment Импортированы исправления из OpenJDK 8u262. Закрыты уязвимости: CVE-2020-14583: incomplete interface type checks in Graal compiler (Hotspot, 8236867). CVE-2020-14664: out-of-bounds write in.

Запуск нескольких экземпляров Tomcat

Запуск нескольких экземпляров Apache Tomcat Если есть необходимость запуска нескольких экземпляров сервера Apache Tomcat, то стандартные настройки и скрипты запуска не подходят. Ниже приведена инструкция и примеры скриптов для решения.

Читайте также:  Rufus ��� ������� ����������� ������ ������ ����

39 Comments

Интересная заметка. Проверил, действительно работает. Значит ли это, что в качестве аутентификации можно использовать пользователей домена. И, есть ли возможность использовать эту аутентификацию на PHP?

Пользователей ALD не получится использовать, по крайней мере без танцев с бубном, если нужно ходить ald’шными, то тут самое оно это керберосная авторизация… постараюсь написать в ближайшее время.
Про php:
1. Повторяем пункты из статьи
2. aptitue install libapache2-mod-php5
3. nano /var/www/test.php
4. вводим, например:
# test. php

5. вводим в браузере имясервера/test.php
6. профит

А если имелся ввиду php-auth-pam…то это скучная история.

Здравствуйте.
Какие репозитории используются? libapache2-mod-php5 нет на диске с astra linux se 1.4

Проверил, в наличии (пакетlibapache2-mod-php55.4.4−2astra2_amd64.deb)

А можно ли выключить авторизацию вообще или проводить авторизацию по ip адресам, а не используя парольную защиту.

Источник

Установка серверной части веб-приложения на ОС Astra Linux

В данной статье приведен пример установки серверной части веб-приложения на ОС Astra Linux. В стандартной поставке ОС Astra Linux нет Java и сервера приложений Apache Tomcat, их можно скачать с официальных сайтов Oracle и Apache Tomcat.

Примечание . Java-машина не сертифицирована для использования в Astra Linux, рекомендуется использовать веб-сервер Apache. Более подробно читайте в разделе «Настройка Apache для доступа к ресурсам веб-приложения».

Производите установку от имени пользователя, обладающего правами локального администратора компьютера.

Установка веб-приложения на OC Linux выполняется с помощью установочного архива pp.war (единый для x86 и x64 платформ). Процесс установки зависит от используемой версии Java. В инструкции приведен пример установки веб-приложения на Java веб-сервер Apache Tomcat версии 7.

Установите Java 7 или выше, информацию по установке Java на debian-подобный дистрибутив можно найти в сети интернет.

Распакуйте архив Apache Tomcat 7 в домашний каталог пользователя, предполагается что архив лежит в домашнем каталоге пользователя (в терминале):

Откройте файл tomcat-users.xml:

Добавьте пользователя с правами manager-gui:

Если размер архива веб-приложения pp.war превышает лимит загрузки по умолчанию равный 50 мегабайт, то отредактируйте допустимый лимит. Для этого откройте файл

и измените допустимый лимит:

Запустите Apache Tomcat в терминале:

Примечание . Для проверки работы Apache Tomcat в браузере откройте страницу http://localhost:8080/.

В браузере перейдите на странице администрирования Apache Tomcat по ссылке http://localhost:8080/manager/html. Авторизуйтесь под пользователем, который был указан в tomcat-users.xml.

На открывшейся странице перейдите к разделу «WAR file to deploy». Нажмите кнопку «Browse» и укажите путь к файлу pp.war:

Нажмите кнопку « Deploy ». Убедитесь, что приложение успешно установлено:

Добавьте ссылку на BI-сервер и идентификатор репозитория, к которому будет осуществляться подключение, в файле PP.xml. Чтобы открыть файл, в терминале выполните команду:

sudo gedit /var/lib/ /webapps/pp/config/PP.xml

    • для BI-сервера, запущенного с помощью axis2_http_server:

Важно . Запуск axis2_http_server.exe в промышленной эксплуатации запрещен.

    • для BI-сервера, запущенного под управлением Apache HTTP-сервера:

Если BI-сервер был установлен с помощью установочного пакета, то строка будет иметь следующий вид:

Перезапустите Apache Tomcat для применения новой конфигурации. Для этого выполните в терминале:

Источник

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