Zimbra 8.6.0
В FF 34 все еще спрашивает часовой пояс при каждом обращении к ежедневнику.
Но теперь без проблем можно создать встречу в декабре 2014 и позже.
1. Надо сменить пароли всех администраторов Zimbra, сменить пароль на сервере у пользователей root и zimbra.
2. Проверить Cron, не появилось ли там подозрительных заданий.
Перед сменой паролей советую вытащить из сервака сетевой кабель, чтобы наверняка отключить все возможные открытые сессии.
Есть Zimbra 8.5
Настроена проверка подлинности из AD. Как при этом заставить работать проверку подлинности внутренних пользвателей? Чтобы работало и с AD и с внутренними ящиками?
На самом деле способ предложенный forge не сработает... по крайней мере для днс проверки не работало у меня, я вообще не понимаю как в 8.5 и в каком порядке вставляются исключения.
Я предлагаю следующее... как можно заметить, у зимбры практически все правила реджектов проверяются на этапе smtpd_recipient_restrictions, на остальных этапах в основном проверяется домен назначения и прочее проверки, которые практически на 100% не требуют списка исключений. А куда вставляются правила при использовании zmprov mcf +zimbraMtaRestriction 'check_client_access lmdb:/opt/zimbra/conf/postfix_rbl_override вообще не понятно.
Делаем следующее, постараюсь поподробнее, у автора топика следующие правила настроенные через веб морду...
reject_non_fqdn_recipient - ни разу не встречал нормальных серверов которые бы отправляли не в fqdn, не требует исключения. permit_sasl_authenticated, permit_mynetworks - разрешаем доступ для авторизованных пользователей и доверенных сетей, не требует исключения. reject_unlisted_recipient - если нет пользователя - то и пиьсмо для него нам не нужно, не требует списка исключений reject_invalid_helo_hostname, reject_non_fqdn_sender, reject_unknown_client_hostname, reject_unknown_sender_domain, reject_rbl_client - в этих правилах необходим список исключений, для исключений rbl и просто неправильно настроенных серваков.
Т.е. надо запихнуть проверку исключений после reject_unlisted_recipient, но до reject_invalid_helo_hostname, чтобы проверки fqdn и проверки на несуществующих пользователей остались, а так же чтобы не блокировались доверенные сети и авторизованные пользователи если в списках исключений будут блокировки. При этом если в списке исключений стоит разрешение для ипа или домена, то он не будет проходить все проверки после reject_invalid_helo_hostname(включительно).
Помимо исключений RBL добавим еще пару плюшек... не помешает... Все операции от пользователя zimbra.
1) создаем /opt/zimbra/conf/sender_access - тут мы будем проверять адрес указанный в поле FROM письма, т.е. фильтрация будет применяться к адресу с которого вам пишут.
[collapse]
Формат следующий: <домен или адрес> <TAB> <действие REJECT или OK> <TAB> <если запрет - сообщение об ошибке, не обязательно>
Пример:
============================================= example.ru REJECT Not login in
numbclub.com REJECT Sender blocked by spam-filter
admin@comp.net REJECT Sender blocked by spam-filter
company.ru OK
=============================================
example.ru - это НАШ домен, т.е. тот который у вас зимбре после @, запрещено по следующей причине, в зимбре есть неприятная дыра, можно отправлять письма с нашего домена без авторизации и не из доверенных сетей, т.е. подделать адрес директора и написать например на адрес бухгалтера, бухгалтер даже не заметит... при этом permit_sasl_authenticated и permit_mynetworks стоящие выше в smtpd_recipient_restrictions, позволят авторизованным пользователям и пользователям из доверенных сетей без проблем отправлять письма на ваш домен, т.е. Reject тут только для тех, кто не авторизовался и для левых.
numbclub.com - это к примеру домен спаммера (кстати реальный домен спаммера), можно конечно добавлять в блэклист спаммассасина, но во-первых, спаммассасин жрет много ресурсов, лучше не загружать его лишней работой, во-вторых, если в письмах будут вирусы, письмо будет отклонено уже после smtp сессии антивирусом, соответственно в почтовой очереди появится письмо от MAILER DAEMON, которое будет висеть в очереди несколько дней с неудачными попытками доставки, т.к. спамеры письма не принимают
admin@comp.net - это если вы не хотите получать письма от определенного пользователя, а не от домена в целом.
company.ru OK - это как раз исключит днс проверки, RBL листов и прочее, т.е. если будет идти письма с этого адреса, никакие другие проверки кроме reject_non_fqdn_recipient и reject_unlisted_recipient произведены не будут. Хотим добавить в исключение адрес, пишем сюда с OK.
[/collapse]
2) создаем /opt/zimbra/conf/recipient_access - тут мы будем проверять кому пишут, т.е. фильтрация будет применяться к адресу на который пишут.
[collapse]
Формат следующий: <ваш домен или адрес из вашего домена> <TAB> <REJECT> <TAB> <сообщение об ошибке, не обязательно>
Пример:
============================================= all@example.ru REJECT Not login in
user@example.ru REJECT User is disabled
============================================= all@example.ru - это к примеру адрес рассылки, т.е. если оправить письмо на all@example.ru, это сообщение придет всем вашим сотрудникам компании, в случае если необходимо использовать данный адрес только для внутренней переписки - напишите его в этот файлик. Знаю что можно запрещать и через интерфейс зимбры, в настройках списка рассылки, но в этом случае сервер письмо примет и вроде даже поместить в очередь для всех получателей (а если их 1000), напишет пару логов, лишняя работа, проще резать прямо тут.
Так же если списки рассылки используются для отправки сообщений клиентам, к примеру коммерсанты шлют новости по всем своим клиентам (внешние адреса), то в поле "кому" ваши клиенты увидят адрес вашего списка рассылки и некоторые из них обязательно что нибудь попытаются отправить на этот адрес. В случае если адрес рассылки указан в файле recipient_access, внешний отправитель получит ошибку Not login in. Если внешний доступ будет ограничен средствами зимбры внешний отправитель не получит ничего, что не очень хорошо, потому что он сможет подумать что письмо дошло - а значит письмо пропадет, если же никак не ограничить внешний доступ для списка рассылки, все клиенты которые присутствуют в списке рассылки получать письмо внешнего отправителя.
Внутренние пользователи смогут отправлять почту на данные адреса, см. permit_sasl_authenticated и permit_mynetworks выше.
user@example.ru - если надо заблокировать какого то внутреннего пользователя только от внешних писем, можно написать его тут, пользователь user@example.ru не будет получать внешнюю почту, но будет получать внутреннюю.
Можно создавать и правило с OK, но что то не могу придумать случаев когда это необходимо.
[/collapse]
3) создаем /opt/zimbra/conf/client_access - тут мы будем проверять IP отправителя, если sender_access по каким то причинам не подошло.
[collapse]
Формат следующий: <IP отправителя,> <TAB> <REJECT или OK> <TAB> <если запрет - сообщение об ошибке, не обязательно>
Пример:
=============================================
XXX.XXX.XXX.XXX REJECT Sender blocked by spam-filter
YYY.YYY.YYY.YYY OK
=============================================
XXX.XXX.XXX.XXX - допустим в примере с sender_access, спам идет не только с numbclub.com, но и с других доменов, но ип у них одинаковый, вместо того чтобы указывать каждый домен по отдельности в sender_access, можно указать тут их общий ип.
YYY.YYY.YYY.YYY - это аналог permit_mynetworks, т.е. добавляя тут ип, вы можно сказать добавляете его в доверенную сеть, другое дело что через интерфейс зимбы добавить 1 ип нельзя, только через консоль, а тут пожайлуйста. Так же можно добавлять списки исключений для RBL, днс проверок. К примеру как случае в sender_access с сервера идут не только адреса с company.ru, но и с других, скажем он большой релей, и чтобы не добавлять все домены в sender_access, можно просто написать тут их общий ип. Я к примеру добавляю судя ип рабочей виртуальной машины, с которой тестирую почтовик через телнет ), чтобы она не проходила днс проверки (доверенная сеть у меня состоит только из 1 ого адреса, адреса самого сервера).
[/collapse]
4) выполняем postmap /opt/zimbra/conf/sender_access postmap /opt/zimbra/conf/client_access postmap /opt/zimbra/conf/recipient_access
Каждый раз когда вы вносите изменения в любой файлик, делайте postmap, для того чтобы изменения применились, перезапускать постфикс или зимбру не надо
5) теперь нам надо впихнуть эти списки фильтрации в postfix, между reject_unlisted_recipient иreject_invalid_helo_hostname. Просто отредактировать /opt/zimbra/postfix/conf/main.cf не вариант, после перезапуска зимбры main.cf откатит все изменения.
Идем сюда /opt/zimbra/conf/zmconfigd/smtpd_recipient_restrictions.cf именно этот файлик отвечает за генерацию smtpd_recipient_restrictions в main.cf постфикса. Ищем там строку reject_unlisted_recipient, ведь именно после него нам и нужно вставить свои списки исключений... вставляем следующее с новой строчки (укажем на наши ранее созданные файлки).. check_client_access lmdb:/opt/zimbra/conf/client_access
check_sender_access lmdb:/opt/zimbra/conf/sender_access
check_recipient_access lmdb:/opt/zimbra/conf/recipient_access
сохраняем, перезапускаем зимбру zmcontrol restart
После перзапуска открываем /opt/zimbra/postfix/conf/main.cf , наши правила должны появиться между reject_unlisted_recipient иreject_invalid_helo_hostname, если появились - все ок, можно проверять.
Данный вариант настройки плох только в одном, после обновления зимбы нужно повторить п.5, т.е. настройки при обновлении затираются, но файлики остаются на месте, да и не так уж часто обновляется зимбра.
Так же данный способ точно подходит для 8.5, если у вас другая версия или вы дополнительно делали какие-то изменения в конфигурационных файлах зимбры вручную, не факт что заработает.
Заключение: Вышло на целую статью, потратил час, орфографические ошибки не проверял, если кто то захочет перепосить - я не против.
В FF 34 все еще спрашивает часовой пояс при каждом обращении к ежедневнику.
Но теперь без проблем можно создать встречу в декабре 2014 и позже.
Также решена наболевшая проблема с "Ошибка сети".
Кто поставит 8.6.0 - отпишитесь...
Заявлено, что проблема решена...
2. Проверить Cron, не появилось ли там подозрительных заданий.
Перед сменой паролей советую вытащить из сервака сетевой кабель, чтобы наверняка отключить все возможные открытые сессии.
Удачи!
Настроена проверка подлинности из AD. Как при этом заставить работать проверку подлинности внутренних пользвателей? Чтобы работало и с AD и с внутренними ящиками?
Я предлагаю следующее... как можно заметить, у зимбры практически все правила реджектов проверяются на этапе smtpd_recipient_restrictions, на остальных этапах в основном проверяется домен назначения и прочее проверки, которые практически на 100% не требуют списка исключений. А куда вставляются правила при использовании zmprov mcf +zimbraMtaRestriction 'check_client_access lmdb:/opt/zimbra/conf/postfix_rbl_override вообще не понятно.
Делаем следующее, постараюсь поподробнее, у автора топика следующие правила настроенные через веб морду...
smtpd_recipient_restrictions = reject_non_fqdn_recipient, permit_sasl_authenticated, permit_mynetworks, reject_unlisted_recipient, reject_invalid_helo_hostname, reject_non_fqdn_sender, reject_unknown_client_hostname, reject_unknown_sender_domain, reject_rbl_client .
reject_non_fqdn_recipient - ни разу не встречал нормальных серверов которые бы отправляли не в fqdn, не требует исключения.
permit_sasl_authenticated, permit_mynetworks - разрешаем доступ для авторизованных пользователей и доверенных сетей, не требует исключения.
reject_unlisted_recipient - если нет пользователя - то и пиьсмо для него нам не нужно, не требует списка исключений
reject_invalid_helo_hostname, reject_non_fqdn_sender, reject_unknown_client_hostname, reject_unknown_sender_domain, reject_rbl_client - в этих правилах необходим список исключений, для исключений rbl и просто неправильно настроенных серваков.
Т.е. надо запихнуть проверку исключений после reject_unlisted_recipient, но до reject_invalid_helo_hostname, чтобы проверки fqdn и проверки на несуществующих пользователей остались, а так же чтобы не блокировались доверенные сети и авторизованные пользователи если в списках исключений будут блокировки. При этом если в списке исключений стоит разрешение для ипа или домена, то он не будет проходить все проверки после reject_invalid_helo_hostname(включительно).
Помимо исключений RBL добавим еще пару плюшек... не помешает... Все операции от пользователя zimbra.
1) создаем /opt/zimbra/conf/sender_access - тут мы будем проверять адрес указанный в поле FROM письма, т.е. фильтрация будет применяться к адресу с которого вам пишут.
[collapse]
Формат следующий:
<домен или адрес> <TAB> <действие REJECT или OK> <TAB> <если запрет - сообщение об ошибке, не обязательно>
Пример:
=============================================
example.ru REJECT Not login in
numbclub.com REJECT Sender blocked by spam-filter
admin@comp.net REJECT Sender blocked by spam-filter
company.ru OK
=============================================
example.ru - это НАШ домен, т.е. тот который у вас зимбре после @, запрещено по следующей причине, в зимбре есть неприятная дыра, можно отправлять письма с нашего домена без авторизации и не из доверенных сетей, т.е. подделать адрес директора и написать например на адрес бухгалтера, бухгалтер даже не заметит... при этом permit_sasl_authenticated и permit_mynetworks стоящие выше в smtpd_recipient_restrictions, позволят авторизованным пользователям и пользователям из доверенных сетей без проблем отправлять письма на ваш домен, т.е. Reject тут только для тех, кто не авторизовался и для левых.
numbclub.com - это к примеру домен спаммера (кстати реальный домен спаммера), можно конечно добавлять в блэклист спаммассасина, но во-первых, спаммассасин жрет много ресурсов, лучше не загружать его лишней работой, во-вторых, если в письмах будут вирусы, письмо будет отклонено уже после smtp сессии антивирусом, соответственно в почтовой очереди появится письмо от MAILER DAEMON, которое будет висеть в очереди несколько дней с неудачными попытками доставки, т.к. спамеры письма не принимают
admin@comp.net - это если вы не хотите получать письма от определенного пользователя, а не от домена в целом.
company.ru OK - это как раз исключит днс проверки, RBL листов и прочее, т.е. если будет идти письма с этого адреса, никакие другие проверки кроме reject_non_fqdn_recipient и reject_unlisted_recipient произведены не будут. Хотим добавить в исключение адрес, пишем сюда с OK.
[/collapse]
2) создаем /opt/zimbra/conf/recipient_access - тут мы будем проверять кому пишут, т.е. фильтрация будет применяться к адресу на который пишут.
[collapse]
Формат следующий:
<ваш домен или адрес из вашего домена> <TAB> <REJECT> <TAB> <сообщение об ошибке, не обязательно>
Пример:
=============================================
all@example.ru REJECT Not login in
user@example.ru REJECT User is disabled
=============================================
all@example.ru - это к примеру адрес рассылки, т.е. если оправить письмо на all@example.ru, это сообщение придет всем вашим сотрудникам компании, в случае если необходимо использовать данный адрес только для внутренней переписки - напишите его в этот файлик. Знаю что можно запрещать и через интерфейс зимбры, в настройках списка рассылки, но в этом случае сервер письмо примет и вроде даже поместить в очередь для всех получателей (а если их 1000), напишет пару логов, лишняя работа, проще резать прямо тут.
Так же если списки рассылки используются для отправки сообщений клиентам, к примеру коммерсанты шлют новости по всем своим клиентам (внешние адреса), то в поле "кому" ваши клиенты увидят адрес вашего списка рассылки и некоторые из них обязательно что нибудь попытаются отправить на этот адрес. В случае если адрес рассылки указан в файле recipient_access, внешний отправитель получит ошибку Not login in. Если внешний доступ будет ограничен средствами зимбры внешний отправитель не получит ничего, что не очень хорошо, потому что он сможет подумать что письмо дошло - а значит письмо пропадет, если же никак не ограничить внешний доступ для списка рассылки, все клиенты которые присутствуют в списке рассылки получать письмо внешнего отправителя.
Внутренние пользователи смогут отправлять почту на данные адреса, см. permit_sasl_authenticated и permit_mynetworks выше.
user@example.ru - если надо заблокировать какого то внутреннего пользователя только от внешних писем, можно написать его тут, пользователь user@example.ru не будет получать внешнюю почту, но будет получать внутреннюю.
Можно создавать и правило с OK, но что то не могу придумать случаев когда это необходимо.
[/collapse]
3) создаем /opt/zimbra/conf/client_access - тут мы будем проверять IP отправителя, если sender_access по каким то причинам не подошло.
[collapse]
Формат следующий:
<IP отправителя,> <TAB> <REJECT или OK> <TAB> <если запрет - сообщение об ошибке, не обязательно>
Пример:
=============================================
XXX.XXX.XXX.XXX REJECT Sender blocked by spam-filter
YYY.YYY.YYY.YYY OK
=============================================
XXX.XXX.XXX.XXX - допустим в примере с sender_access, спам идет не только с numbclub.com, но и с других доменов, но ип у них одинаковый, вместо того чтобы указывать каждый домен по отдельности в sender_access, можно указать тут их общий ип.
YYY.YYY.YYY.YYY - это аналог permit_mynetworks, т.е. добавляя тут ип, вы можно сказать добавляете его в доверенную сеть, другое дело что через интерфейс зимбы добавить 1 ип нельзя, только через консоль, а тут пожайлуйста. Так же можно добавлять списки исключений для RBL, днс проверок. К примеру как случае в sender_access с сервера идут не только адреса с company.ru, но и с других, скажем он большой релей, и чтобы не добавлять все домены в sender_access, можно просто написать тут их общий ип. Я к примеру добавляю судя ип рабочей виртуальной машины, с которой тестирую почтовик через телнет ), чтобы она не проходила днс проверки (доверенная сеть у меня состоит только из 1 ого адреса, адреса самого сервера).
[/collapse]
4) выполняем
postmap /opt/zimbra/conf/sender_access
postmap /opt/zimbra/conf/client_access
postmap /opt/zimbra/conf/recipient_access
Каждый раз когда вы вносите изменения в любой файлик, делайте postmap, для того чтобы изменения применились, перезапускать постфикс или зимбру не надо
5) теперь нам надо впихнуть эти списки фильтрации в postfix, между reject_unlisted_recipient и reject_invalid_helo_hostname. Просто отредактировать /opt/zimbra/postfix/conf/main.cf не вариант, после перезапуска зимбры main.cf откатит все изменения.
Идем сюда /opt/zimbra/conf/zmconfigd/smtpd_recipient_restrictions.cf именно этот файлик отвечает за генерацию smtpd_recipient_restrictions в main.cf постфикса. Ищем там строку reject_unlisted_recipient, ведь именно после него нам и нужно вставить свои списки исключений... вставляем следующее с новой строчки (укажем на наши ранее созданные файлки)..
check_client_access lmdb:/opt/zimbra/conf/client_access
check_sender_access lmdb:/opt/zimbra/conf/sender_access
check_recipient_access lmdb:/opt/zimbra/conf/recipient_access
сохраняем, перезапускаем зимбру
zmcontrol restart
После перзапуска открываем /opt/zimbra/postfix/conf/main.cf , наши правила должны появиться между reject_unlisted_recipient и reject_invalid_helo_hostname , если появились - все ок, можно проверять.
Данный вариант настройки плох только в одном, после обновления зимбы нужно повторить п.5, т.е. настройки при обновлении затираются, но файлики остаются на месте, да и не так уж часто обновляется зимбра.
Так же данный способ точно подходит для 8.5, если у вас другая версия или вы дополнительно делали какие-то изменения в конфигурационных файлах зимбры вручную, не факт что заработает.
Заключение: Вышло на целую статью, потратил час, орфографические ошибки не проверял, если кто то захочет перепосить - я не против.