Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мегоубернастройка сервера UBUNTU 10.04 lts.doc
Скачиваний:
0
Добавлен:
20.09.2019
Размер:
614.91 Кб
Скачать

Мегоубернастройка сервера ubuntu 10.04 lts

Обозачения: Красным выделены команды, которые мы вводим в консоль

Синим выделен текст, который мы вводим в файл

Зеленым выделен текст, приблизительно который мы должны получить

Фиолетовым выделены мои комментарии

Черным выделено пошаговое описание

В данном мануале для редактирования файлов я использую редактор “nano”,

Все пароли – “admin”

Адрес - trest91.ru

Хост - nx2.trest91.ru

Все действия выполняются от рута (sudo –s)

Если вы гдето замечаете oban.trest91.ru (хост) или <mail_password> и все в таком духе, меняйте значения на свои, это автор очепятался, не вставив свои значения. Также мог перепутать цвета сообщения.

Bind9

apt-get install bind9 устанавливаем бинд

touch /var/lib/named/etc/bind/myzones.conf

chown bind:bind /var/lib/named/etc/bind/myzones.conf

nano /var/lib/named/etc/bind/myzones.conf

zone "trest91.ru" {

type master;

file "trest91.ru";

};

touch /var/lib/named/etc/bind/trest91.ru

chown bind:bind /var/lib/named/etc/bind/trest91.ru

nano /var/lib/named/etc/bind/trest91.ru

$ORIGIN trest91.ru.

$TTL 86400 ; 1 day

@ IN SOA localhost. root.localhost. (

2012051001 ; serial год/месяц/день/кол-во редакт-нии

10800 ; refresh (3 hours)

900 ; retry (15 minutes)

604800 ; expire (1 week)

86400 ; minimum (1 day)

)

@ IN NS localhost.

@ IN A 192.168.0.1

www IN CNAME trest91.ru.

rndc reload

nslookup trest91.ru 127.0.0.1

Server: 127.0.0.1

Address: 127.0.0.1#53

Name: trest91.ru

Address: 195.189.108.74

Установка и настройка текстовых браузеров (lynx, links2)

Для начала установим понравившийся браузер. Я использовал оба, в линксе2 мне нравился удобный интерфейс, но lynx имеет некоторые удобные настройки, которые нам потом пригодятся. Тут опишу полезные команды и установку lynx

apt-get install lynx

lynx

G – перейти по ссылке (принимаем все куки)

O – опции (тут полезной строкой является Редактор – туда вписываем nano (советую это делать перед каждым началом работы) и применяем изменения). Данная операция позволяет открывать некоторые текстовые документы, в текстовом редакторе, для дальнейшего их сохранения и редактирования. Чтобы открыть данную область (работает не везде) нужно нажать CTRL+X+E

Настройка openldap, samba3 и возможность дальшейшей настройки и работы Gosa

скачиваем Gosa 2.6.13 с оф. сайта.

wget -P /tmp http://oss.gonicus.de/pub/gosa/gosa-combined-2.6.13.tar.bz2

Распаковываем содержимое архива

tar xjf /tmp/gosa-combined-2.6.13.tar.bz2 -C /tmp

Копируем в /usr/share/gosa

cp -R /tmp/gosa-combined-2.6.13 /usr/share/gosa

Создаём каталоги необходимые Gosa

mkdir /etc/gosa && mkdir /var/spool/gosa && mkdir /var/cache/gosa

Разрешим группе www-data запись в каталоги

chown root:www-data /var/spool/gosa && chmod 775 /var/spool/gosa

chown root:www-data /var/cache/gosa && chmod 770 /var/cache/gosa

Приступаем к настройке LDAP

Устанавливаем необходимые пакеты

apt-get install slapd ldap-utils

Подключаем базовые схемы

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/openldap.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/misc.ldif

Копируем схему samba в каталог /etc/ldap/schema

cp /usr/share/gosa/contrib/openldap/samba3.schema /etc/ldap/schema/

Схему samba3.schema необходимо перевести в формат ldif

cd /etc/ldap

nano schema_convert.conf

следующего содержания:

include /etc/ldap/schema/core.schema

include /etc/ldap/schema/cosine.schema

include /etc/ldap/schema/inetorgperson.schema

include /etc/ldap/schema/openldap.schema

include /etc/ldap/schema/nis.schema

include /etc/ldap/schema/misc.schema

include /etc/ldap/schema/samba3.schema

Затем создадим временный каталог и конвертируем в него схему

mkdir /tmp/ldif_output

slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={6}samba3,cn=schema,cn=config" > /tmp/cn=samba3.ldif

Переходим в каталог с полученной схемой

cd /tmp/

nano cn=samba3.ldif

Редактируем заголовок:

было:

dn: cn={6}samba3,cn=schema,cn=config

objectClass: olcSchemaConfig

cn: {6}samba3

стало:

dn: cn=samba3,cn=schema,cn=config

objectClass: olcSchemaConfig

cn: samba3

В конце схемы удаляем строки примерно следующего содержания

structuralObjectClass: olcSchemaConfig

entryUUID: 7ffcc302-2474-102f-8b3e-d5fe493c556a

creatorsName: cn=config

createTimestamp: 20100715155056Z

entryCSN: 20100715155056.239425Z#000000#000#000000

modifiersName: cn=config

modifyTimestamp: 20100715155056Z

То есть удаляем всё начиная с structuralObjectClass: и до конца файла.

Ну и на последок копируем и переименовываем файл схемы

cp /tmp/cn\=samba3.ldif /etc/ldap/schema/samba3.ldif

Далее необходимо подобным образом отредактировать все ldif файлы находящиеся в /usr/share/gosa/contrib/openldap/

cd /usr/share/gosa/contrib/openldap/

При редактировании схем Gosa НЕ ЗАБЫВАЙТЕ в первой строке по мимо удаления скобок с номером {13} дописывать ,cn=schema,cn=config иначе схемы Gosa не будут подключены что в дальнейшем приведёт к множеству ошибок.

Теперь копируем их в каталог /etc/ldap/schema

cp /usr/share/gosa/contrib/openldap/*.ldif /etc/ldap/schema/ && cp /usr/share/gosa/contrib/openldap/*.schema /etc/ldap/schema/

Подключаем схемы в следующем порядке

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/trust.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba3.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gosystem.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gofon.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/goto.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/goto-mime.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gosa-samba3.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/gofax.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/goserver.ldif

Порядок схем обязателен!!! Иначе работать не будет, на данный момент должно быть подключено 15 схем (0-14) в каталоге /etc/ldap/slapd.d/cn=config/cn=schema/

Если их нет, удаляем существующие и начинаем все заного.

cd /etc/ldap

nano db.ldif

dn: cn=module,cn=config

objectClass: olcModuleList

cn: module

olcModulepath: /usr/lib/ldap

olcModuleload: back_hdb.la

dn: olcDatabase={1}hdb,cn=config

objectClass: olcDatabaseConfig

objectClass: olcHdbConfig

olcDatabase: {1}hdb

olcSuffix: dc=trest91,dc=ru

olcDbDirectory: /var/lib/ldap

olcRootDN: cn=admin,dc=trest91,dc=ru

olcRootPW: тут пока ничё не вводим

olcDbConfig: set_cachesize 0 2097152 0

olcDbConfig: set_lk_max_objects 1500

olcDbConfig: set_lk_max_locks 1500

olcDbConfig: set_lk_max_lockers 1500

olcDbIndex: objectClass eq

olcLastMod: TRUE

olcDbCheckpoint: 512 30

olcAccess: to attrs=sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet,userPassword by dn="cn=admin,dc=trest91,dc=ru" write by anonymous auth by self write by * none

olcAccess: to attrs=shadowLastChange by self write by * read

olcAccess: to dn.base="" by * read

olcAccess: to dn.subtree="" by * read

olcAccess: to * by dn="cn=admin,dc=trest91,dc=ru" write by * read

Теперь вводим:

slappasswd -h {MD5} –s admin

{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==

Полученную строку вводим в “olcRootPW:” в файле db.ldif

ldapadd -Y EXTERNAL -H ldapi:/// -f db.ldif

Устанавливаем пакет gnutls-bin

apt-get install gnutls-bin

Создаём ключ для Certificate Authority (CA)

sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"

cd /etc/ssl && nano ca.info

cn = Trest

ca

cert_signing_key

Теперь создаём self-signed CA сертификат

certtool --generate-self-signed --load-privkey /etc/ssl/private/cakey.pem \

--template /etc/ssl/ca.info --outfile /etc/ssl/certs/cacert.pem

Создаём закрытый ключ для нашего сервера

sh -c "certtool --generate-privkey > /etc/ssl/private/nx2_slapd_key.pem"

nano /etc/ssl/ldap01.info

organization = Trest

cn = nx2.trest91.ru

tls_www_server

encryption_key

signing_key

Создаём сертификат для сервера

certtool --generate-certificate --load-privkey /etc/ssl/private/nx2_slapd_key.pem \

--load-ca-certificate /etc/ssl/certs/cacert.pem --load-ca-privkey /etc/ssl/private/cakey.pem \

--template /etc/ssl/nx2.info --outfile /etc/ssl/certs/nx2_slapd_cert.pem

ldapmodify -Y EXTERNAL -H ldapi:///

затем вставляем следующее:

dn: cn=config

add: olcTLSCACertificateFile

olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem

-

add: olcTLSCertificateFile

olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem

-

add: olcTLSCertificateKeyFile

olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem

После чего жмём дважды enter должна появится надпись modifying entry «cn=config» и Ctrl+D для выхода.

SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"

Теперь пользователь openldap должен иметь доступ к сертификату

adduser openldap ssl-cert && chgrp ssl-cert /etc/ssl/private/nx2_slapd_key.pem && chmod g+r /etc/ssl/private/nx2_slapd_key.pem

/etc/init.d/slapd restart

Если после перезагрузки ldap не запустился, а в syslog присутствует main: TLS init def ctx failed: -1, это ошибка конфигурации, проверьте содержимое файла /etc/ldap/slapd.d/cn=config.ldif правильно ли в нём указаны пути и названия сертификатов и убедитесь в том что группа ssl-cert имеет возможность читать закрытый ключ /etc/ssl/private/ldap01_slapd_key.pem

Теперь добавим индексы для samba

cd /etc/ldap

nano samba_indexes.ldif

dn: olcDatabase={1}hdb,cn=config

changetype: modify

add: olcDbIndex

olcDbIndex: uidNumber eq

olcDbIndex: gidNumber eq

olcDbIndex: loginShell eq

olcDbIndex: uid eq,pres,sub

olcDbIndex: memberUid eq,pres,sub

olcDbIndex: uniqueMember eq,pres

olcDbIndex: sambaSID eq

olcDbIndex: sambaPrimaryGroupSID eq

olcDbIndex: sambaGroupType eq

olcDbIndex: sambaSIDList eq

olcDbIndex: sambaDomainName eq

olcDbIndex: default sub

ldapmodify -Y EXTERNAL -H ldapi:/// -f samba_indexes.ldif

Добавим индексы для gosa

nano gosa_indexes.ldif

dn: olcDatabase={1}hdb,cn=config

changetype: modify

add: olcDbIndex

olcDbIndex: mail eq,sub

olcDbIndex: gosaMailAlternateAddress,gosaMailForwardingAddress eq

olcDbIndex: cn,sn,givenName,ou pres,eq,sub

olcDbIndex: gosaSubtreeACL,gosaObject,gosaUser pres,eq

olcDbIndex: displayName eq

olcDbIndex: ipHostNumber eq

olcDbIndex: postfixMyDestinations eq

olcDbIndex: entryCSN eq

olcDbIndex: entryUUID eq

ldapmodify -Y EXTERNAL -H ldapi:/// -f gosa_indexes.ldif

nano /etc/ldap/ldap.conf

BASE dc=trest91,dc=ru

URI ldap://localhost ldaps://nx2.trest91.ru

TLS_CACERT /etc/ssl/certs/cacert.pem

/etc/init.d/slapd restart

Если при этом slapd на перезагрузится, а команда slaptest выдаст

config error processing olcDatabase={2}hdb,cn=config: <olcSuffix> namingContext "dc=example,dc=com" already served by a preceding hdb database

slaptest: bad configuration file!

то удалите файл /etc/ldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif

rm /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

и повторите попытку перезагрузить LDAP

Всё настройка LDAP окончена.