Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
ОС ОН Орёл 2.12 (в части, не касающейся мандатного разграничения доступа)

Оглавление


Информация
titleДанная статья применима к:
  • ОС СН Смоленск 1.6
  • ОС СН Ленинград 8.1
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
    Astra Linux Special Edition РУСБ.10015-17
    Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
    Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
    Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
    Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
    Astra Linux Special Edition РУСБ.10015-16 исп. 1
    Astra Linux Special Edition РУСБ.10015-16 исп. 2
    Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
    Astra Linux Common Edition 2.12


    Настройка web-сервера

    На компьютере - web-сервере Apache2 (часть 1)

    Предупреждение
    В ОС СН (Смоленск, Ленинград) Astra Linux Special Edition все действия должны выполняться от имени имени администратора компьютера в сессии администратора домена или локального администратора (при включенном МКЦ - администратора с высоким уровнем целостности).
    1. Установить пакеты:
          - astra-freeipa-client — пакеты для ввода компьютера в домен

    , службу Apache2 и
    1. ;
          - apache2 — служба аpache2;
          - libapache2-mod-auth-kerb — модуль авторизации через Kerberos для службы apache2.
      Команды для установки пакетов:

      Command

      sudo apt update
      sudo apt install astra-freeipa-client apache2 libapache2-mod-auth-kerb


    2. Задать имя компьютера (далее в примере используется имя client):

      Command
      sudo hostnamectl set-hostname client

    И указать заданное имя компьютера в файле /etc/hosts.


    1. Ввести компьютер в домен в качестве клиента.

    На компьютере - контроллере домена FreeIPA

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

      Command

      kinit admin


    2. Добавить службу HTTP: 

      
    1. Command
    kinit admin
    ipa service-add HTTP
    1. ipa service-add HTTP/client.astra.domain@ASTRA.DOMAIN

    Действуя

    1. Получить от

    имени администратора домена выгрузить keytab с КД FreeIPA
    1. контроллера домена FreeIPA таблицу ключей (keytab):

      Command

      /usr/sbin/ipa-getkeytab -

    p HTTP
    1. p HTTP/client.astra.domain@ASTRA.DOMAIN -k ~/

    tmp/
    1. http.keytab

    Далее полученный файл /tmp/
    1. Таблица ключей будет сохранена в домашнем каталоге.


    2. Полученный файл с таблицей ключей http.keytab

    нужно будет
    1. скопировать на web-сервер в каталог /etc/apache2/.

    На компьютере - web-сервере Apache2 (Часть 2)

    Скопировать keytab (файл /tmp/http.keytab) с контроллера домена на web-сервер в каталог Предполагается, что таблица ключей размещена в файле /etc/apache2/http.keytab.Выставить права на keytab:  

    1. Установить права доступа к файлу с таблицей ключей: 

      Command

      sudo chown www-data:www-data /etc/apache2/http.keytab
      sudo chmod

    644
    1. 600 /etc/apache2/http.keytab


    2. В конфигурацию виртуального хоста virtualhost в файле /etc/apache2/sites-available/000-default.conf  внести настройки:

      Блок кода
      <VirtualHost *:80>
      
      	ServerAdmin webmaster@localhost
      	DocumentRoot /var/www
      	ErrorLog ${APACHE_LOG_DIR}/error.log
      	CustomLog ${APACHE_LOG_DIR}/access.log combined
      
      	<Directory /var/www>
      		AuthType Kerberos
      		
    # Имя реалма
    1. # Имя области (realm) Керберос - обычно это имя домена ЗАГЛАВНЫМИ буквами
      		
    KrbAuthRealms ASTRA
    1. KrbAuthRealms ASTRA.DOMAIN
      
      		
    # Полное
    1. # Полное доменное имя 
    сервиса
    1. службы (имя ранее созданной службы HTTP):
      		KrbServiceName HTTP/client.astra.domain@ASTRA.DOMAIN
      
      		
    # Имя
    1. # Имя файла, в котором сохранены ключи
      		Krb5Keytab /etc/apache2/http.keytab
      		KrbMethodNegotiate on
      		KrbMethodK5Passwd off
      		require valid-user
      		KrbSaveCredentials on
      	</Directory>
      </VirtualHost>


    2. Создать каталог для виртуального сервера:

      1. На компьютере - web-сервере назначить мандатные атрибуты каталогу с виртуальным сервером:   

        Command

        sudo pdpl-file -u 3:0:

    0xffffffffffffffff
      1. -1:

    0x1
      1. ccnr /var/www/
        sudo pdpl-file -u 3:0:

    0xffffffffffffffff
      1. -1:

    0x1
      1. ccnr /var/www/html/


      2. Перезапустить web-сервер (службу apache2):

        Command

        sudo systemctl restart apache2


    Проверка работы мандатных ограничений

    1. На компьютере - контроллере домена
    создать
    1. :
      1. Создать доменного пользователя
    , и выставить ему ненулевой   "максимальный уровень конфиденциальности"   (например, 1)
      1. .
      2. Разрешить созданному пользователю работать с ненулевой классификационной меткой. Например, установить ему максимальный иерархический уровень конфиденциальности 1.
    1. На компьютере - web-сервере
    в
    1. :
      1. В папке виртуального сервера /var/www/html/

      создать 
      1. создать 2 файла

    и установить ненулевую мандатную метку на файл 1.html:   
      1. , например 0.html и 1.html с содержимым "Hello world! 0" и "Hello world! 1" соответственно.

        Command

        echo "Hello world! 0" | sudo tee /var/www/html/0.html
        echo "Hello world! 1" | sudo tee /var/www/html/1.html


      2. Установить классификационную метку на файл 1.html:   

        Command

        sudo pdpl-file 1:0:0 /var/www/html/1.html

    Должно получиться так: 

    Image Removed


    1. На любом компьютере, который должен выступать в роли клиента

    ,
    1. :

      1. Включить в web-браузере авторизацию negotiate

    авторизацию (
      1. для чего открыть страницу about:config и добавить http://  в параметры network.negotiate-auth.delegation-uris и network.negotiate-auth.trusted-uris

    )
      1. :  

        Image Modified
    После чего зайти на клиентский компьютер под пользовательской доменной учетной записью с нулевым уровнем конфиденциальности и попытаться
      1. Войти на клиентском компьютере в пользовательскую сессию с нулевой классификационной меткой.
      2. Попытаться получить доступ к странице с ненулевым уровнем конфиденциальности http://client.astra.domain/html/1.html. Результатом должен стать отказ в доступе:

      1. Image Modified

        Предупреждение
    При этом в
      1. В диагностическом сообщении об ошибке
    будет
      1. указано, что объект не найден (ошибка 404), и не будет указана ошибка 403 (недостаточно прав).

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

      1. Проверить доступ к странице с

    нулевым уровнем конфиденциальности 
      1. нулевой классификационной меткой  http://client.astra.domain/html/0.

    html 
      1. html. Доступ  должен предоставляться:  

        Image Modified
    При входе на клиентский компьютер под  пользовательской доменной учетной записью с ненулевым уровнем конфиденциальности
      1. Выполнить на клиентском компьютере вход под в пользовательскую сессию с ненулевой классификационной меткой. При этом должны быть доступны обе страницы.