URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94006
[ Назад ]

Исходное сообщение
"Postfix. Помогите (срочно). Temporary lookup failure"

Отправлено feofs , 09-Ноя-12 10:32 
Добрый день. Имеется Centos 6.2, а на нем Postfix-2.6.6. Работал полгода без проблем.Проблема в следующем вот уже несколько дней появляется прихожу утром и вижу в логах следующее:

Nov 6 06:55:27 proxy postfix/smtpd[26398]: NOQUEUE: reject_warning: RCPT from vancoover.org.ua[85.17.138.224]: 451 4.3.0 <market@domain.com>: Temporary lookup failure; from=<???@espro.org.ua> to=<market@domain.com> proto=ESMTP helo=<star-media.org>
Nov 6 06:55:27 proxy postfix/smtpd[26269]: NOQUEUE: reject_warning: RCPT from vancoover.org.ua[85.17.138.224]: 451 4.3.0 <market@domain.com>: Temporary lookup failure; from=<???@hijet.org.ua> to=<market@domain.com> proto=ESMTP helo=<star-media.org>
Nov 6 06:55:27 proxy postfix/smtpd[25823]: NOQUEUE: reject_warning: RCPT from vancoover.org.ua[85.17.138.224]: 451 4.3.0 <market@domain.com>: Temporary lookup failure; from=<???@hijet.org.ua> to=<market@domain.com> proto=ESMTP helo=<star-media.org>
Nov 6 06:55:27 proxy postfix/smtpd[27229]: NOQUEUE: reject_warning: RCPT from vancoover.org.ua[85.17.138.224]: 451 4.3.0 <market@domain.com>: Temporary lookup failure; from=<???@espro.org.ua> to=<market@domain.com> proto=ESMTP helo=<star-media.org>
Nov 6 06:55:27 proxy postfix/smtpd[26100]: NOQUEUE: reject_warning: RCPT from espro.org.ua[85.17.138.134]: 451 4.3.0 <market@domain.com>: Temporary lookup failure; from=<???@espro.org.ua> to=<market@domain.com> proto=ESMTP helo=<star-media.org>

На root пришло след письмо
Transcript of session follows.

Out: 220 post.betonmash.com ESMTP Postfix
In:  EHLO star-media.org
Out: 250-post.betonmash.com
Out: 250-PIPELINING
Out: 250-SIZE 35840000
Out: 250-ETRN
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In:  MAIL FROM:<???@barracuda.org.ua> SIZE=280572
Out: 250 2.1.0 Ok
In:  RCPT TO:<urist@betonmash.com> ORCPT=rfc822;urist@betonmash.com
Out: 451 4.3.0 <   @barracuda.org.ua>: Temporary lookup failure
In:  DATA
Out: 554 5.5.1 Error: no valid recipients
In:  RSET
Out: 250 2.0.0 Ok
In:  QUIT
Out: 221 2.0.0 Bye


For other details, see the local mail logfile

При этом лог разрастается до вселенских размеров. При этом в 23:00 запускается awstats для парсинга и отжирает все ресурсы, все начинат дико тормозить.
Так как думал что спам атака то в первый день закрыл этот ip 85.17.138.134 в iptables. И добавил ограничения на соединения в main.cf
anvil_rate_time_unit=60s
smtpd_client_connection_rate_limit=20
smtpd_client_connection_count_limit=3
smtpd_connection_message_rate_limit=10

И внес в проверку заголовков header_checks=pcre:/etc/... след строку /From:.*<[?]+([^>]+)/ REJECT In your email adress wrong symbols  Для отсеивания адресов вида ????@.

Но сегодня ситуация опять повторилась но в логе уже был другой ip и сервак


Nov  9 07:15:35 proxy postfix/smtpd[19579]: NOQUEUE: reject_warning: RCPT from mail.betterwitnesses.com[63.226.243.162]: 451 4.3.0 <urist@domain.com>: Temporary lookup failure; from=<MASTERGROUP???@pledgebank.org.ua> to=<urist@domain.com> proto=ESMTP helo=<betterwitnesses.com>
Nov  9 07:15:35 proxy postfix/smtpd[19579]: NOQUEUE: reject_warning: RCPT from mail.betterwitnesses.com[63.226.243.162]: 451 4.3.0 <urist@domain.com>: Temporary lookup failure; from=<MASTERGROUP???@pledgebank.org.ua> to=<urist@domain.com> proto=ESMTP helo=<betterwitnesses.com>
Nov  9 07:15:35 proxy postfix/smtpd[19579]: NOQUEUE: reject_warning: RCPT from mail.betterwitnesses.com[63.226.243.162]: 451 4.3.0 <urist@domain.com>: Temporary lookup failure; from=<MASTERGROUP???@pledgebank.org.ua> to=<urist@domain.com> proto=ESMTP helo=<betterwitnesses.com>

Тогда прслушал tcpdumpom все интерфейсы никаких соединений на smtp порт не было. Но ошибки продолжали сыпаться. Затем обрубил 25 порт на инетовском и локальном интерфейсе - ошибки все равно продолжали валиться. Посмотрел qshape - все очереди пусты, да и в логах пишет что NOQUEUE.
Только после перезапуска postfix ошибки перестали валиться.

Очень прошу помогите, в чем может быть причина.

Вот конфиги постфикса и mysql:
myhostname = post.betonmash.com
smtp_helo_name = post.betonmash.com
mydomain = betonmash.com
myorigin = betonmash.com
mynetworks_style = host
mynetworks = 127.0.0.0/8 192.168.0.0/24
mydestination =
#local_recipient_maps = $virtual_mailbox_maps
##############System defaults###################
inet_protocols = ipv4
#inet_ifaces = all
#########Section for users and aliases##########
alias_maps = hash:/etc/aliases
virtual_mailbox_base = /var/spool/mailboxes
virtual_mailbox_domains = mysql:/etc/postfix/virtual_maps/virtual_domains.cf
virtual_uid_maps = mysql:/etc/postfix/virtual_maps/virtual_uid.cf
virtual_gid_maps = $virtual_uid_maps
transport_maps = mysql:/etc/postfix/virtual_maps/virtual_transport.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual_maps/virtual_users.cf
virtual_alias_maps = mysql:/etc/postfix/virtual_maps/virtual_aliases.cf
debug_peer_level = 2

##########Section for restrictions and spamming##############
#smtpd_helo_restrictions =
# permit_mynetworks
# check_helo_access hash:/etc/postfix/restrictions/hello_access
# warn_if_reject reject_unknown_hostname
# warn_if_reject reject_non_fqdn_hostname
# warn_if_reject reject_invalid_hostname

#smtpd_client_restrictions =
# permit_mynetworks
# check_client_access hash:/etc/postfix/restrictions/client_access
# warn_if_reject reject_unknown_client

#smtpd_sender_restrictions =
# permit_mynetworks
# check_sender_access hash:/etc/postfix/restrictions/sender_access
# warn_if_reject reject_unknown_sender_domain
# warn_if_reject reject_non_fqdn_sender



smtpd_recipient_restrictions =
warn_if_reject reject_non_fqdn_recipient
warn_if_reject reject_unknown_recipient_domain
permit_mynetworks
reject_unauth_destination
check_recipient_access hash:/etc/postfix/restrictions/recipient_exceptions
check_client_access hash:/etc/postfix/restrictions/client_access
reject_unknown_reverse_client_hostname
reject_unknown_client
check_helo_access hash:/etc/postfix/restrictions/hello_access
check_helo_access pcre:/etc/postfix/restrictions/hello_checks
reject_unknown_hostname
reject_non_fqdn_hostname
reject_invalid_hostname
check_sender_access hash:/etc/postfix/restrictions/sender_access
check_sender_mx_access cidr:/etc/postfix/restrictions/bogus_mx
reject_non_fqdn_sender
reject_unknown_sender_domain
reject_rbl_client dnsbl.njabl.org
reject_rbl_client bl.spamcop.net
reject_rbl_client cbl.abuseat.org
check_policy_service inet:127.0.0.1:2501
permit
header_checks = pcre:/etc/postfix/restrictions/mime_header_checks
smtp_data_restrictions = reject_multi_recipient_bounce

################Restrictions for connections################
smtp_soft_error_limit = 5
smtp_hard_error_limit = 10
smtp_error_sleep_time = 1s

#################Restriction for lifetime##################
maximum_queue_lifetime = 5d
queue_run_delay = 10m

#client_connections_status_update_time=20m
#client_connections_rate_time_unit = 60s
#smtpd_connections_rate_limit = 30
#smtpd_connections_count_limit = 25
anvil_rate_time_unit=60s
smtpd_client_connection_rate_limit=20
smtpd_client_connection_count_limit=3
smtpd_connection_message_rate_limit=10
###########Other restrictions##################
disable_vrfy_command = yes
smtpd_banner = $myhostname ESMTP $mail_name
message_size_limit = 35840000
###########SMTP AUTH FOR SERVER-SERVER###########
#smtp_sasl_auth_enable = yes
#smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd.db

###########SMTP AUTH FOR CLIENT-SERVER###############
#smtpd_sasl_auth_enable = yes
#smtpd_sasl_security_options = noanonymous
#broken_sasl_auth_clients = yes
#smtpd_sasl_local_domain =

##########Scaning conent for viruses and spam###############
content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings


***********************Вот mysql***********************
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
default-character-set=utf8
character-set-server=utf8
init-connect='SET NAMES UTF8'
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8

Ошибок в mysqllog нет:

121101 11:12:21 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
121101 11:13:30 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
121101 11:13:30 [Warning] '--default-character-set' is deprecated and will be removed in a future release. Please use '--character-set-server' instead.
121101 11:13:31  InnoDB: Initializing buffer pool, size = 8.0M
121101 11:13:31  InnoDB: Completed initialization of buffer pool
121101 11:13:31  InnoDB: Started; log sequence number 0 44233
121101 11:13:31 [Note] Event Scheduler: Loaded 0 events
121101 11:13:31 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.61'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  Source distribution



Содержание

Сообщения в этом обсуждении
"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 11:14 

Может быть в таком проблема:


.... WHERE email=CONVERT( _utf8 '%s' USING latin1 ) ?


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 11:43 
> Может быть в таком проблема:
>  .... WHERE email=CONVERT( _utf8 '%s' USING latin1 ) ?

Вот virtual_users.cf
user = postfix_user
password = *******
dbname = mail
table = users
select_field = maildir
where_field = alias
hosts = 127.0.0.1

Как мне ее прописать в where_field?


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 12:18 
>[оверквотинг удален]
>>  .... WHERE email=CONVERT( _utf8 '%s' USING latin1 ) ?
> Вот virtual_users.cf
> user = postfix_user
> password = *******
> dbname = mail
> table = users
> select_field = maildir
> where_field = alias
> hosts = 127.0.0.1
> Как мне ее прописать в where_field?

наверное так:

query = SELECT maildir FROM users WHERE alias=CONVERT( _utf8 '%s' USING latin1 )

и убрать table/select_field/where_field


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 13:09 
добавил, сейчас понаблюдаю.
Не может ли это быть связанно с кодировкой, я не силен в конфиге mysql, но когда ставил openfire добавил это:
default-character-set=utf8
character-set-server=utf8
init-connect='SET NAMES UTF8

T.к он не понимал кирилицу.


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 13:33 
Прописал так как вы советовали. Сейчас наблюдаю.
Вот еще прочитал вот это:
http://www.ogalik.ee/postfix-mysql-lookups-and-temporary-loo.../
И как я понял наверное в поле from стоит адрес в кодировке (use non US-ASCII characters) отличной от той на которой у меня база, а база у меня как показал
show create database mail на latin1.

Некоторые советоветуют полностью конвертнуть базу в utf8. А у вас как? Что посоветуете?



"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 14:20 
Вообщем разобраля я? Такая гадость возникает когда в адресе from есть кирилица. Отправил сам себе добавив в from пару русских букв. Письмо висит постоянно в исходящих, а логи Postfixa валятся ошибки.
Да, от это дыра.

Как это профиксить?



"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 14:24 
> Как это профиксить?

Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 14:29 
>> Как это профиксить?
> Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3

Так это ж моя текущяя тема



"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 14:44 
>>> Как это профиксить?
>> Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3
> Так это ж моя текущяя тема

Так "как фиксить" - уже сказано.


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 14:45 
>>>> Как это профиксить?
>>> Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3
>> Так это ж моя текущяя тема
> Так "как фиксить" - уже сказано.

Все это сделал. Не помогло.


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 15:55 

> Все это сделал. Не помогло.

Что: "все это"?  Только не надо говорить "то, что прописано в сообщении по ссылке", а четко напишите, что сделали.



"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 16:25 
1)В virtual_users.cf прописал
query = SELECT maildir FROM users WHERE alias=CONVERT( _utf8 '%s' USING latin1 )
2)В header_checks добавил
/[![:ascii:]]/ REJECT Non-Ascii Characters
/^(From|Subject): .*=\?(big5|euc-jp|euc-kr|euc-tw|gb2312|iso-2022-jp|koi8|ks_c_5601-1987|windows-1251)\?/

3) Обновил postfix до 2.8.8
Ничего не помогло.


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 16:50 
> 1)В virtual_users.cf прописал
> query = SELECT maildir FROM users WHERE alias=CONVERT( _utf8 '%s' USING latin1
> )

Как минимум, я говорил еще это:

>и убрать table/select_field/where_field

не уверен, как оно совместно работает, в моих конфигах этих параметров нет, ну да ладно.

Кроме того, .cf файл у вас не один, открою вам страшную правду.
Надеюсь, выводы сделаете сами.



"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 17:03 
Просветили. Ясное дело что у меня не один .cf. Я привел только карту пользователей. Если надо и в других исправить - поправлю. Правда при чем тут мои карты, зачем ему искать отправителя (From:) по моим картам,в моей базе?



"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 17:13 
> Просветили. Ясное дело что у меня не один .cf. Я привел только
> карту пользователей. Если надо и в других исправить - поправлю. Правда
> при чем тут мои карты, зачем ему искать отправителя (From:) по
> моим картам,в моей базе?

From ?? Хм, не обратил внимания на то, что это "From". Не знаю, зачем ему это.


virtual_mailbox_domains = mysql:/etc/postfix/virtual_maps/virtual_domains.cf
virtual_uid_maps = mysql:/etc/postfix/virtual_maps/virtual_uid.cf
transport_maps = mysql:/etc/postfix/virtual_maps/virtual_transport.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual_maps/virtual_users.cf
virtual_alias_maps = mysql:/etc/postfix/virtual_maps/virtual_aliases.cf

Это всё вроде-как смотрит на адрес назначения.


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено feofs , 09-Ноя-12 17:43 
Вот нашел кое какие строки предшествующие массовому засорению лога
Nov  9 15:06:02 proxy postfix/smtpd[11260]: connect from unknown[192.168.0.36]
Nov  9 15:06:07 proxy postfix/smtpd[11261]: connect from unknown[192.168.0.116]
Nov  9 15:06:07 proxy postfix/trivial-rewrite[11110]: warning: mysql query failed: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
Nov  9 15:06:07 proxy postfix/trivial-rewrite[11110]: warning: mysql:/etc/postfix/virtual_maps/virtual_transport.cf lookup of ivc???@mydomain.com failed
Nov  9 15:06:07 proxy postfix/trivial-rewrite[11110]: warning: transport_maps lookup failure
Nov  9 15:06:07 proxy postfix/trivial-rewrite[11110]: warning: mysql:/etc/postfix/virtual_maps/virtual_transport.cf lookup of bulgakov.ya@gmail.com failed
Nov  9 15:06:07 proxy postfix/trivial-rewrite[11110]: warning: transport_maps lookup failure
Nov  9 15:06:07 proxy postfix/smtpd[11261]: NOQUEUE: reject_warning: RCPT from unknown[192.168.0.116]: 451 4.3.0 <bulgakov.ya@gmail.com>: Temporary lookup failure; from=<ivc???@mydomain.com> to=<bulgakov.ya@gmail.com> proto=SMTP helo=<oit1>
И потом понеслась...

Непонятно какого он вообще лезет в мои карты, когда я отправляю на google.
Вообщем покопавшись нашел вот это:
http://www.ogalik.ee/postfix-mysql-lookups-and-temporary-loo.../

Изменил charset всех таблиц на utf8, плюс каждого столбца в отдельности.

Потом опять прописал в поле From: пару русских букв и отправил на mail.ru
Nov  9 15:40:39 proxy postfix/smtpd[12322]: connect from unknown[192.168.0.116]
Nov  9 15:40:39 proxy postfix/smtpd[12322]: B291B3445F0: client=unknown[192.168.0.116]
Nov  9 15:40:39 proxy postfix/cleanup[12371]: B291B3445F0: message-id=<8DDC96BA206749CAB4F12B25C061D670@betonmash.ua>
Nov  9 15:40:39 proxy postfix/qmgr[11964]: B291B3445F0: from=<ivc???@domain.com>, size=1861, nrcpt=1 (queue active)
Nov  9 15:40:39 proxy clamsmtpd: 10008A: accepted connection from: 127.0.0.1
Nov  9 15:40:39 proxy postfix/smtpd[12387]: connect from localhost[127.0.0.1]
Nov  9 15:40:39 proxy postfix/smtpd[12322]: disconnect from unknown[192.168.0.116]
Nov  9 15:40:39 proxy postfix/smtpd[12387]: CA8F33445F5: client=localhost[127.0.0.1]
Nov  9 15:40:39 proxy postfix/cleanup[12371]: CA8F33445F5: message-id=<8DDC96BA206749CAB4F12B25C061D670@betonmash.ua>
Nov  9 15:40:39 proxy postfix/qmgr[11964]: CA8F33445F5: from=<ivc???@domain.com>, size=2081, nrcpt=1 (queue active)
Nov  9 15:40:39 proxy clamsmtpd: 10008A: from=ivcъъъ@domain.com, to=feofs@mail.ru, status=CLEAN
Nov  9 15:40:39 proxy postfix/smtp[12385]: B291B3445F0: to=<feofs@mail.ru>, relay=127.0.0.1[127.0.0.1]:10025, delay=0.19, delays=0.07/0/0.04/0.08, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as CA8F33445F5)
Nov  9 15:40:39 proxy postfix/smtpd[12387]: disconnect from localhost[127.0.0.1]
Nov  9 15:40:39 proxy postfix/qmgr[11964]: B291B3445F0: removed
Nov  9 15:40:40 proxy postfix/smtp[12398]: CA8F33445F5: to=<feofs@mail.ru>, relay=mxs.mail.ru[94.100.176.20]:25, delay=0.7, delays=0.08/0/0.09/0.53, dsn=2.0.0, status=sent (250 OK id=1TWop6-0006NK-49)

Вроде бы стало отправляться.Посмотрю еще как на выходных себя поведет, дай БОГ чтобы все ОК. Три дня уже мучаюсь.

Неужели все дело было в utf8?


"Postfix. Помогите (срочно). Temporary lookup failure"
Отправлено PavelR , 09-Ноя-12 17:53 

> Вроде бы стало отправляться.Посмотрю еще как на выходных себя поведет, дай БОГ
> чтобы все ОК. Три дня уже мучаюсь.
> Неужели все дело было в utf8?

Грубо говоря - да.