Добрый день. Имеется 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
Может быть в таком проблема:
.... WHERE email=CONVERT( _utf8 '%s' USING latin1 ) ?
> Может быть в таком проблема:
> .... 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?
>[оверквотинг удален]
>> .... 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
добавил, сейчас понаблюдаю.
Не может ли это быть связанно с кодировкой, я не силен в конфиге mysql, но когда ставил openfire добавил это:
default-character-set=utf8
character-set-server=utf8
init-connect='SET NAMES UTF8T.к он не понимал кирилицу.
Прописал так как вы советовали. Сейчас наблюдаю.
Вот еще прочитал вот это:
http://www.ogalik.ee/postfix-mysql-lookups-and-temporary-loo.../
И как я понял наверное в поле from стоит адрес в кодировке (use non US-ASCII characters) отличной от той на которой у меня база, а база у меня как показал
show create database mail на latin1.Некоторые советоветуют полностью конвертнуть базу в utf8. А у вас как? Что посоветуете?
Вообщем разобраля я? Такая гадость возникает когда в адресе from есть кирилица. Отправил сам себе добавив в from пару русских букв. Письмо висит постоянно в исходящих, а логи Postfixa валятся ошибки.
Да, от это дыра.Как это профиксить?
> Как это профиксить?Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3
>> Как это профиксить?
> Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3Так это ж моя текущяя тема
>>> Как это профиксить?
>> Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3
> Так это ж моя текущяя темаТак "как фиксить" - уже сказано.
>>>> Как это профиксить?
>>> Вот тут в теме у человека была аналогичная проблема: http://www.opennet.me/openforum/vsluhforumID1/94006.html#3
>> Так это ж моя текущяя тема
> Так "как фиксить" - уже сказано.Все это сделал. Не помогло.
> Все это сделал. Не помогло.Что: "все это"? Только не надо говорить "то, что прописано в сообщении по ссылке", а четко напишите, что сделали.
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
Ничего не помогло.
> 1)В virtual_users.cf прописал
> query = SELECT maildir FROM users WHERE alias=CONVERT( _utf8 '%s' USING latin1
> )Как минимум, я говорил еще это:
>и убрать table/select_field/where_field
не уверен, как оно совместно работает, в моих конфигах этих параметров нет, ну да ладно.
Кроме того, .cf файл у вас не один, открою вам страшную правду.
Надеюсь, выводы сделаете сами.
Просветили. Ясное дело что у меня не один .cf. Я привел только карту пользователей. Если надо и в других исправить - поправлю. Правда при чем тут мои карты, зачем ему искать отправителя (From:) по моим картам,в моей базе?
> Просветили. Ясное дело что у меня не один .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Это всё вроде-как смотрит на адрес назначения.
Вот нашел кое какие строки предшествующие массовому засорению лога
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?
> Вроде бы стало отправляться.Посмотрю еще как на выходных себя поведет, дай БОГ
> чтобы все ОК. Три дня уже мучаюсь.
> Неужели все дело было в utf8?Грубо говоря - да.