Игры с cyrus-imap

Баловался тут с cyrus-imap. А точнее с конфигурационным параметром altnamespace: yes.

Есть у меня скриптик на php, который осуществляет поиск в письмах в почтовых ящиках. Там все просто, используются функции php-imap. Все работало хорошо, но после установки параметра altnamespace, скрипт перестал работать. После долгих ковыряний, выяснилось следующее.

По умолчанию, cyrus-imap дает доступ к ящикам других пользователей через user.login.box, на что и был заточен скрипт.

Но после введения параметра altnamespace, cyrus поменял представление почтовых ящиков (что вообщем то и надо было сделать) на Other Users.login.box.

В скрипте, начало дерева было прописано явно: user, вот он и перестал работать.

Серые списки.

Я долго не хотел вводить у себя серые списки, из-за задержки, которую они вносят при получении первого письма. Но спам достал, и я включил grey listing у себя на серваке. За сутки ни одного письма со спамом не дошло до спам фильтра 🙂

Правда хочу сказать, что кроме серых списков, у меня включено фильтрование по spf, и еще пару фильтров, отрезающих типичные письма со спамом. Но результат хорош, очень хорош 🙂

Тестирую eGroupware 1.6

Решил вплотную заняться тестирование софтинки: eGroupware 1.6 (на русском).

Штука позитивная. Стоит в тестовом режиме в моей компании. Хорошего и полезного в ней много. Но как всегда расскажу о «подводных камнях».

eGroupware, точнее ее модуль работы с почтой, опирается на любой сторонний почтовый сервер, с доступом к ящикам по IMAP. И, как заявляют разработчики, умеет нормально работать с LDAP серверами. Я там видел даже взаимодействие с AD. Т.е. как минимум аккаутны пользователей и адресные книги можно вынести в LDAP. Письма в egroupware можно прикреплять к заданиям, календарю и прочим полезным модулям, поэтому почтовый модкль по хорошему нужен.

Исходя из вышеперечисленного, решил скрестить почтовый сервер (доступ к ящикам при помощи Cyrus IMAP), OpenLDAP и eGroupware. Идея простая. В eGroupware заводится пользователь, информация о нем сохраянется в LDAP. Почтовый сервер берет инфу о пользователе из LDAP + включена функция автоматического создания почтовых ящиков в Cyrus IMAP. Заодно сторонние клиенты (предполагался Thunderbird) смогут брать из LDAP корпоративную адресную книгу.

И тут пошли подводные камни.

  1. Учетные записи пользователей великолепно сохраняются в LDAP сервере. Но, к сожалению, модуль адресной книги их не видит. Приходится делать запись пользователя в адресбуке руками.
  2. Почтовый сервер сам создает почтовые ящики и все служебные папки в ящике. Но я так и не смог найти, как автоматически давать доступ служебным пользователям к некоторым папкам юзверя. Например, это необходимо для работы спам фильтра. Он должен уметь помещать почту в специальные папки и забирать почту из папок для обучения.
  3. Модуль адресной книги может экспортировать индивидуальные и групповые адресные книги в LDAP, но не видит их. Т.е. я эти записи увидел при помощи интсрументов, для работы с LDAP сервером.
  4. Модуль работы с почтой, не отображает русские названия папок в IMAP сервере, если они сделаны сторонней программой в кодировке UTF-8.

После просмотра логов, оказалось, что в модуле адресной книги вызывается функция, отсутсвующая в дистрибутиве egroupware. Я пока не понял (не знаю я PHP) это внешняя функция или разрабы забыли что то положить в дистрибутив. Сейчас разбираюсь с этим вопросом.

В результате, принял решение. Буду все данные хранить в MySQL (хранилище по умолчанию). Разрешил пользователям настраивать почтовый сервер, услугами которого они пользуются самостоятельно. Если пользователю потребуется почтовый аккаунт, создам его вручную на почтовом сервере.

В остальном все пока тип-топ. Шикарный функционал.

В перспективе — прикрутить модуль, позволяющий подключаться к основным службам типа адресной книги и календаря, сторонним программам. (Таблица совместимости) Хотя всего функционала eGroupware при помощи внешнего клиента не получить 🙂 (Список модулей)

Федорино Коре

Мне потрясающе не везет с Федорой. Она либо не ставится, либо ставится но не так, либо ставится, но не работает. Последний опыт был с Русской федорой 10. Она поставилась, но то что я увидел, меня сильно удивило. Сильно — это слабо сказано (каламбурчик).

По идее это дружественный к пользователю дистрибутив. Т.е. по идее он не должен напрягать пользователя. Но о какой дружественности может идти речь, если рабочая станция на Федоре, с использованием КДЕ 4 тормозит больше чем Vista? КДЕ 4 — это вообще отдельная песня! Как можно это ставить в дистрибуив в маин ветку?

Дальше, чудо визарды конфигурации системы. Мне так и не удалось при помощи визарда в Русской федоре включить переключатель языка клавиатуры! (Переключатель из КДЕ не считается, это нонсенс). Кроме того, я даже не смог найти xorg.conf 🙂 Ну да ладно, настройка через HAL, но блин, лезть руками в конфигурационные файлы в юзер френдли дистрибутиве… слов нет.

Отдельная песня — это наблюдение за скачущими виджетами в графической утилите (визарде) установки программ. Мало того, что тормозит, дык еще таааак прыгает 🙂 жестокая весЧь!

Всеже очень сильно чуствуется, что Федора — это полигон. Так что, поставлю я на ноут обратно Open SuSE, он как десктопный дистрибутив на порядок лучше Федориного Коре.

Хочу посоветоваться.

Собираюсь писать 4-й курс по Linux но не могу решить что важнее:

  • Либо рассказать о LDAP — сервер и все что с ним связано. Аутентификация, керберосы-шмерберосы…
  • Либо о мониторинге — Nagios (Zabix) и всякое прочее.

Вот такая вот диллема. А вы что думаете? Может что то еще надо?

Статистика DSPAM

Посмотрел статистику спам фильтра. Нормально так работает.

# dspam_stats -H artur
artur:
TP True Positives: 13018
TN True Negatives: 3790
FP False Positives: 97
FN False Negatives: 802
SC Spam Corpusfed: 367
NC Nonspam Corpusfed: 0
TL Training Left: 0
SHR Spam Hit Rate 94.20%
HSR Ham Strike Rate: 2.50%
OCA Overall Accuracy: 94.92%

3-й дистанционный курс по Linux

Ну вот. Дописал третий курс, посвященный системе электронной почты.

Содержание.

Введение.
Компоненты системы электронной почты. 8
Почтовый сервер sendmail. 12

Настройка простого почтового сервера. 16
Настройки в DNS. 16
Настройка сервера sendmail. 19
Псевдонимы. 25
Конфигурация Cyrus IMAP. 26
Настройка firewall. 28
Почтовые ящики пользователей. 28

Настройка шифрования при подключении к почтовому серверу. 40
Настройка sendmail. 46
Настройка IMAP сервера. 47
Настройка почтового клиента. 48

Подключение антивируса. 50

MySQL. 53

Защита от спама. 65
DNSBL. 65
Антиспам фильтр. 66
Настройка spf. 75
Серые списки. 78

WEB интерфейс. 82

Поддержка нескольких почтовых доменов. 92
——

Пришлось в курсе добавить немного материала по базовому администрированию MySQL и немного о сервере Apache (используется при создании WEB интерфейса)

eGroupware в этот курс не попал, потому как отдельный мощный продукт. Хотя для работы ему требуется нормально настроенный почтовый сервер.

Вообще egroupware — это клевая вещь. Я просто прусь от нее. Шикарное решение для небольших компаний.
А вот как развернуть его на нескольких серверах, я пока еще не представляю. Наверное синхронизацию базы можно делать средствами MySQL, а вот хранение документов, обработка сайтов тут пока не придумал. Может использовать rsync?

Срок жизни сертификата LPI

Оказывается LPI поменяли срок жизни своих сертификатов. Раньше раньше был равен 10 годам. Но видать поток на сертификацию мало мало затих и они сократили срок жизни до 5 лет 🙂
Ну вот, в следующем году надо будет все сдавать по новой.
На досуге задумался — нужна ли мне сертификация от RedHat?

Что в первую очередь хотят поломать на WEB сервере?

Интересно, что в первую очередь ищут противные редиске на WEB сервере? Достаточно посмотреть логи Apache, что бы понять, что нельзя выставлять в Интернет и как не следует называть директории.

phpadmin — чемпион! По моему, проще один раз выучить управление MySQL из командной строки и забыть про всякие WEB морды.
Вот списочек, как усердно они перебирали возможные варианты 🙂

404 Not Found
/PMA/main.php:
/PMA2005/main.php:
/PMA2006/main.php:
/admin/main.php:
/db/main.php:
/dbadmin/main.php:
/myadmin/main.php:
/mysql-admin/main.php:
/mysql/main.php:
/mysqladmin/main.php:
/mysqlmanager/main.php:
/p/m/a/main.php:
/php-my-admin/main.php:
/php-myadmin/main.php:
/phpMyAdmin-2.2.3/main.php:
/phpMyAdmin-2.2.6/main.php:
/phpMyAdmin-2.5.1/main.php:
/phpMyAdmin-2.5.4/main.php:
/phpMyAdmin-2.5.5-pl1/main.php:
/phpMyAdmin-2.5.5-rc1/main.php:
/phpMyAdmin-2.5.5-rc2/main.php:
/phpMyAdmin-2.5.5/main.php:
/phpMyAdmin-2.5.6-rc1/main.php:
/phpMyAdmin-2.5.6-rc2/main.php:
/phpMyAdmin-2.5.6/main.php:
/phpMyAdmin-2.5.7-pl1/main.php:
/phpMyAdmin-2.5.7/main.php:
/phpMyAdmin-2.6.0-alpha/main.php:
/phpMyAdmin-2.6.0-alpha2/main.php:
/phpMyAdmin-2.6.0-beta1/main.php:
/phpMyAdmin-2.6.0-beta2/main.php:
/phpMyAdmin-2.6.0-pl1/main.php:
/phpMyAdmin-2.6.0-pl2/main.php:
/phpMyAdmin-2.6.0-pl3/main.php:
/phpMyAdmin-2.6.0-rc1/main.php:
/phpMyAdmin-2.6.0-rc2/main.php:
/phpMyAdmin-2.6.0-rc3/main.php:
/phpMyAdmin-2.6.0/main.php:
/phpMyAdmin-2.6.1-pl1/main.php:
/phpMyAdmin-2.6.1-pl2/main.php:
/phpMyAdmin-2.6.1-pl3/main.php:
/phpMyAdmin-2.6.1-rc1/main.php:
/phpMyAdmin-2.6.1-rc2/main.php:
/phpMyAdmin-2.6.1/main.php:
/phpMyAdmin-2.6.2-beta1/main.php:
/phpMyAdmin-2.6.2-pl1/main.php:
/phpMyAdmin-2.6.2-rc1/main.php:
/phpMyAdmin-2.6.2/main.php:
/phpMyAdmin-2.6.3-pl1/main.php:
/phpMyAdmin-2.6.3-rc1/main.php:
/phpMyAdmin-2.6.3/main.php:
/phpMyAdmin-2.6.4-pl1/main.php:
/phpMyAdmin-2.6.4-pl2/main.php:
/phpMyAdmin-2.6.4-pl3/main.php:
/phpMyAdmin-2.6.4-pl4/main.php:
/phpMyAdmin-2.6.4-rc1/main.php:
/phpMyAdmin-2.6.4/main.php:
/phpMyAdmin-2.7.0-beta1/main.php:
/phpMyAdmin-2/main.php:
/phpMyAdmin/main.php:
/phpMyAdmin2/main.php:
/phpmanager/main.php:
/phpmy-admin/main.php:
/phpmyadmin/main.php:
/phpmyadmin2/main.php:
/pma2005/main.php:
/pma2006/main.php:
/sql/main.php:
/sqlmanager/main.php:
/sqlweb/main.php:
/web/main.php:
/webdb/main.php:
/websql/main.php:

Причем — это далеко не полный список вариаций, на тему поиска phpmyadmin.

Переход с Микрософт Офис на Опен Офис

Сейчас работаю с одним клиентом, переводим компанию с продуктов Микросотф, на бесплатные аналоги, в том числе и рабочие места. Традиционно возник вопрос об офисном пакете. Не для кого не секрет, что ОО и МсОфис отличаются друг от друга, добавляются особенности интерфейса, работы, баги и прочая. Причем, клиент это прекрасно понимает 🙂 и первое что они потребовали — сделать небольшой курс по переходу с МСОфис на ОО.

Честно говоря, я терпеть не могу читать пользовательские курсы, поэтому не взялся за работу над курсом. Поспрошал коллег. Оказывается такой курс уже есть. Более того, есть готовые курсы по обучению ОО с нуля.

Так что, если возникнет вопрос обучения Опен Офису с самого начала или вопрос перехода на ОО с Микрософт, обращайтесь, помогу 🙂