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

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »


Данная статья применима к:

  • ОС СН Смоленск 1.6
  • ОС СН Ленинград 8.1
  • ОС ОН Орёл 1.6 (в части, не касающейся мандатного разграничения доступа)

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

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

Действуя от имени администратора домена добавить службу HTTP:    

ipa service-add HTTP/client.astra.domain@ASTRA.DOMAIN
Действуя от имени администратора домена выгрузить keytab с КД FreeIPA:
ipa-getkeytab -p HTTP/client.astra.domain@ASTRA.DOMAIN -k /tmp/http.keytab
Далее полученный файл нужно будет скопировать WEB-сервер в каталог /etc/apache2/.

На компьютере - WEB-сервере Apache2

В ОС СН (Смоленск, Ленинград) все действия должны выполняться от имени имени администратора компьютера с высоким уровнем целостности.

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

Установить службу apache2 с модулем авторизации через Kerberos: 

sudo update
sudo apt install apache2 libapache2-mod-auth-kerb
Скопировать keytab с контроллера домена на WEB-сервер в каталог /etc/apache2/.

Выставить права на keytab:  
sudo chown www-data /etc/apache2/http.keytab
sudo chmod 644 /etc/apache2/http.keytab
В конфигурацию виртуального хоста 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
		# Имя реалма Керберос - имя домена ЗАГЛАВНЫМИ буквами
		KrbAuthRealms ASTRA.DOMAIN

		# Полное доменное имя сервера
		KrbServiceName HTTP/client.astra.domain@ASTRA.DOMAIN

		# Имя файла, в котором сохранены ключи
		Krb5Keytab /etc/apache2/http.keytab
		KrbMethodNegotiate on
		KrbMethodK5Passwd off
		require valid-user
		KrbSaveCredentials on
	</Directory>
</VirtualHost>

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

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


sudo pdpl-file 3:0:0xffffffffffffffff:0x1 /var/www/html/

Перезапустить web-сервер:

sudo systemctl restart apache2

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

На компьютере - контроллере домена создать доменного пользователя, и выставить ему ненулевой   "максимальный уровень конфиденциальности"   (например, 1).

На компьютере - WEB-сервере создать тестовые выполнить:   

sudo pdpl-file 3:0:0xffffffffffffffff:0x1 /var/www/html/
В папке web сервера /var/www/html/  создать  2 файла и установить метку на файл 1.html:   
sudo touch /var/www/html/0.html
sudo  /var/www/html/1.html
sudo pdpl-file 1:0:0 /var/www/html/1.html
Должно получиться так: 


Далее настроить в браузере negotiate авторизацию ( добавить http:// ):  


После всех настроек зайти на клиентский компьютер под доменной учетной записью с уровнем конфиденциальности 0: 

Далее пытаемся зайти на  http://client.astra.domain/html/1.html  ,  в результате чего получаем отказ:  


А если запросить  http://client.astra.domain/html/0.html  ,  то  получаем доступ к содержимому файла:  






  • Нет меток