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

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

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

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

Astra Linux Special Edition 1.5

Описание процесса настройки Astra Linux 1.5 SE для ввода в домен Windows. Настройка SAMBA, Winbind, Apache и Postgresql.

Исходные данные:

Контроллер домена:

Имя - 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

1. Разблокирование суперпользователя (root)

Для более удобной работы разблокируем учётную запись root:

$sudo passwd –u root

Назначим пароль для учётной записи root:

$sudo passwd root

root разблокирован. Можно использовать su или перезайти root-ом. Можно не использовать учётную запись root, а команды выполнять с использованием sudo. По завершении настроек учётную запись root необходимо заблокировать!

2. Настройка сети

В начало файла /etc/hosts добавить строки:

192.168.1.3 ws3.dev.local ws3
127.0.0.1 localhost

Строку с 127.0.1.1 ws3 удалить.

Убедиться, что в файле /etc/hostname правильно указано имя машины:

ws3

Назначим статический 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

Перезапустим сетевую службу:

service networking restart

Просмотреть доступные сетевые интерфейсы и назначенные адреса:

ip a

с ws3 можно проверить отклик контроллера домена по протоколу icmp по имени:

ping dc.dev.local

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

ntpdate dc.dev.local

3. Установка требуемых пакетов

Проверить установлены ли samba, winbind, ntp, apache2 и postgresql:

dpkg -l samba winbind ntp apache2 postgresql

Установить дополнительные пакеты (потребуется диск с дистрибутивом):

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

Выполнить команду:

ldconfig

4. Настройка конфигурационных файлов

Редактируем файл /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, выполнив команду:

testparm

Редактируем файл /etc/security/limits.conf. Добавляем в конец:

* - nofile 65536
root - nofile 65536

Выполнить команду:

ulimit -n 65536

Радактируем файл /etc/nsswitch.conf:

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

Перезапустим службы:

service samba restart
service winbind restart
service ntp restart
service nscd restart
service nslcd restart

Вводим Astra Linux в домен windows (требуется учётная запись администратора домена):

net ads join -U Administrator

В результате успешного выполнения предыдущей команды должен появиться файл /etc/krb5.keytab. Просмотреть список принципалов в этом файле можно командой:

net ads keytab list

Позволим остальным читать файл /etc/krb5.keytab:

chmod 0744 /etc/krb5.keytab

Добавим в автозапуск:

insserv -v /etc/init.d/apache2
insserv -v /etc/init.d/samba

Проверить установлен ли Postgresql в автозагрузку:

chkconfig --list postgresql

Перезагрузим ОС:

reboot

Проверим загрузились ли требуемые службы:

service samba status
service winbind status
service nscd status
service nslcd status
service apache2 status
service postgresql status

Проверим связь с доменом и работу служб, последовательно выполнив команды:

net ads testjoin
wbinfo –p
wbinfo –t
wbinfo –u
getent passwd | grep DEV

Проверим Kerberos. Попробуем получить tgt для доменного пользователя:

kinit Administrator
klist
kdestroy

5. Настройка Apache и Postgresql на работу с Kerberos

Редактируем файл /etc/apache2/sites-available/default. Настраиваем директорию на использование Kerberos:

<Directory /var/www/>

AuthType Kerberos KrbServiceName host/ws3.dev.local@DEV.LOCAL Krb5Keytab /etc/krb5.keytab KrbMethodK5Passwd off KrbLocalUserMapping on KrbSaveCredentials on Require valid-user

</Directory>

Принципал, задаваемый параметром KrbServiceName, должен быть в файле таблицы ключей /etc/krb5.keytab. Проверить можно командой:

net ads keytab list

Назначим права для пользователя 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

Всем доменным пользователям, которым требуется доступ к веб-серверу, необходимо назначить мандатные метки и уровни:

pdpl-user -z domain_user

Перезапустим Apache:

service apache2 restart

Редактируем файл /etc/postgresql/9.4/main/postgresql.conf.:

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 и к файлу таблицы ключей:

usermod -a -G shadow postgres
setfacl -d -m u:postgres:r /etc/parsec/macdb
setfacl -R -m u:postgres:r /etc/parsec/macdb
setfacl -m u:postgres:rx /etc/parsec/macdb
setfacl -m u:postgres:r /etc/krb5.keytab

Перезапустим Postgresql:

service postgresql restart

На контроллере домена dc нужно добавить принципала к учётной записи машины ws3, для чего выполнить команду от имени администратора:

setspn -A postgres/ws3.dev.local ws3

Если пользователь root был разблокирован, то его необходимо заблокировать выполнив команду:

usermod –e 1 root

  • Нет меток