Pull to refresh

Как я внедрял Zimbra

Reading time9 min
Views108K
Всем доброго времени суток!

После возвращения на прежнее место работы возникла необходимость разгребать собственные-же косяки 2-х летней давности, помноженные (именно помноженные) на косяки ООО «Разолбай-аутсорсинг» (название организации, как вы правильно понимаете, изменено). Одним из таких косяков был почтовый сервер Exim из которого мало того, что как из ушата лился спам, так еще и кривонастроеный антиспам приходящим админом ООО «Раздолбай-аутсорсинг» куда-то «пропадал» нужные письма, и в качестве приятного бонуса в imap`ных ящиках периодически пропадали нужные письма. В общем лучшим решением было rm -rf /. Именно это я и сделал и внедрил Zimbra и сейчас я хочу рассказать как это сделал таким образом, что это заработало (прежде всего в логике работы компании) став вторым инструментом документооборота, хотя ранее электронка стояла особняком, которая была у нескольких человек.

И так, погнали бороться со спамом, разгильдяйством сабботажем, нежеланием работать, тупостью пользователей и еще кучей всего!



1. Ставим и побеждаем спам


Процесс установки я описывать не буду, ничего особенного в том чтобы поставить 5-й debian, запустить установочный скрипт zimbra нет. Есть сложность в другом. Zimbra очень чувствительна к hostname, поэтому если у вас более одного интерфейса — обязательно приведите ваш hosts на машине куда ставите к такому виду:

# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
aaa.aaa.aaa.aaa zimbra.mydomain.ru zimbra
xxx.xxx.xxx.xxx zimbra.mydomain.ru zimbra

соответственно для серого и белого ip. Конечно можно по человечески настроить DNS, но у меня наведение порядка с DNS-серверами коих аж 3 штуки — дело будущих периодов, поэтому оставим пока так. У кого схожие проблемы — имейте в виду. Впрочем зимбра умна, поэтому все что ей не нравится — вы узнаете об этом сразу.

Спам я победил вообще не напрягаясь, просто перенес почту на VDS-ку, на которой крутится сайт и включил грейлистинг. Нехай у них каналы шире, пусть первый удар спама принимает сервак на стороне. К счастью на VDS-ке sendmail, поэтому я сделал как пишут в wiki предварительно сконфигурировав её как secondary system.

В кратце поясню: MX-записи на хост mail.mydomain.ru, на нем сендмайл с грейлистингом. Там мы принимаем почту на адреса вида user@mydomain.ru, которые форвардятся на адреса вида user@zimbra.mydomain.ru. А сервер zimbra соответственно отправляет через relay и заменяет user@zimbra.mysite.ru на user@mysite.ru на стадии отправки. Вообще я не глубоко знаю постфикс, поэтому подозреваю что там и не такие фокусы можно делать.

Кроме победы над спамом есть еще один эффективный плюс — очень серьезное снижение нагрузки на сервер Zimbra который в разы менее производителен чем сендмайл. Иными словами sendmail + milter greylist даже не почуствуют 20 000 писем спама в сутки, 95% из которых срежутся, а зимбре это уже будет некая ненужная нагрузка, сразу предупреждаю, она ОЧЕНЬ прожорлива до ресурсов, поэтому имеет смысл лишний раз подумать.

2. Организовываем инфраструктуру


Дальше пошла самая интересная часть работы — работа с пользователями. Мне было очень трудо объяснить руководителям новую «маршрутизацию» почты, чем отличается почтовый алиас, от маилбокса, почему я могу сделать так чтобы письмо которое отправят на sales@mydomain.ru придет всем менеджерам и директору продаж. И почему его никто не сможет удалить. Я просто дам Вам совет — не тратье на это время. Делайте и все. В любом случае разгребать не им, ваша задача чтобы им дошла почта, а каким образом она к ним придет — это не их забота. Просто руководствуйтесь в создании инфрастукруты следующими принципами:

  • Никаких общих ящиков по IMAP. Один пользователь — один mailbox. Остальное — алиасы.
  • Минимизировать установку почтовых клиентов. Среднестатистическому работнику компании почтовый клиент не нужен. Всех в веб интерфейс.
  • В подписи — «личный» ящик, на визитке — ящик отдела (который в свою очередь является алиасом).
  • Хорошая идея сделать сборщик почты на primary сервере. Тупо и цинично копировать всю входящую почту (или не всю) ибо иногда это имеет смысл, такая инфраструктура более чем располагает к этому.


Вообще это довольно муторное дело создавать пользователей, можно писать скрипты и импортировать, можно еще как-то, в моем случае 40 записей на первом этапе и еще столько же растянув на месяц я решил не заморачиваться. Но кто будет внедрять — имейте в виду что там (в зимбре) есть штатное средство импорта.

3. Внедряем


Вот тут меня ждал первый сюрприз. Мне казалось что я написал нормальную инструкцию в которой прописал что делать от и до. Но в итоге после её прочтения были вопросы вроде «Спасибо, а что нам делать-то?». К счастью я быстро понял что так дело не пойдет и её переписал. Запомните: пользователю нужен ярлык на рабочем столе. 1 из 5 только знает что такое адресная строка и зачем она нужна, остальные 4 в лучшем случае вобьют zimbra.mynetwork.local в адресную строку яндекса. Но сама идея выдавать инструкцию была правильной, те, кто 3-й вариант её осилил больше вопросов не задавали.

Привожу текстовку:

КАК ПОЛЬЗОВАТЬСЯ ЭЛЕКТРОННОЙ ПОЧТОЙ

ПАМЯТКА ПОЛЬВАТЕЛЮ

- как войти в почту
Для входа в почту используется браузер (программа для просмотра интернета), при необходимости можно подключить почтовую программу.

с рабочего места находясь в здании предприятия набрать в адресной строке браузера:
192.168.xxx.yyy или zimbra.mynetwork.local

тут был скриншот адресной строки

находясь вне рабочего места (в командировке или еще где либо) через интернет по адресу zimbra.mydomain.ru

какой у меня логин/пароль?

Имя пользователя(логин): ляляляля

Пароль: парам-пам-пам *пароль набирать так как он тут написан, заглавные - заглавными

какой у меня почтовый адрес/ящик и чем они отличаются?

Почтовый адрес НЕ ВСЕГДА совпадает с почтовым ящиком. Это сделано для того чтобы несколько человек могли получать одновременно почту и для того чтобы можно было сделать «красивые» адреса, отправляя почту на которые она дойдет до нужного почтового ящика.
Например dir@mydomain.ru → и.фамилия@mydomain.ru.
Грубо говоря адрес — это куда отправляют письма, а ящик, куда они приходят.

У вас у КАЖДОГО есть почтовый ящик и почтовый адрес вида i.ivanov@mydomain.ru
где первая буква совпадает с первой буквой имени, точка и фамилия полностью в транслите.

Ваш адрес/ящик: и.фамилия@mydomain.ru //тут обязательно указать ящик именно этого ползователя и маркером выделить!

у меня есть дополнительный почтовый адрес? Мне он нужен. Как сделать?

Если вы сотрудник отдела у которого есть такой адрес — вы туда попадаете автоматически. Например сотрудники отдела продаж получат почту которую отправят на sales@mydomain.ru Остальные «красивые адреса» выдаются по просьбе.

а почему не i.ivanov@zimbra.mydomain.ru ? Ведь это высвечивается в адресной книге?

Потому что это ЛОКАЛЬНЫЙ почтовый ящик, дальше предприятия эта почта не уйдет
и не придет от внешнего отправителя на него.

а что писать на визитке(ах) ?
ПОЧТОВЫЙ АДРЕС ОТДЕЛА! Если его нет — тогда свой.



В кратце поясню про «локальный почтовый ящик». На самом деле никакой он не локальный, но я не менее нагло и цинично рубанул все стороннее SMTP фаерволом, кроме sendmail-сервера. Хотя в DNS`ах домена у меня есть MX записи на zimbra.mydomain.ru. Просто это самое оптимальное решение с точки зрения создания проблем вероятному спамеру с минимальными трудозатратами с моей стороны.

Вобщем-то на этом можно поставить точку в посте, но я хочу отдельно выделить следующие 2 пункта.

4. Человеческий фактор


Все сотрудники поделились на 2 неравные группы — союзники и сабботажники. Те которым «пофиг», сами понимаете что от саботажников отличаются мало чем. Именно из-за них что-то не работает. Поскольку на этом предприятии с треском провалилось внедрение Web-Based ERP системы, которая административно насаживалась, само собой стало понятно что мне ничего насаживать нельзя, это будет первый шаг к фейлу. Да и всем остальным тоже насаживать не рекомендую, при первой же возможности это перестанет работать.

В числе первых саботажников оказался руководитель отдела продаж. Он сказал: «Сделай мне один ящик на всех как было!». Я ему попытался объяснить о преимуществах предлагаемого мной подхода, но он меня не понимал (не смотря на то что у него техническое образование), тогда я сказал: «Давай договоримся, тебе ходящая почта — она у тебя будет, но ты будешь делать то что я говорю, если она не будет ходить, я буду делать то что ты скажешь, идет? Моя забота чтобы до твоих орлов дошла почта, а дальше уже ваше дело как с ней и чего.» Он махнул рукой, через неделю все вопросы отпали сами собой. Мораль: не пытайтесь убедить «чайника».

Следующим шагом была борьба с маилрушничеством. Только не подумайте что я что-то против маил.ру имею, у меня есть даже там почтовый ящик которым пользуюсь, но это личная почта. Очень глупо когда менеджер дает адрес вроде svetik_k0783@mail.ru (любое совпадение случайно!) в деловой переписке, а так же это вообще-то личная почта. В корпоративном стандарте я обязан иметь возможность получить доступ к почте сотрудника в случае крайней необходимости (например он попал в больницу на пару месяцев, а в его ящике переписка вот вот идущая к завершению договора на пару милионов рублей). Собственно о борьбе, у меня прозрачный squid, который как известно прозрачно не проксирует HTTPS, а у некоторых сотрудников есть google почта. Я закрыл пущеный через NAT https и не стал открывать гуглевские подсети, а у них авторизация строго по https. Те у кого ящики на гугле само собой подняли шум, я объяснил что гугль используют защищенную авторизацию, которая плохо работает через прокси, а мимо прокси я вас пущу только через подписаную директором служебную записку, в которой вы укажете вескую причину зачем вам нужна google-почта при нормально функционирущей местной. А тем у кого mail.ru сказал что маил.ру тоже вот вот перейдет 100% на защищенную аутентификацию, так что если в одно прекрасное утро ваша деловая переписка не открылась — вас предупреждали. Возражения вроде «А у меня все клиенты в майл.ру» были очень и очень вялые потому что я сразу-же повторился что я вам его не закрываю, он работает пока работает, но когда он сам отвалится — вас предупреждали задоооолго до часа Ч.

Борьба с разгильдяйством была с использованием хитрого трюка. В чем заключается разгильдяство? В банальном «забыл пару дней проверить почту». А зачем смотреть почту например кладовщику? Об этом и пойдет речь дальше. Как и на любом предприятии тут есть файл сервер, на котором «от годов» закончилось место. Я выпилил все «приватные» папки, оставив только папки отделов и сделал большую файлопомойку, но предупредил, конфиденциальные документы сюда не складывайте, сюда все имеют доступ. А отправлять файлы показал как в зимбре и научил, что вы отправили файл Васе, так позвоните ему и скажите «Вася, я тебе в зимбру бросил(а) файл, проверь почту!» Со временем звонить придется реже. Людям это понравилось потому что в качестве альтернативы приватной передачи файлов был только самописаный мессенджер, который внедрила аутсорсинговая компания, этот мессенджер использовал прямое соединение компьютер-компьютер и передать можно было только если человек находится на рабочем месте. Поэтому я подсказал что тут вы можете отправить и не переживать, оно в любом случае дойдет.

В итоге через месяц полет нормализовался окончательно, люди действительно стали ей пользоваться. Глобальная адресная книга стала очень веским аргументом «за», простой и дружелюбный интерфейс зимбры не менее способствовал, а с точки зрения работников, которые ездят в командировки это вообще стало решением целой проблемы.

И на последок…

5. Ну где-же флэшки ...


До кризиса существовал такой персонаж, который еще во время первого пришествия заставил меня зарубить флэшки. Имя ему «специалист по информационной безопасности». А мне эта тема понравилась потому что количество вирусни стало на порядок меньше и открывать их обратно я не горю особым желанием. А в зимбре можно загружать документы в портфель. Поэтому всем своим я сказал, нужны флэшки — вы их не получите. В Зимбре есть портфель, загрузили документ и работайте с ним дома, если уж так надо. Вопрос как и в случае с майл.ру отпал сам собой, а я в плюсе, я вижу что происходит у меня в хозяйстве, кто что с чем обменивается. Конечно если нужно много файлов перебросить туда-обратно я иду коллегам на встречу, но поверьте, это бывает не так и часто, а так же у меня есть для этих целей решение на убунте, но об этом возможно в следующий раз.

В заключение хочется сказать, что если вы до сих пор не внедрили зимбру и при этом у Вас есть необходимость в чем-то подобном — не раздумывая ставьте. 3 месяца полет нормальный, даже пережил одно обновление. Ни на каких виртуалках я с ней не игрался, сразу в боевом режиме все заработало, что какбы намекает на то, что если у вас есть опыт администрирования линуксов и почтовых серверов — все получится практически сразу. Да даже если для вас станет открытием что SMTP и IMAP сервер это, как в известном анекдоте про историю КПСС, «вообще два разных человека!» — ничего страшного, у вас все получится!

Update 1: добавляю по просьбам телезрителей предложению хабрапользователя mister_fog пару ссылок по этой теме. Думаю лишним не будет тем, кто как некоторые отписавшиеся «вот вот решиться перейти на Zimbra».
Материалы с тегом Zimbra на ossportal.ru
Переход на СПО. Заменить Exchange за 10 дней

Update 2: в связи с обилием комментариев на тему zimbra.mynetwork.local vs zimbra.mydomain.ru хочу попросить не придумывать сферических коней в вакууме в виде того что это проблема для пользователей. Я совершенно ответственно заявляю что тут никакой проблемы нет вообще и мои пользователи думают так же, иначе я бы уже давно знал об этом. Для пользователя это будет всего на всего обновить закладку в браузере. Для меня это проблема до тех пор пока руки не дошли до разборок с DNS. Когда дойдут руки я сделаю чтобы zimbra.mydomain.ru будет резолвиться по «серому» адресу если человек находится внутри локалки. А для того чтобы переход был менее затруднителен для тех, кто заходил по старым адресам повешу Web-сервер с 1 страничкой с автоматическим редиректом на JS который через 2 минуты выбросит пользователя на новый адрес, а перед этим чтобы он прочитал что нужно обновить закладки и даже более того сделаю там же JS`овую кнопку добавления нового адреса в закладки.
Tags:
Hubs:
+48
Comments75

Articles

Change theme settings