Приветствую,
Google говорит, что я отправляю слишком много писем с моего IP. Поскольку я НИКОГДА не использую этот smtp для создания писем, я подозреваю, что мой постфикс неправильно настроен, поэтому у меня есть открытый ретранслятор.
google LOG entry:
Oct 8 06:29:29 domU-12-31-39-00-C1-66 postfix/smtp[15217]: 79B661A0CC: to=<hashimptil@gmail.com>, relay=alt1.gmail-smtp-in.l.google.com[209.85.219.30]:25, delay=423271, delays=423209/0.03/31/31, dsn=4.7.0, status=deferred (host alt1.gmail-smtp-in.l.google.com[209.85.219.30] said: 421-4.7.0 [174.129.96.42] Our system has detected an unusual amount of 421-4.7.0 unsolicited mail originating from your IP address. To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 blocked. Please visit http://www.google.com/mail/help/bulk_mail.html 421 4.7.0 to review our Bulk Email Senders Guidelines. 6si2037492ewy.56 (in reply to end of DATA command))
Можно ли настроить постфикс так, чтобы от него не исходили электронные письма? Если положительный, то как? В противном случае, как я могу исправить мою конфигурацию постфикса о проблеме открытого реле?
postconf -o вывод:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
header_checks = regexp:/etc/postfix/header_checks
home_mailbox = Maildir/
inet_interfaces = all
mailbox_command =
mailbox_size_limit = 0
mydestination = fairlogic.com, legitima.com, bastos.org, sidon.com, localhost
myhostname = fairlogic.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_note_starttls_offer = yes
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = yes
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = reject_unauth_destination,permit_sasl_authenticated,permit_mynetworks
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
Я нашел это!
Немного погуглив, я понял проблему:
1) cat /var/log/mail.log | grep "smtp [" | хвостик
Oct 8 11:47:00 domU-12-31-39-00-C1-66 postfix/smtp[24599]: 4C9521A0A4: to=<surinder.k.mehta@gmail.com>, relay=alt1.gmail-smtp-in.l.google.com[74.125.79.27]:25, delay=23543, delays=23481/0.01/31/31, dsn=4.7.0, status=deferred (host alt1.gmail-smtp-in.l.google.com[74.125.79.27] said: 421-4.7.0 [174.129.96.42] Our system has detected an unusual amount of 421-4.7.0 unsolicited mail originating from your IP address. To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 blocked. Please visit http://www.google.com/mail/help/bulk_mail.html 421 4.7.0 to review our Bulk Email Senders Guidelines. 5si273044eyh.4 (in reply to end of DATA command))
на основе идентификатора сообщения (в данном случае 4C9521A0A4) я могу получить тело сообщения:
find /var/spool/postfix/defer* -name 4C9521A0A4
/var/spool/postfix/defer/4/4C9521A0A4
/var/spool/postfix/deferred/4/4C9521A0A4
основываясь на его содержимом, я понял, что кто-то рассылает мне спам - и postfix попытался ответить отправителю (сообщив «недоставленное письмо возвращено отправителю»). Так что это не эксплойт и не неправильная конфигурация postix. Теперь я отключу это постфиксное уведомление, и моя проблема исчезнет.
Postfix, похоже, не имеет особой функции, такой как promiscuous_relay sendmail, но если вы добавите 0.0.0.0 в mynetworks, это должно позволить кому угодно ретранслировать.
Поскольку у вас установлен параметр «permission_mynetworks», а «my_networks» отображается правильно, похоже, что postfix не является открытым ретранслятором. Я бы поискал что-нибудь еще в вашей системе отправки электронной почты, например, взломанный веб-сервис.
Если бы почта действительно проходила через ваш постфикс, вы бы увидели его в /var/log/mail.log. Если он поступает через веб-службу, поищите подозрительные записи в /var/log/apache2/access.log. Иначе вы можете просто укорениться.
Обновление: вы также можете использовать http://www.spamhelp.org/shopenrelay/shopenrelaytest.php или аналогичный тест, если вы открытое реле.
Можно ли заблокировать исходящие запросы к порту 25, пока вы его не отследите? например, на linux с iptables
iptables -A ВЫХОД -p tcp --dport 25 -j ОТКАЗАТЬ
Если вы используете NAT, любой ящик за вашим IP-адресом может быть заражен и рассылает спам.
Вам не нужно открытое реле (ссылка на Википедию) вам следует настроить мое предназначение и smtpd_recipient_restrictions.
Вы можете найти несколько примеров конфигурации на Howtoforge
Если вы хотите открыть реле, оставьте поле пустым smtpd_recipient_restrictions и smtpd_client_restrictions переменные. Вы можете протестировать Вот если ваш сервер - открытый ретранслятор.