Какой рейтинг вас больше интересует?
|
Почтовый ящик с бананами2015-06-24 10:39:31 (читать в оригинале)Вчера я, наконец, нашел время и доделал последний штрих к конфигурации почтового сервера на Banana Pi. Так я вообще-то уже две недели им пользуюсь, но до сих пор у пользователей не было возможности самостоятельно, без обращения к системному администратору, то есть мне, менять свои пароли. Теперь есть. Заодно разобрался в некоторых, еще не во всех, тонкостях взаимодействия Prayer Web mail с managesieve. На мой взгляд, получилось вполне self-contained решение. Конечно некоторые могут сказать, что почта должна использовать общесетевую базу пользователей, например из ldap, но эти некоторые пускай сами настраивают. Собственно, новой для меня задачей в этой истории было сделать так, чтобы почтовые пользователи не должны были быть системными пользователям. Если заводить всех почтовых польозователей как системных, то prayer-accountd из дистрибутива задачу управления паролями и finger information решает из коробки. Но мне интересно было решить задачу с виртуальными пользователями, авторизационная информация по которым хранится в базе данных (sqlite). Поэтому пришлось нарисовать свой собственный accountd. Благо протокол accountd крайне простой. Получилось решение, которое 1. Хранит архивы почты у меня на столе, а не где-то в облаке 2. Позволяет доступ по IMAP и отправку почты из любой точки земного шара 3. Позволяет доступ через web-интерфейс, если вдруг по каким-то причинам нет возможности использовать нормальный эргономичный почтовый клинент 4. Осуществляет server-side фильтрацию почты, например раскладывает списки рассылки в отдельные папки. Правила фильтрации настраиваются через стандартный протокол managesieve, к которому есть и отдельные клиенты и плагины к почтовым клиентам, либо через веб-интерфейс. 5. Имеет обучаемый пользователями байесовский спамфильтр, причем общий для всех пользователей. Обучение сводится к тому что проскочивший фильтры спам надо складывать в папку "спам", а весь не спам куда-то перекладывать из INBOX-а. Можно - в "Корзину". Кстати, спама почему-то стало ощутимо меньше. Возможно потому что я поменял исторически сложившиеся настройки spamassassin-а на дистрибутивные. 6. Пользователи могут менять пароли (через веб-интерфейс к почте). Получилась следующая картина: Аппаратура: Banana PI, 16 Гб UHS SD-карта, самодельный жестяной корпус. Установлены: postfix, dovecot, spamassassin и prayer. Есть sqlite-база которой пользуется dovecot для авторизации и postfix для проверки существования адреса. Вообще есть мысль в ту же базу засунуть еще таблицу алиасов (которая virtual_alias_map) и научить accountd ее редактировать, чтобы в web-интерфейсе prayer заработала функциональность "перенаправить почту на более другой адрес". Мне это нафиг не нужно, но ради спортивного интереса и полноты реализации протокола accountd... У postfix в master.cf описан транспорт dovecot, который сначала фильтрует почту через spamc, а потом отправляет в dovecot-lda. Этот транспорт прописан как виртуальный транспорт для всех доменов. Естетсвенно, включена smtp-авторизация. Через dovecot-овский sasl, то есть кончается все дело той же sqlite-базой. С доменами у меня сделано так, что каждый пользователь имеет адрес во всех доменах, которые поддерживаются на сервере. Можно было бы развести, но зачем? Соответственно доступ к почте поддерживается по imap over ssl и через web-интерфейс. Управление фильтрами - через manage-sieve (благо в нем есть starttls) или через тот же web-интерфейс. У prayer, кстати, есть довольно неплохой консруктор фильтров, который пишет за человека sieve скрипты. Если бы он еще знал о существовании в sieve расширения spamtest... На входном роутере у меня порты 443 993 465 и 4190 отправляются на эту коробочку. А 22 и 80 - на рабочую станцию. 25 вообще у провайдера закрыт. Поэтому приходится направлять MX на VDS, с которой почта перенаправляется опять же через postfix-овские virtual transport через openvpn. Что позволяет вообще пользоваться провайдером за NAT-ом. Где бы я эту коробочку ни включил, как только она загрузится и установит OpenVPN-соединение с VDS, почта в обе стороны ходить будет (Правда читать ее смогут только те, кто в одной локальной сети с этой коробочкой). Но поскольку провайдер дает достижимый извне IP, то читать почту и отправлять ее можно откуда угодно - 465 порт не фильтруется. А зафильтруют, так 587 есть. На самом деле еще на этой коробочке крутится SNIProxy, которая перенаправляет https-запросы к home.wagner.pp.ru (а не к mail.wagner.pp.ru) на рабочую станцию. Чтобы можно было снаружи рулить transmission-ом через web-интерфейс. К сожалению, найти web-mail, который бы уживался на одном виртуальном сервере с другими веб-приложениями мне не удалось, поэтому весь https://mail.wagner.pp.ru занят prayer-ом (и он же является там web-сервером). В данной конструкции не описан greylisting и мендежер списков рассылки, потому что они стоят на VDS. Грейлистинг - по совершенно очевидным причинам, а менеджер списков рассылки чтобы не гонять их траффик туда-обратно через vpn. Резервное копирование: По крону rsync-ом на рабочую станцию. Не rsnapshot-ом а просто rsync-ом. rsnapshot-ом оно потом на внешний носитель копируется, а на диске рабочей станции есть просто ровно одна копия всей файловой системы почтового сервера. http://vitus-wagner.dreamwidth.org/1099737.html. Please comment there using OpenID. Now there are comments
|
Категория «Актеры»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.