Форум русскоязычного сообщества Ubuntu


Автор Тема: [Wiki] Howto: Почтовый сервер со всем фаршем на базе Ubuntu 10.04 LTS  (Прочитано 73580 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
Как обещал, публикую достаточно (на мой взгляд) подробное howto по созданию почтового сервера на базе Ubuntu 10.04 LTS.
В состав входят:
- postfix
- dovecot (с поддержкой квот)
- виртуальные домены на базе mysql
- аутентификация sasl с помощью pam (два бэкенда - ldap и mysql)
- доступ tls/ssl с запретом аутентификации по открытому протоколу
- средства борьбы с вирусами и спамом (amavis-new, clamav, spamassassin, spf, dkim, sender id, domainkey, postgrey)
- apache2 для доступа к веб-почте, спискам рассылки и munin
- веб-почта horde/imp (доступ только через ssl)
- листы рассылки mailman
- автоответчик
- fail2ban для отлова попыток атак с подбором паролей
- munin для красивых графиков
- разнообразная дополнительная информация

Из-за большого объема получившегося документа прикладываю его в двух форматах - .odt и .pdf
Вроде бы все проверил на тестовой машине, однако, конечно, возможны ошибки и неточности - сообщайте, плиз, будем править.

UPD: Статья на местном wiki: http://help.ubuntu.ru/wiki/почтовый_сервер_со_всем_фаршем_на_10.04_lts

!!! Модераторам: файл .pdf не влезает - он размером 305К. Если возможно, хотелось бы его вставить тоже.
« Последнее редактирование: 10 Сентябрь 2012, 13:31:38 от Karl500 »

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
Ну вот - нашел две маленькие неточности (исправил в тексте) - для доступа к спискам рассылки через веб и одну проблему (пока без решения): если использовать автоответчик (как написано), то не будет работать пропуск проверки на спам для авторизованных пользователей (дело в том, что для такого пропуска от postfix к amavis нужно передать XFORWARD, содержащий, в частности, имя аутентифицированного пользователя; а в данном случае посередине стоит фильтр autoresponder, который уже ничего никуда передать не может).
Кстати с этим пропуском - еще две неточности: а) нужно заменить MYNETS на MYUSERS в описании policy_bank и поправить плагин для munin - amavis-debain (правда, как уже сказал - с автоответчиком это все равно не работает). (тоже уже поправлено в тексте).

Если у кого-нибудь есть мысли, как перенести фильтр autoresponder из ДО amavis на ПОСЛЕ amavis - делитесь.
« Последнее редактирование: 03 Декабрь 2010, 14:10:23 от Karl500 »

Оффлайн artem.ultra

  • Участник
  • *
  • Сообщений: 226
    • Просмотр профиля
    • Sa-iT
чисто из-за интереса, почему horde?
Karl500
поборол неточности?

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
horde - потому что только этот клиент (из бесплатных веб-клиентов) имеет практически все возможности, включая подписывание писем S/MIME. Да и вообще - он очень продвинутый, мощный и удобный.

Неточность осталась (из известных мне :) ) одна - проблема с автоответчиком. Точнее, не с ним самим, а с тем, что с ним не работает пропуск проверки на спам в исходящих письмах. Пока решения нет, приглашаю всех заинтересованных к мозговому штурму. Могу объяснить проблему максимально подробно, если кому-нибудь это интересно.

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 707
    • Просмотр профиля
Спасибо за хауту! Думаю, стоит перенести свой сервер на 10.04.
Есть вопрос: почему не используется postfixadmin для домена bbb.ru?

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
postfixadmin не используется, потому что есть некоторые настройки, которые могут им не поддерживаться (точно не уверен - не пробовал, и не собираюсь). На мой взгляд, гораздо правильнее не использовать приблуды типа postfixadmin (или есть еще такая же штука, от которой точно лучше держаться подальше - webmin), а настраивать руками. По крайней мере, на серверах.

Оффлайн artem.ultra

  • Участник
  • *
  • Сообщений: 226
    • Просмотр профиля
    • Sa-iT
postfixadmin не используется, потому что есть некоторые настройки, которые могут им не поддерживаться (точно не уверен - не пробовал, и не собираюсь). На мой взгляд, гораздо правильнее не использовать приблуды типа postfixadmin (или есть еще такая же штука, от которой точно лучше держаться подальше - webmin), а настраивать руками. По крайней мере, на серверах.
+1
чем гуже круглокуб?

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 707
    • Просмотр профиля
Дело не в настройке, а в управлении пользователями/паролями и алиасами. Не всегда сам ими занимаешься, а есть для этого человек. А он не знает что такое mysql.

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
roundcube не поддерживает подписывание писем (во всяком случае, раньше не поддерживал, а последние версии я и пробовать не стал).
horde - это не просто "веб-почта". Это решение "все в одном" - почта, адресная книга, фильтры, календарь, органайзер, напоминалки и т.п.
Попробуйте - уверен, что понравится.

Пользователь решил продолжить мысль 06 Декабрь 2010, 12:46:44:
aSmile, если необходимо, можно написать очень несложные скрипты и повесить кнопки на веб-страницу. Если это делать не "снаружи", а "внутри" (т.е. не вывешивать эту страницу в интернет), то можно и о безопасности не очень заботиться: достаточно будет закрыть доступ средствами apache, например.
« Последнее редактирование: 06 Декабрь 2010, 12:46:44 от Karl500 »

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 707
    • Просмотр профиля
aSmile, если необходимо, можно написать очень несложные скрипты и повесить кнопки на веб-страницу. Если это делать не "снаружи", а "внутри" (т.е. не вывешивать эту страницу в интернет), то можно и о безопасности не очень заботиться: достаточно будет закрыть доступ средствами apache, например.
Согласен. Было бы здорово, если такой пример будет в хауту.

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
Ну (чешет репу)... Сейчас попробую изваять что-нибудь.

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
Обновил документ - вставил "Приложение 1 - управление пользователями через веб". Только учтите, что скрипты а) написаны за 10 минут на коленке и не содержат никаких проверок на валидность полей и б) не давайте доступ к эти скриптам кому ни попадя! (в хауту описано, как максимально ограничить доступ к ним - разрешить только через SSL и только одному выбранному пользователю).
« Последнее редактирование: 07 Декабрь 2010, 10:42:02 от Karl500 »

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
Для нормальной работы SASL , вообще говоря (судя по комментариям у меня в /etc/ldap/slapd.conf) нужно разрешить анонимный доступ по чтению:
Цитировать
# Ensure read access to the base for things like
# supportedSASLMechanisms.  Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read

# The admin dn has full write access, everyone else
# can read everything.
access to *
        by dn="cn=admin,dc=AAA,dc=ru" write
        by * read
Так что, наверное, гораздо проще все-таки разрешить анонимное чтение, чем городить дополнительное обращение к ldap от какого-то специально выделенного юзера с паролем...
« Последнее редактирование: 13 Август 2012, 13:15:07 от Дмитрий Бо »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 24216
    • Просмотр профиля
А не боишься, что у тебя пароли все подряд читать смогут?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Karl500

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2216
    • Просмотр профиля
Не-а. Во-первых, пароли читать они не смогут в принципе, только хеши. Во-вторых, по-хорошему делается так (собственно, у меня так и сделано): почтовый сервер расположен в DMZ, а ldap-сервер - во внутренней сетке. Доступ во внутреннюю сеть снаружи запрещен ВООБЩЕ, а для ldap-запросов на файрволле-шлюзе проброшен один порт - c почтового сервера на ldap-сервер.

Ну и в-третьих: пароли он все равно не отдаст :) потому что есть еще одна запись:
Цитировать
access to attrs=userPassword,sambaLMPassword,sambaNTPassword,sambaPwdMustChange,sambaPwdLastSet,sambaPwdCanChange,shadowLastChange,shadowMax
        by dn="cn=admin,dc=AAA,dc=ru" write
        by anonymous auth
        by self write
        by * none
« Последнее редактирование: 07 Декабрь 2010, 22:52:21 от Karl500 »

 

Страница сгенерирована за 0.129 секунд. Запросов: 24.