- Ввод Astra Linux Special Edition 1.6 в Active Directory с настройкой SSO в PostgreSQL.
- Вводные данные
- Разблокировка учетной записи ROOT
- Настройка сети на bd1
- Установим требуемые пакеты
- Настройка конфигурационных файлов для работы с доменом Active Directory.
- Astra Linux Special Edition 1.5 ⬝ Быстрый ввод в домен Windows AD
- Графическая утилита для ввода Astra Linux SE/CE в домен AD
- Ввод Astra Linux в домен Windows
- Разблокирование суперпользователя (root)
- Настройка сети
- Установка требуемых пакетов
- Настройка конфигурационных файлов
- Настройка Apache и Postgresql на работу с Kerberos
Ввод Astra Linux Special Edition 1.6 в Active Directory с настройкой SSO в PostgreSQL.
Настроим ОС Astra Linux SE 1.6 и введем в домен MS Active Directory . В процессе настроим SMABA, WINBIND и POSTGRESQL, а также настроим в POSTGRESQL SSO через GSSAPI.
Данная настройка проводилась с обновлением ОС Astra Linux SE 1.6 — 20191029SE16 . Процесс обновления ОС не описан в процессе конфигурации.
Вводные данные
Контроллеры домена Active Directory
Сервер c базой данных Postgresql
ОС – Astra Linux SE 1.6. Установлена без ALD и без режима киоска. Дополнительное ПО выбрано базовые средства, рабочий стол Fly, средства работы в сети, СУБД.
Разблокировка учетной записи ROOT
Для удобства настройки разблокируем учетную запись ROOT
Для безопасности по окончанию работ требуется заблокировать учетную запись ROOT!
Настройка сети на bd1
Приведем файл /etc/hosts к виду
Проверим правильность имени машины в /etc/hostname
Настроим статический IP-адрес, для этого внесем строки в файл /etc/network/interfaces
Для автоматической генерации файла /etc/resolv.conf установим пакет resolvconf.
Проверим, должен появиться интерфейс eth0 с назначенным нами адресом 192.168.0.100
Проверим доступность контроллеров домена Active Directory
Настроим синхронизацию времени с контроллерами домена, для этого в файле /etc/ntp.conf добавим в секцию «You do need to talk to an NTP server or two (or three)»
Установим требуемые пакеты
Сначала проверим установлены ли пакеты SAMBA, WINBIND, NTP и POSTGRESQL
Произведем до установку пакетов которые нам потребуются далее (потребуется диск с дистрибутивом ОС)
apt-get install nscd nslcd libpam-winbind libpam-krb5 libsasl2-modules-gssapi-mit krb5-user libnss-winbind
Чтобы установить следующий пакет потребуется диск разработчика
Настройка конфигурационных файлов для работы с доменом Active Directory.
Отредактируем конфигурационный файл Kerberos /etc/krb5.conf и приведем его к виду
Astra Linux Special Edition 1.5 ⬝ Быстрый ввод в домен Windows AD
Описание процесса настройки Astra Linux 1.5 SE для ввода в домен Windows. Настройка SAMBA, Winbind, Apache и Postgresql.
Графическая утилита для ввода Astra Linux SE/CE в домен AD
Существует графическая утилита для ввода Astra Linux SE 1.5 и Astra Linux CE 1.11 в домен AD. Для ее использования необходим пакет astra-winbind_1.7-1_all.deb
Пакет можно скачать по указанной выше ссылке, и установить командой:
Напоминаем о том, что перед вводом клиента в AD или ALD необходимо корректно настроить сеть.
Внимание! Если в дальнейшем будет изменятся конфигурационный файл samba, будет выполнено повторное введение в AD или возникнет затруднение, то обязательно потребуется очистка /var/cache/samba/* и /var/lib/samba/*
Ввод Astra Linux в домен Windows
Исходные данные:
Имя — dc
Домен – dev.local
ОС — Windows Server 2008 R2. Настроен как контроллер домена
ip — 192.168.1.1
Имя – ws3
ОС — Astra Linux 1.5 SE. Установлена без ALD и без режима киоска. Из дополнительного ПО на этапе установки выбрано: базовые средства, рабочий стол Fly, средства работы в сети, сетевые сервисы, СУБД.
ip — 192.168.1.3
Разблокирование суперпользователя (root)
Для более удобной работы разблокируем учётную запись root:
Назначим пароль для учётной записи root:
root разблокирован. Можно использовать su или перезайти root-ом. Можно не использовать учётную запись root, а команды выполнять с использованием sudo. По завершении настроек учётную запись root необходимо заблокировать!
Настройка сети
В начало файла /etc/hosts добавить строки:
192.168.1.3 ws3.dev.local ws3 127.0.0.1 localhost
Строку с 127.0.1.1 ws3 удалить.
Убедиться, что в файле /etc/hostname правильно указано имя машины:
Назначим статический ip-адрес. В файл /etc/network/interfaces добавить строки:
auto eth0 iface eth0 inet static address 192.168.1.3 gateway 192.168.1.1 netmask 255.255.255.0
Создать файл /etc/resolv.conf и добавить строки:
domain dev.local search dev.local nameserver 192.168.1.1
Перезапустим сетевую службу:
Установка требуемых пакетов
Проверить установлены ли samba, winbind, ntp, apache2 и postgresql:
Установить дополнительные пакеты (потребуется диск с дистрибутивом):
sudo apt-get install nscd nslcd libpam-winbind libpam-krb5 libapache2-mod-auth-kerb php5 php5-pgsql php5-sybase php5-ldap libsasl2-modules-ldap libsasl2-modules-gssapi-mit krb5-user
Настройка конфигурационных файлов
Редактируем файл /etc/krb5.conf и добавляем недостающую информацию в соответствующие разделы:
[libdefaults] default_realm = DEV.LOCAL krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true v4_instance_resolve = false v4_name_convert = < host = < rcmd = host ftp = ftp >plain = < something = something-else >> fcc-mit-ticketflags = true [realms] DEV.LOCAL = < kdc = dc.dev.local admin_server = dc.dev.local default_domain = dev.local >[domain_realm] .dev.local = DEV.LOCAL dev.local = DEV.LOCAL [login] krb4_convert = true krb4_get_tickets = false
Редактируем файл /etc/samba/smb.conf. Если каких-то параметров нет, то добавляем:
[global] workgroup = DEV realm = DEV.LOCAL os level = 0 invalid users = root load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes dns proxy = no security = ads kerberos method = secrets and keytab dedicated keytab file = /etc/krb5.keytab encrypt passwords = true domain logons = no socket options = TCP_NODELAY local master = no domain master = no preferred master = no idmap config * : range = 10000-20000 idmap config * : backend = tdb template shell = /bin/bash template homedir = /home/%D/%U winbind enum groups = yes winbind enum users = yes winbind use default domain = yes winbind offline logon = yes winbind refresh tickets = yes
Внимание! Если в дальнейшем будет изменятся конфигурационный файл samba, обязательно требуется очистка /var/cache/samba/* и /var/lib/samba/*
Проверим нет ли ошибок в конфигурации samba, выполнив команду:
Редактируем файл /etc/security/limits.conf. Добавляем в конец:
* - nofile 65536 root - nofile 65536
passwd: compat winbind group: compat winbind shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
Редактируем файл /etc/pam.d/common-session. Добавляем в конец:
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077
sudo service samba restart
sudo service winbind restart
sudo service ntp restart
sudo service nscd restart
sudo service nslcd restart
В результате успешного выполнения предыдущей команды должен появиться файл /etc/krb5.keytab. Просмотреть список принципалов в этом файле можно командой:
sudo service samba status
sudo service winbind status
sudo service nscd status
sudo service nslcd status
sudo service apache2 status
sudo service postgresql status
Настройка Apache и Postgresql на работу с Kerberos
Редактируем файл /etc/apache2/sites-available/default. Настраиваем директорию на использование Kerberos:
AuthType Kerberos KrbServiceName host/ws3.dev.local@DEV.LOCAL Krb5Keytab /etc/krb5.keytab KrbMethodK5Passwd off KrbLocalUserMapping on KrbSaveCredentials on Require valid-user
Принципал, задаваемый параметром KrbServiceName, должен быть в файле таблицы ключей /etc/krb5.keytab. Проверить можно командой:
Назначим права для пользователя www-data, от имени которого работает Apache, для доступа к macdb и к файлу таблицы ключей:
usermod -a -G shadow www-data
setfacl -d -m u:www-data:r /etc/parsec/macdb
setfacl -R -m u:www-data:r /etc/parsec/macdb
setfacl -m u:www-data:rx /etc/parsec/macdb
setfacl -m u:www-data:r /etc/krb5.keytab
Всем доменным пользователям, которым требуется доступ к веб-серверу, необходимо назначить метки безопасности:
listen_addresses = '*' krb_server_keyfile = '/etc/krb5.keytab' krb_caseins_users = off
Редактируем файл /etc/postgresql/9.4/main/pg_hba.conf:
local all all peer host all all 192.168.1.0/24 gss
Назначим права для пользователя postgres, от имени которого работает Postgresql, для доступа к macdb и к файлу таблицы ключей:
sudo usermod -a -G shadow postgres
sudo setfacl -d -m u:postgres:r /etc/parsec/macdb
sudo setfacl -R -m u:postgres:r /etc/parsec/macdb
sudo setfacl -m u:postgres:rx /etc/parsec/macdb
sudo setfacl -m u:postgres:r /etc/krb5.keytab
На контроллере домена dc нужно добавить принципала к учётной записи машины ws3, для чего выполнить команду от имени администратора: