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

ingener

New member
Сообщения
166
логи внешней почты (yandex.ru, mail.ru) - отклоняется, требуется аутентификация.
понятно, что нужно настроить дополнительный тип аутентификации. как ее настроить, исходя из каких принципов?
в файле /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt о котором написано в документации на Astra Linux про подключение доменных пользователей в строке hosts = *:+relay_from_hosts символ * заменить на хосты для которых требуется аутентификация. для всех остальных аутентификация требоваться не будет. т.е. файл в документации должен быть приблизительно таким
deny
message = "Auth required"
hosts = 10.0.0.0/8:172.16.0.0/12:192.168.0.0/16:+relay_from_hosts
!authenticated = *
 

azm9s

New member
Сообщения
277
как всегда, проблема была в невнимательности в /etc/hosts в одной буковке ((((
а бился два дня...
а зачем дубливароть ns1 ns2 в hosts если все DNS отвечает?
не первый раз встречаю кстати
 

Nikola08

New member
Сообщения
4
Добрый день. На сервере настроил dns, ntp, ald, exim и dovecot. При подключении к серверу с арма через Thunderbird, в логах аутентификации на сервере сыпятся ошибки авторизации dovecot. Пользователь создан в ald и отправлен на сервер и арм. Скиньте пожалуйста мануал по настройке, рабочий.
 
Последнее редактирование:

Nikola08

New member
Сообщения
4
мануала как такового нет. есть дополнительная инструкция сборная из интернета и собственного опыта. мне помогла
Сомневался, что это поможет, т.к. dovecot настроен на pam аутентификацию. Собственно в логах её и не проходит, не помогло.
 

Montfer

New member
Сообщения
2 364
Сомневался, что это поможет, т.к. dovecot настроен на pam аутентификацию. Собственно в логах её и не проходит, не помогло.
Понятия не имею, о чем вы говорите, но пятой точкой чувствую, что без самих логов знающие люди не помогут...
 

oko

New member
Сообщения
1 254
Выкладываю свой вариант настройки почтовика с PAM на минималках. Возможно, кому-то пригодится...
Правки в конфиг-файлы сделаны по принципу "дописать, если опция не включена по умолчанию; если включена (раскомментирована) - переписать"...

Исходные данные
Astra Linux Special Edition 1.6
EMAIL-сервер Exim4 + Dovecot, astra linux se 1.6, обслуживающий зону astra.lan для ВСЕХ сетей
EMAIL-сервер внутренний ip = 192.168.1.1, внешний ip = 172.16.2.120
Настройка "на минималках" и без SSL, зато с полным логированием запросов
Dovecot = прием почты на клиента по протоколу IMAP (в Astra Linux Special Edition 1.6 имеется только IMAP! POP3 отсутствует!)
Exim4 = отправка почты от клиента по протоколу SMTP
ALD не используется - пользователи заводятся локально (PAM) в системе сервера и локально в системе клиента

apt install exim4-daemon-heavy dovecot-imapd astrase-fix-maildir

dpkg-reconfigure exim4-config
- интернет-сайт
- astra.lan
- пустое поле
- astra.lan
- пустое поле
- 192.168.1.0/24;172.16.2.0/24
- нет
- Maildir формат в домашнем каталоге
- нет (так будет проще, поверьте)

nano /etc/exim4/exim4.conf.template (или переименовываем его в exim4.conf - без разницы, и это, сцуко, дебилизм)
правим строки:
domainlist local_domains = astra.lan
hostlist relay_from_hosts = 192.168.1.0/24;172.16.2.0/24

nano /etc/exim4/conf.d/main/90_exim4-config_log_selector
.ifdef MAIN_LOG_SELECTOR
log_selector = \
+all_parents \
+connection_reject \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
log_file_path = /var/log/exim4/exim_%slog
.endif

sudo systemctl enable exim4 && sudo service exim4 restart
Читаем /var/log/syslog и перенаправленный лог /var/log/exim4/ - ошибок быть не должно, сервис должен запуститься (проверяем командой sudo service exim4 status)
ВНИМАНИЕ: если клиенту (в том же Thunderbird) выдает о невозможности скопировать отправленное письмо в папку "Отправленные" или что-либо про несуществующий каталог пользователя, делаем:
sudo service exim4 stop
sudo rm -rf /var/spool/mail/
sudo exim4 -qff -v
sudo service exim4 start

nano /etc/dovecot/dovecot.conf
protocols = imap
listen = *

nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_realms = astra.lan
auth_default_realms = astra.lan
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
auth_username_format = %Lu

nano /etc/dovecot/conf.d/10-master.conf
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
#port = 993
#ssl = yes
}

nano /etc/dovecot/conf.d/10-ssl.conf
ssl = no

nano /etc/dovecot/conf.d/10-logging.conf
log_path = /var/log/dovecot/main.log
debug_log_path = /var/log/dovecot/debug.log
#syslog_facility = mail
auth_verbose = yes
log_timestamp = "%b %d %H:%M:%S "

Остальное по вкусу. sudo systemctl enable dovecot && sudo service dovecot restart
Читаем /var/log/syslog и перенаправленный лог /var/log/dovecot/main.log - ошибок быть не должно, сервис должен запуститься (проверяем командой sudo service dovecot status)

Заводим юзера на сервере командами (тут username - имя пользователя, 2 - макс.мандатная метка, 1 - категория):
adduser username
usermac username -l 2
usermac username -c 1

Заводим пользователя (уч.запись любая, совпадение с username должно быть в Thunderbird) на клиенте и проверяем прием-отправку.
Если у пользователя несколько мандатных меток, то создавать профиль в Thunderbird нужно последовательно, начиная с захода в систему под 0 мандатной меткой, затем под 1 и далее до конца доступных пользователю меток. Каждый раз профиль Thunderbird придется создавать заново (потому что в Astra Linux Special Edition мандатная схема использует принцип виртуальных домашних каталогов).
 

Nikola08

New member
Сообщения
4
Это все хорошо, но у меня стоит ald и без него ну никак нельзя. Пробовал настраивать на аутентификацию kerberos/gssapi по руководству админа, но и так не получилось ничего.
 

Antony

New member
Сообщения
20
Выкладываю свой вариант настройки почтовика с PAM на минималках. Возможно, кому-то пригодится...
стоило бы создать тему:
Смоленкс 1.6 - Настройка почтового сервера на Astra Linux 1.6 special edition

мало ли где различия есть.


p.s. а вот за включение логирования в exim и dovecot отдельное спасибо.
 

oko

New member
Сообщения
1 254
to Antony
Разница только в отсутствии POP3 для exim4 в Смоленске 1.6 (кажись, недоглядели, а не злой умысел, ага), потому что конфиги "на минималках", там многое надо допиливать напильником для пром-решения...
Выложил ради отправной точки для тех, у кого имеются проблемы с настройкой. На большее не претендую...

to Nikola08
Вы вначале говорили про PAM-аутентификацию, теперь про ALD и kerberos. Раскройте мысль нормально, а то модуль экстрасенсорики перегревается...
 

Nikola08

New member
Сообщения
4
Раскрываю. Не авторизуются пользователи не через pam, не через kerberos/gssapi
 

oko

New member
Сообщения
1 254
to Nikola08
Без обид, но это не раскрытие, а тавтология...
Вам тов. Montfer прозрачно намекнул, что нужны как минимум логи проблемного сервиса (читай, dovecot). Как их собрать в debug-режиме - см. пример моего конфига выше п. 10. Еще неплохо было бы вообще выложить конфиги bind9 (db прямой и обратной зон), dovecot (auth и проч.) и exim4. Вот тогда будет разговор по-существу...

to all
Что до общего расклада - поймал я ошибку "Билет Kerberos бла-бла-бла" на Thunderbird. Это при условии Astra Linux Special Edition 1.6 (думается мне, в Смоленске 1.5 все аналогично) и ALD в полном фарше. Решение четко по Руководству администратора, часть 1. За исключением следующего:
  1. Мануалы в Сети, включая wiki.astra, советующие делать hostnamectl set-hostname имя_сервера.имя_домена в корне не правы! Правильнее до инициализации ALD (читай, до ald-init) редактировать /etc/hostname вручную и писать туда сокращенное имя сервера (без имени домена). А вот в /etc/hosts - уже и полное, и сокращенное с привязкой к IP...
  2. При первичной настройке exim4 размещение почты указывал не в домашние каталоги пользователей, а в общий каталог /var/mail. Но это не обязательно, должно работать при обоих раскладах. Надо помнить одно: если ALD-пользователи хранят свои каталоги на сервере (по умолчанию), то это создаст доп.нагрузку на сеть и может привести к неожиданным последствиям в случае кратковременной недоступности сервера...
  3. Настоятельно рекомендую поднимать bind9, а не писать вручную все хосты (серверы, АРМ и проч.) на каждом ALD-хосте, включая сервер-ALD, в файле /etc/hosts...
  4. Ни в коем случае не отключать МКЦ (читай, astra-mic-control disable)! Потому что иначе при kerberos-аутентификации будете получать болт в dovecot - о чем он характерно ругается в debug-логе на предмет "Fatal: Level not defined for user" и "getmacnam_r No such file or directory"...
  5. Настройку ALD за исключением заведения принципалов imap/имя_сервера.имя_домена и smtp/имя_сервера.имя_домена лучше выполнять через fly-admin-smc и раздел "Домен ALD". Включая первичное развертывание ALD.
  6. ВНАЧАЛЕ регистрируем (подключаем) компьютеры с Astra Linux на борту к ALD, а ЗАТЕМ уже заводим вышеуказанные принципалы. Иначе рискуем нарваться на расхождение в kerberos-билетах и придется колдовать с утилитой ald-renew-ticket (что не всегда срабатывает). И это, мать его, крайне тупо, потому что ALD-инфраструктура может (и должна) расширяться в будущем в любой более-менее серьезной сети...
  7. Настройка Thunderbird, dovecot и exim4 четко по Руководству администратора, слово в слово (раздел 13, Защищенное мыло, ага). ВНИМАНИЕ: если не настраиваете ssl в dovecot, то в его конфиг-файле 10-ssl.conf так и укажите - ssl = no - без всяких отсылок к несуществующим pem-ключам!
  8. Настоятельно рекомендую добавить логирование dovecot и exim4 из моего конфига выше - так проще диагностировать проблемы в будущем...
  9. Дополнительное рекомендую делать chown -R dovecot /var/lib/dovecot - туда, где хранится keytab-файл...
  10. Пользователям домена должны быть назначены метки Низкого и Высокого контроля целостности (Уровень мандатки не важен, может оставаться 0)...
  11. В тему логирования: не забываем через logrotate.d сделать конфигурации (например, /etc/logrotate.d/dovecot) по автоматической ротации созданных логов. Ибо переполняются они быстро. Аналогичное стоит сделать и для логов ald (/var/log/ald) и kerberos (/var/log/kerberos), если это не создается системой самостоятельно. Пример logrotate тут...
  12. Проверяйте статусы dovecot и exim4 через service имя_сервиса status при наличии ошибок. Собственно, вышеуказанное замечание про ssl=no как раз по такому случаю...
  13. Крайнее замечание. Пока играл с конфигурациями сделал аналогичную операцию с privsock и bind9 по совету товарищей из данной ветки форума. Эффекта сразу не принесло положительного - только после полной переустановки ALD, и то не факт, что именно эта опция оказала решающее значение. Но на всякий случай уточняю...

ЗЫ Собственно, всем доброго времени суток, а я ушел отсыпаться...
 
Последнее редактирование:

WindWatcher

New member
Сообщения
46
:)
... почти в унисон с отсыпающимися (кстати, с Наступившим)...
Учитывая всё вышеизложенное, решил таки повторить сказанное ещё по прошлому году, в самом начале тренировок с АЛ1.5/ALD etc... и после первых удачных и неудачных опытов: в чём же такая большая необходимость ставить этот ALD со всеми граблями на сей костыльный набор допиленного недодебиана?
До уровня несколько десятков (а то и сотни) пользователей в локальном сегменте - вообще никакого смысла: одни траблы.
Никаких задач по ЗИ не решается, никакой допзащиты/контроля по факту нет.
Основная масса задач, судя по вопросам, возникает в рамках СПД, а там все задачи решаются в рамках одной LAN (т.е. внутри контролируемой зоны), да даже и PAM "взлохматить" бывает проблемно.
То, что задачи ставят люди не имеющие дОлжного уровня (сейчас будет новомодное слово, аккураНтнее) компетенции - наши реалии. Незабвенный Михаил Задорнов обозначил сие так: "Засилие коекакеров".
А так, вообще, оно, конечно, весьма познавательно. Спасибо. Сам в этом годе удивлялся, что в прошлом что-то кому-то объяснял и даже бывало успешно...
Самыми "плюшками" проходят подобные моменты в стиле: в середине бурного обсуждения выяснить, что не все фильтра для цербера были обеспечены :)
 

oko

New member
Сообщения
1 254
to WindWatcher
Них*ра не понял, но понравилось (с) :)
Вообще, imho, идея ALD здравая - централизованное управление парком nix-машин. Косяки имеются, конечно (умолчательный mount home на сетевую шару, умолчательное использование SMB, отсутствие многих оснасток безопасности, собственная реализация gost-шифрсьюита, несовместимого не то, что с Windows, так и с другими отечественными шифрсьюитами тоже), но они, думаю, будут допилены в будущих релизах...
 

WindWatcher

New member
Сообщения
46
to oko
ну.... я и сам далеко не всегда понимаю... :) так что solidaritat
Но всё же... "централизованное управление парком nix-машин". Звучит хорошо, особенно в рекламных целях.
Для меня вопрос ("... ну так, для себя: чисто поржать." (с)) только в физике процесса: на одной чашке плюсы, а... (далее понятно)
Что, для чего и за счёт чего делается. Т.е. делался церберОс для решения задач безопасности в первую очередь. А в предлагаемых условиях эти задачи решены другими способами (по факту). Организация же смены паролей, сетевая файловая и т.д., и т.п. решаются другими способами не менее эффективно. А вот момент того, что при обрушении сервера домена ВСЕ пользователи не смогут работать в своих профилях - это уже совершенно другой момент. А наличие грамотного и быстрого админа.....
Ну... это, конечно, моё частное мнение. "В Москве лучше знают что нам нужно" (с)
 
Последнее редактирование: