Авторизация Exim+Dovecot+PostfixAdmin

Я в процессе настройки своего почтового сервера. Эта заметка касается авторизации, которая допускает не шифрованный пароль и шифрованный. Используется Exim4 + Dovecot2 + PostfixAdmin 1. Файл /etc/exim4/exim4.conf - ставишь такую секцию которую я привел: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 begin authenticators auth_plain: driver = dovecot public_name = PLAIN server_socket = /var/run/dovecot/auth-client server_set_id = $auth1 auth_login: driver = dovecot public_name = LOGIN server_socket = /var/run/dovecot/auth-client server_set_id = $auth2 auth_cram_md5: driver = dovecot public_name = CRAM-MD5 server_socket = /var/run/dovecot/auth-client server_set_id = $auth3 2. В файле /var/www/html/postfixadmin/config.inc.php меняешь настройки алгоритмов на: 1 2 $CONF['encrypt'] = 'dovecot:CRAM-MD5'; $CONF['dovecotpw'] = "/usr/bin/doveadm pw"; 3. Файл /var/www/html/roundcube/config/main.inc.php - меняешь алгоритм на cram-md5: 1 $rcmail_config['imap_auth_type'] = cram-md5; 4. Файл /etc/dovecot/dovecot.conf - меняешь алгоритмы авторизации на plain,login и cram-md5: 1 auth_mechanisms = plain login cram-md5 5. Файл /etc/dovecot/dovecot-mysql.conf - ставишь: 1 default_pass_scheme = CRAM-MD5 Так же можно авторизоваться Exim’ом непосредственно в Mysql базе данных (но у меня этот способ не особо заработал): ...

11 серпня 2017 · 2 хвилин · 273 слів · dimetrius

Проверка DKIM для входящих писем Exim

Продолжаю настройку своего почтового сервера. В этой заметке речь будет о проверке DKIM у входящих сообщений с помощью Exim. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 # Добавляем в список ACL для обработки: acl_smtp_dkim = acl_check_dkim # ... # Можно разместить в начале, где задаются переменные для DKIM-отправки # Это значит, чьи подписи мы будем точно проверять DKIM_KNOWN_SIGNERS = paypal.com : gmail.com dkim_verify_signers = $dkim_signers : KNOWN_DKIM_SIGNERS # ... # Создаем сам ACL в секции "begin acl" # ... # DKIM check acl_check_dkim: accept hosts = +relay_from_hosts accept authenticated = * # Message without sign accept dkim_status = none condition = ${if eq {$acl_c_dkim_hdr}{1} {no}{yes}} set acl_c_dkim_hdr = 1 add_header = :at_start:X-DKIM: Exim 4.71 on $primary_hostname (no dkim signature) # Message with sign, begin warn condition = ${if eq {$acl_c_dkim_hdr}{1} {no}{yes}} set acl_c_dkim_hdr = 1 add_header = :at_start:X-DKIM: Exim 4.71 on $primary_hostname # Message with sign, bad signature deny dkim_status = fail message = Rejected: $dkim_verify_reason logwrite = X-Auth: DKIM test failed: (address=$sender_address domain=$dkim_cur_signer), signature is bad. # Message with sign, invalid signature accept dkim_status = invalid add_header = :at_start:Authentication-Results: $primary_hostname $dkim_cur_signer ($dkim_verify_status); $dkim_verify_reason logwrite = X-Auth: DKIM test passed (address=$sender_address domain=$dkim_cur_signer), but signature is invalid. # Message with sign, good signature accept dkim_status = pass add_header = :at_start:Authentication-Results: $primary_hostname; dkim=$dkim_verify_status header.i=@$dkim_cur_signer logwrite = X-Auth: DKIM test passed (address=$sender_address domain=$dkim_cur_signer), good signature. accept

10 серпня 2017 · 2 хвилин · 262 слів · dimetrius

Смена email адреса отправителя в exim

Такая себе мини заметка, оказывается в exim уже интегрирован механизм смены email адреса отправителя. В debian пакетах так точно. Достаточно в файл /etc/email-addresses добавить то, что нам нужно. Стандартное содержимое файла # cat /etc/email-addresses 1 2 3 4 5 6 7 8 9 # This is /etc/email-addresses. It is part of the exim package # # This file contains email addresses to use for outgoing mail. Any local # part not in here will be qualified by the system domain as normal. # # It should contain lines of the form: # #user: [email protected] #otheruser: [email protected]

2 жовтня 2016 · 1 хвилина · 96 слів · dimetrius

Добавляем DKIM подписи в Exim, параллельно настраиваем SPF, DMARC на примере CentOS

Создаём директорию 1 mkdir /etc/exim/dkim Генерируем ключ 1 openssl genrsa -out /etc/exim/dkim/example.com.key 1024 из него генерируем публичную часть ключа 1 openssl rsa -in /etc/exim/dkim/example.com.key -out /etc/exim/dkim/example.com.key.pub -pubout Прописываем в DNS публичную часть ключа 1 mail._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..." Проверяем что запись корректно добавилась на DNS dig mail._domainkey.example.com TXT Настраиваем Exim 1 2 3 4 5 6 7 8 9 10 11 12 13 14 begin transports # тут добавляем наш DKIM DKIM_DOMAIN = ${lc:${domain:$h_from:}} DKIM_FILE = /etc/exim/dkim/${lc:${domain:$h_from:}}.key DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}} remote_smtp: driver = smtp dkim_domain = DKIM_DOMAIN dkim_private_key = DKIM_PRIVATE_KEY dkim_selector = mail dkim_canon = relaxed dkim_strict = yes Не забываем перезагрузить Exim (service exim reload) Параллельно обычно приходится настраивать SPF и DMARC. Это не сложно. Добавляем на DNS подобные записи: 1 2 example.com. IN TXT "v=DMARC1\;p=reject" example.com. IN TXT "v=spf1 mx a ip4:222.222.222.222 ~all" 222.222.222.222 это IP для примера, обычно приходится прописывать, когда почта отправляется с интерфейсного IP, который не совпадает с записями A, MX… статья не закончена

13 квітня 2016 · 1 хвилина · 163 слів · dimetrius

Как отучить Thunderbird жрать процессор?

Задался вопросом потому что почтовик использовал порядка 106% cpu, надо было что-то думать… И вот нашёлся рецептик: Правка - Настройки - Дополнительные - Редактор настроек - Соглашаемся - находим строку mail.db.idle_limit и меняем параметр на 30000000

13 квітня 2016 · 1 хвилина · 36 слів · dimetrius

Название форума phpbb3 в почтовых уведомлениях

Вот уже которая версия, а phpbb3 не научился подставлять имя отправителя. При чтении почты это выглядит… скажем “не очень красиво”. Поставлена задача: Научить phpbb3 подставлять название форума. Приступим… Открываем 1 includes/functions_messenger.php Находим 1 2 3 4 if (empty($this->from)) { $this->from = '<' . $config['board_contact'] . '>'; } Заменяем на 1 2 3 4 5 6 if (empty($this->from)) { //$this->from = '<' . $config['board_contact'] . '>'; mb_internal_encoding("UTF-8"); $this->from = '"' . mb_encode_mimeheader($config['sitename'], 'UTF-8') . '"' . '<' . $config['board_contact'] . '>'; } Сохраняем, наслаждаемся результатом! Работает с русским языком! Использованы материалы www.phpbb.com

13 квітня 2016 · 1 хвилина · 91 слово · dimetrius

Почтовые подписи DKIM в amavisd-new и ISPConfig 3

DKIM является системой для проверки отправителя и целостности сообщений. ISPConfig 3 использует amavisd-new, в качестве фильтра контента для проверки на спам и вирусы, а также amavisd-new может подписывать сообщения с помощью DKIM. Следующие действия объясняют, как настроить amavisd-new для подписи сообщений для домена “example.com” с помощью DKIM. Данные действия должны работать с любой версией amavisd-new, даже если Вы не используете ISPConfig. Создайте ключ домена: 1 2 mkdir /var/db/dkim/ amavisd genrsa /var/db/dkim/example-foo.key.pem Настройте amavisd для использование этого ключа для домена example.com. Отредактируйте файл конфигурации: vim /etc/amavisd/amavisd.conf и добавьте следующие строки: 1 2 3 4 5 6 7 $enable_dkim_verification = 1; $enable_dkim_signing = 1; dkim_key('example.com', 'foo', '/var/db/dkim/example-foo.key.pem'); @dkim_signature_options_bysender_maps = ( { '.' => { ttl => 21*24*3600, c => 'relaxed/simple' } } ); @mynetworks = qw(0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16); # list your internal networks Выполните команду amavisd showkeys чтобы получить открытый ключ, который должен быть добавлен как текст на DNS-сервер сервера example.com. Проверьте настройку с помощью команды: amavisd testkeys и если все работает правильно, перезапустите amavisd: /etc/init.d/amavis restart Вот более подробное описание из руководства по amavisd-new о том, как установить DKIM в amavisd-new: http://www.ijs.si/software/amavisd/amavisd-new-docs.html#dkim Оригинал статьи на www.faqforge.com Перевод хостинг КОМТЕТ komtet.ru

13 квітня 2016 · 1 хвилина · 191 слово · dimetrius

Отправка Email сообщений из консоли Linux

Практическое руководство по отправке Email сообщений из консоли Linux. Вы узнаете как: Отладить отправку сообщений с локального MTA сервера; Проверить отправку Email из PHP; Как прикрепить файл к Email сообщению из консоли; Отправить сообщение из консоли: 1 echo "BODY" | mail -s "SUBJECT" [email protected] Составить сообщение в консоли: 1 2 3 4 mail [email protected] Cc: <оставляем пустым> Subject: вводим заголовок и для отправки жмем Ctrl+D или Enter и заполним тело сообщения.. Null message body; hope that's ok Проверка PHP ф-ции mail(): 1 php -r "mail('[email protected]', 'Subject', 'Body');" Аттач файла к Email сообщению: 1 mutt -a "/home/stas/attach.pdf" -s "Subject" -- [email protected] Источник

25 вересня 2014 · 1 хвилина · 101 слово · dimetrius

Очистка очереди deferred в Postfix

postsuper -d ALL deferred Кстати, вот ещё небольшое уточнение по поводу отличия папок defer от deferred: /var/spool/postfix/defer – тут хидеры /var/spool/postfix/deferred – а тут тушки писем Источник

30 квітня 2012 · 1 хвилина · 27 слів · dimetrius