Смоленск 1.5 Настройка почтового сервера на Astra Linux 1.5 special edition

azm9s

New member
Сообщения
277
права задайте на созданную папку
Debian-exim кажется так юзер и группа называется.
 

Lu99eR

New member
Сообщения
2
права задайте на созданную папку
Debian-exim кажется так юзер и группа называется.
Спасибо, все получилось уже. Debian-exim пользователь и группа, 3 уровень и ccnr, ehole - почему-то сам сервис эти права не выставляет.
А вообще, содержимое /var/spool/exim4 можно удалять безболезненно? Потому что именно там почему-то идёт переполнение памяти - за неделю ~20 Гб логов и каких-то других файлов появляется
 

azm9s

New member
Сообщения
277
почему-то сам сервис эти права не выставляет.
это вроде в 1.6 пофиксили.
Вы, когда принципалы создавали через ald-admin service-add для imap/ и smtp/, какое имя сервера использовали? То, что в DNS-зоне прописано или то, что в /hostname на самом почтовом сервере? И давали ли доступ dovecot на его keytab-файл через setfacl -m u:dovecot:x?
в общем, я уже не знаю в чем дело.
1. на сервере удалил сервисы и почтовый сервер
2. ОС не переустанавливал, пакеты ald-client, exim4, dovecot пеерустановил с удалением конфигурационных настроек....
3. установил все по новой, настроил, включил в ald домен.

ИТОГО:
1. с самого сервера домнные учетки работают нормально.
2. с любой другой машины не работает ни в режиме cifs, ни в режиме none

кто и где не работает. уже не понимаю...
 

oko

New member
Сообщения
1 254
to azm9s
Мистика... Поглядеть бы это в живую, потому что модуль экстрасенсорики окончательно перегрелся...
 

azm9s

New member
Сообщения
277
to azm9s
Мистика... Поглядеть бы это в живую, потому что модуль экстрасенсорики окончательно перегрелся...
переустановил все по новой, абсолютно всё.
в максимальной комплектации, то есть все пакеты по умолчанию.
стало:
1. днс. никаких CNAME только одни hostname
1.1 все хосты локальной сети внес в hosts
2. сервер времени работает везде и четко.
3. на сервере 1 - ald, с теми же настройками. только сервер ald.
4. на 2-5 серверах - apache2 с пробной <h1>hello world</h1>.
5. на 3-5 серверах - почтовые сервера.
6. три клиента ПЭВМ, установка в максимальной комплектации, все пакеты по максимуму.

вариант 1:
сделано:
0. днс и сервер времени поднят.
1. ald сервер поднят.
2. добавлены все клиенты в ald сервер.
3. созданы принципалы HTTP, IMAP,SMTP.
имею:
1. учетные записи заходят куда угодно(ПЭВМ, сервера), ФС монтируется без каких либо проблем, все файлы создаются\удаляются\переносятся.
2. почта и веб сервисы заходит ТОЛЬКО с того сервера, куда зашел: то бишь, пускает под ЛЮБОЙ учетной записью, НО только на самом сервере, что HTTP, что IMAP, что SMTP, но при этом сетевая папка все нормально монтируется на любой ПЭВМ.

убил ald.

вариант 2:
сделано:
0. сервер времени поднят. ДНС не поднимал, все в hosts
1. ald сервер поднят. с теми же настройками.
2. добавлены все клиенты в ald сервер.
3. созданы принципалы IMAP,SMTP, HTTP.
имею абсолютно тоже самое, тока почта теперь ходит только в пределах локальной сети, что и так понятно, почта и веб сервисы заходят ТОЛЬКО с того сервера, куда зашел: то бишь, пускает под ЛЮБОЙ учетной записью, НО только на самом сервере, что HTTP, что IMAP, что SMTP, но при этом сетевая папка все нормально монтируется на любой ПЭВМ.

логи HTTP сервера, хорошо что они более информативны чем почтовые:
Код:
[date] [error] [client 192.168.0.210] gss_display_name() failed: A required input parametr could not be read: An invalid name was supported (, Unknown error)
[date] [error] [client 192.168.0.210] gss_display_name() failed: A required input parametr could not be read: An invalid name was supported (, Unknown error)
[date] [error] [client 192.168.0.210] gss_display_name() failed: A required input parametr could not be read: An invalid name was supported (, Unknown error)
[date] [error] [client 192.168.0.210] gss_display_name() failed: A required input parametr could not be read: An invalid name was supported (, Unknown error)
[date] [debug] src\mod_auth_kerb.c(1924): [client 192.168.0.210] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[date] [debug] src\mod_deflate.c(700): [client 192.168.0.210] Zlib: Commpressed 473 to 319: URL /
[date] [debug] src\mod_auth_kerb.c(1924): [client 192.168.0.210] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
[date] [debug] src\mod_auth_kerb.c(1532): [client 192.168.0.210] Acquring creds for HTTP/ns3.object.ru
[date] [debug] src\mod_auth_kerb.c(1678): [client 192.168.0.210] Verifing client data using KRB5 GSS-API
[date] [debug] src\mod_auth_kerb.c(1694): [client 192.168.0.210] Client didn't delegate us their credential
[date] [debug] src\mod_auth_kerb.c(1713): [client 192.168.0.210] GSS-API token of length 171 bytes will be sent back
[date] [debug] src\mod_auth_kerb.c(1393): [client 192.168.0.210] GSS-API major_status:01020000, minor_status:00000000
[date] [error] [client 192.168.0.210] gss_display_name() failed: A required input parametr could not be read: An invalid name was supported (, Unknown error)
[date] [debug] src\mod_deflate.c(700): [client 192.168.0.210] Zlib: Commpressed 473 to 319: URL /
получается затык таки в самом сервере или клиенте ald.
файервол не стоит никакой. тем более что сервера на одном коммутаторе висят.
куда смотреть?
 

oko

New member
Сообщения
1 254
to azm9s
Судя по:
Client didn't delegate us their credential
до сервера не доходят тикеты от машин-клиентов...
Почему - это вопрос (раз эти же машины нормально монтируют сетевую smb-шару, пусть находящуюся и на сервере 1, где служба ALD - т.е. kerberos-auth отрабатывает). И все это из-за cifs-монтирования домашних каталогов? Верится с трудом, если честно. Либо специфичный баг (тогда надо пинать техподдержку), либо все-таки имеется пограничный файрволл (например, iptables на том или ином сервере), фильтрующий трафик kerberos. Запустите tcpdump на сервере с ролью WEB (или мыла) и посмотрите, пакеты с kerberos-протоколом вообще приходят/уходят?
Темна вода в облацех (с)
 

azm9s

New member
Сообщения
277
попробую завтра команды с клиентской машины:
аутентификация вручную для сервиса
Код:
kinit username
knvo HTTP/server.realm.local@REALM.LOCAL
klist -e
посмотрим что покажет
И все это из-за cifs-монтирования домашних каталогов? Верится с трудом, если честно.
да, тоже сомнительно, что из-за этого. но не пробовал.
Завтра попробую сделать.
либо все-таки имеется пограничный файрволл (например, iptables на том или ином сервере), фильтрующий трафик kerberos. Запустите tcpdump на сервере с ролью WEB (или мыла) и посмотрите, пакеты с kerberos-протоколом вообще приходят/уходят?
он есть, целый МСЭ, но правил нет, вернее так: 30 правил, из них 29 правило allow from any to any, 30 правило allow deny.
так что файер точно не блочит.
p.s. а на самом сервере ald как нибудь включить логи ald можно? а то там только один перезапуск сервисов. а остальное отследить, клиента\сервера\приниципалы\прочее
 
Последнее редактирование:

oko

New member
Сообщения
1 254
to azm9s
Оппаньки. Модуль экстрасенсорики сигнализирует о явной корреляции вот с этой темой. У товарища схожая проблема: web + email отказывают в работе в >0 при наличии ALD и МЭ (на базе ViPNet Client - ViPNet Coordinator)...
 
Последнее редактирование:

azm9s

New member
Сообщения
277
нет, в любом режиме != 0 тоже все работает. учетки и сетевые папки везде, почта и веб только на самих серверах. уже проверял.
МЭ - дионис нх. эта штука умеет метки ГОСТ.
 
Последнее редактирование:

oko

New member
Сообщения
1 254
to azm9s
Вы имеете в виду, что, условно, запускаете Thunderbird на сервере с Exim/Dovecot и можете получить/переслать сообщение? Если да, то промежуточный МЭ не может на такую схему оказать какое-либо влияние, кроме блокировки kerberos-тикетов от самого сервера к ALD и обратно (а оно у вас работает, как мы выяснили). Затык вроде бы в клиентах (вернее, где-то в этой схеме: клиент делает запрос к серверу ALD -> ALD отдает сеансовый мандат клиенту -> клиент делает запрос к серверу-мыло/веб, пересылая мандат)...
Новая идея: попробуйте ради эксперимента на МЭ поставить allow any to any первым правилом...
 

azm9s

New member
Сообщения
277
Вы имеете в виду, что, условно, запускаете Thunderbird на сервере с Exim/Dovecot и можете получить/переслать сообщение?
При работающем DNS почта уходит в различных мандатных атрибутах на внешку и приходит так же, откуда угодно - а тут промежуточный МСЭ точно участвует.
Новая идея: попробуйте ради эксперимента на МЭ поставить allow any to any первым правилом...
логики не вижу, но попробую, чем черт не шутит....
 

azm9s

New member
Сообщения
277
сделал файер первой строкой allow.
не помогло.

сделал на клиентской машине:
kinit
kvno smtp/server.object.ru@object.ru
kvno imap/server.object.ru@object.ru
kvno HTTP/server.object.ru@object.ru

принципалы добавились, попробовал ради интереса написать любые адреса/сервисы - ругается что таких нет,что есть с сервера он их видит...
не помогло.

апач пишет тоже самое. что и без принципалы.
 

azm9s

New member
Сообщения
277
ура.
на сервере алд есть папка логов
/var/log/Kerberos
и там файл kdc.log
и там такие записи:
imap/server.object.ru server not found in Kerberos database.
HTTP/server.object.ru server not found in Kerberos database.
smtp/server.object.ru server not found in Kerberos database.
полная запись такая:
date hostname_ald krb5kdc[3890](info) TGS_REQ ( 3 etypes { 32 18 23}) 192.168.0.210: LOOKING_UP_SERVER: authtime 0, user_domain@object.ru for imap/server.object.ru, Server not found in Kerberos database
эт, чО, бд кербероса тупит? значится таки сервер ald тупит
 

oko

New member
Сообщения
1 254
to azm9s
Забавно... подозревал обратную ситуацию, но никак не проблему с kerberos-базой на ALD...
Выходит, создание принципалов и ввод серверов в ALD домен не происходит. Вы точно все шаги согласно Руководству выполняете полностью? Ради интереса развернул распределенную схему - отдельный ALD-сервер, отдельный клиент, отдельный мыло-сервер. Все отрабатывает (хоть и с провисаниями при cifs-монтировании домашних каталогов). Единственное отличие от вашей схемы - виртуалки VirtualBox + Astra Linux 1.6...
 

azm9s

New member
Сообщения
277
в общем все завелось.
сделал reset-config
начало ругаться на подключение к бд кербероса при ald-init init.
сделал destroy
(или наоборот, я от радости чуть свои записи на объекте не оставил, так хотелось оттуда смыться)
работает и сетевые папки и почта и веб и антивирус... счастье:)
и фаейрволл...

p.s. предполагаю, что когда изначально был dns настроен с кучей cname - в бд кербероса попадало первое попавшее имя при резолве, а не хостнаме. вот и случился затык...
но сколько же однако времени потратил, но хоть буду знать теперь где какие логи искать :)
 
Последнее редактирование:

oko

New member
Сообщения
1 254
to azm9s
Мои поздравления :)
Да, kerberos критичен к имени хоста-приемника. В принципе, если в структуре много cname на dns-записи, можно сгенерировать кучу принципалов под эти записи - результат будет положительный...
 

azm9s

New member
Сообщения
277
Да, kerberos критичен к имени хоста-приемника.
не знал этого, но предполагал.
а как он проверяет? nslookup\host\сразу всю зону забирает?
в прямой записи dns есть:
hostname
name_1 CNAME hostname
name_2 CNAME hostname
name_3 CNAME hostname
в обратной есть тока
ip ptr hostname
надо ли и обратные зоны создавать cname?

В принципе, если в структуре много cname на dns-записи, можно сгенерировать кучу принципалов под эти записи - результат будет положительный...
только принципалы http\mail или весь комплект? aldd\ldap\cifs

есть задумка одна, на астре поднять резервный сервер почты, но это дома отрабатывать буду.
это запись в днс:
@ IN MX 10 mail1
@ IN MX 100 mail2
и на mail2 поднять туже связку dovecot + exim4 с привязкой к ald.
а как внешка будет узнавать, на какой адрес слать почту, если доступен\не доступен сервер 1 или сервер 2
 

oko

New member
Сообщения
1 254
to azm9s
Там идея какая. Если клиент хочет обратиться к серверу, поддерживающему GSSAPI ("сквозная аутентификация" через Kerberos), клиент отправляет запрос к ALD с указанием имени конечного сервера. Сервер ALD проверяет в своей базе kerberos наличие подобного сервера. Все это происходит по dns-имени (причем по fqdn-имени). Следовательно, если клиент отрезолвил сервер по какому-то CNAME, для которого в базе ALD не создана запись, - клиент получит отлуп от ALD-сервера (как у вас и произошло). Поэтому на каждую CNAME-запись необходимо создать принципал в базе ALD...
PTR-запись требуется в Windows Active Directory для корректного создания принципала нужного сервера (сервиса). В ALD, по-идее, такой же подход. Но, честно говоря, поднимая все эти обвязки на виртуальных машинах под Astra Linux, ни разу обратную зону не настраивал. С другой стороны, в боевом режиме (пусть и не для ALD и не под Astra Linux) обратные зоны создавал...
И официальный мануал подтверждает необходимость PTR для CNAME:
As mentioned, Kerberos implementations may, but do not always, attempt to resolve CNAME record sorreverse ‐ resolve the resulting IPaddress. Consequently, if “PTRrecords” are included in the reverse resolution zone, they must point to the name of the host that is registered with Kerberos. If CNAME records are used, then both the CNAME and the name it points to should be registered with Kerberos and the service should accept authentication for either name
По-идее, достаточно только принципалов самого сервиса, безотносительно aldd и проч...
Что касается резервирования мыла через добавление доп.сервера, то это решается на уровне DNS-записей с разным весом (вы верно указали). При недоступности mail1, любой грамотный почтовик будет пытаться соединиться с mail2. Вот только как настроить под Astra Linux единое mail-хранилище, а также репликацию и связность баз данных на двух почтовых серверах - это вопрос...
 

azm9s

New member
Сообщения
277
Вот только как настроить под Astra Linux единое mail-хранилище, а также репликацию и связность баз данных на двух почтовых серверах - это вопрос...
начал дома разворачивать... тока потом дошло... тут точка отказа еще и сам ald сервер.... ляжет он - все недоступно будет...
так что пока отложил это все в дальний ящик.
есть heardb и drdb уже отлаженные инструкции - уж тут положить кластер сложновато))))

в принципе в этой теме мне уже ничего не нужно))))
если опять какой нибудь объект не будет закидоны создавать....
 

oko

New member
Сообщения
1 254
to azm9s
А вы хотите территориально распределенный кластер в итоге? Читай, на одной площадке с одной IP-адресацией висят серверы ALD, мыла, веба и проч. + на другой площадке с другой IP-адресацией висят аналогичные серверы. Все это объединено между собой за счет репликаций и, возможно, балансировки нагрузки? И потоки трафика проходят через какие-либо VPN? В целом, можно, наверное, но точно нужно отказаться от cifs-монтирования домашних каталогов - задержки убьют всю задумку на корню...