The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
консультация по Postfix , !*! rusdis, 16-Дек-09, 14:26  [смотреть все]
Доброго времени суток!
Настроил Postfix тестирую с внешнего сервера:
i - печатаю я,
s - отвечает сервер.

i:>HELO ns3.gudzondns.net
s:>220 mail.MYHOST.ru ESMTP
i:>MAIL FROM:ANY_USER@yandex.ru
s:>250 mail.MYHOST.ru
i:>RCPT TO:MY_USER@MYHOST.ru
s:>250 2.1.0 Ok
i:>DATA
s:>250 2.1.5 Ok
i:>From: ANY_USER@yandex.ru
i:>To: MY_USER@MYHOST.ru
i:>Subject: Subg
i:>
i:>QUIT
s:>354 End data with

Письмо отправляется, хотя авторизации клиент не проходил (поле TO Мой_домен). Причем если указать TO:ANY_USER@OTHER_HOST.ru(не мой домен, любой), то сервер требует авторизации и письмо не отправляет, что вроде бы безопастно.
Пробую проделать тоже самое с сервером почты яндекс smtp.yandex.ru

i:>HELO ns3.gudzondns.net
s:>220 smtp2.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
i:>MAIL FROM:MY_USER@MYHOST.ru
s:>250 smtp2.mail.yandex.net
i:>RCPT TO:ANY_USER@yandex.ru
s:>554 5.7.1 : Sender address rejected: Access denied
i:>DATA
s:>503 5.5.1 Error: need MAIL command
i:>From: MY_USER@MYHOST.ru
i:>To: ANY_USER@yandex.ru
i:>Subject: Subg
i:>
i:>QUIT
s:>503 5.5.1 Error: need RCPT command

Как видно smtp.Яндекс, запрещает прием почты даже если указано что получатель реальный_пользователь@yandex.ru. Вопрос как этого добиться?

конфиг Postfix:
postconf

smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,check_recipient_access hash:/usr/local/etc/postfix/postmaster_access,check_helo_access hash:/usr/local/etc/postfix/helo_access, reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname

smtpd_recipient_restrictions = permit_mynetworks,    permit_sasl_authenticated, reject_unauth_pipelining,    reject_unknown_recipient_domain,reject_non_fqdn_recipient, reject_unauth_destination,check_helo_access pcre:/usr/local/etc/postfix/helo_checks, reject_authenticated_sender_login_mismatch, check_sender_access pcre:/usr/local/etc/postfix/helo_checks, reject_unlisted_recipient,reject_unknown_sender_domain,reject_unlisted_recipient

smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unverified_sender,    reject_unknown_client_hostname

Авторизация sasl работает.

  • консультация по Postfix , !*! mglushak, 15:41 , 16-Дек-09 (1)
    >[оверквотинг удален]
    >postconf
    >
    >smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,check_recipient_access hash:/usr/local/etc/postfix/postmaster_access,check_helo_access hash:/usr/local/etc/postfix/helo_access, reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname
    >
    >smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining, reject_unknown_recipient_domain,reject_non_fqdn_recipient, reject_unauth_destination,check_helo_access pcre:/usr/local/etc/postfix/helo_checks, reject_authenticated_sender_login_mismatch, check_sender_access pcre:/usr/local/etc/postfix/helo_checks, reject_unlisted_recipient,reject_unknown_sender_domain,reject_unlisted_recipient
    >
    >
    >smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unverified_sender, reject_unknown_client_hostname
    >
    >Авторизация sasl работает.

    ==================================
    покажи параметр
    mynetworks_style
    в main.cf

  • консультация по Postfix , !*! mglushak, 15:41 , 16-Дек-09 (2)
    >[оверквотинг удален]
    >postconf
    >
    >smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,check_recipient_access hash:/usr/local/etc/postfix/postmaster_access,check_helo_access hash:/usr/local/etc/postfix/helo_access, reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname
    >
    >smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_pipelining, reject_unknown_recipient_domain,reject_non_fqdn_recipient, reject_unauth_destination,check_helo_access pcre:/usr/local/etc/postfix/helo_checks, reject_authenticated_sender_login_mismatch, check_sender_access pcre:/usr/local/etc/postfix/helo_checks, reject_unlisted_recipient,reject_unknown_sender_domain,reject_unlisted_recipient
    >
    >
    >smtpd_sender_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_authenticated_sender_login_mismatch, reject_unknown_sender_domain, reject_unverified_sender, reject_unknown_client_hostname
    >
    >Авторизация sasl работает.

    ==================================
    покажи параметр
    mynetworks_style
    в main.cf

    • консультация по Postfix , !*! rusdis, 16:46 , 16-Дек-09 (3)
      >покажи параметр
      >mynetworks_style
      >в main.cf

      mynetworks = 127.0.0.0/8, 192.168.3.100
      mynetworks_style = host
      myorigin = $myhostname

      192.168.3.100 ip самого почтовика наличие этого ip на прием с внешки роли не играет

      • консультация по Postfix , !*! mglushak, 17:02 , 16-Дек-09 (4)
        >>покажи параметр
        >>mynetworks_style
        >>в main.cf
        >
        >mynetworks = 127.0.0.0/8, 192.168.3.100
        >mynetworks_style = host
        >myorigin = $myhostname
        >
        >192.168.3.100 ip самого почтовика наличие этого ip на прием с внешки роли
        >не играет

        =================================
        так при параметрах которые у тя указаны постфикс вообще недолжен принимать почту от внешних клиентов, каждый хост от которого юзвери отправляют почту используя твой постфикс в качестве смтп сервера указывается в mynetworks при условии что mynetworks_style = host...
        =============================
        прошу весь main.cf в студию

        • консультация по Postfix , !*! rusdis, 17:27 , 16-Дек-09 (5)
          >прошу весь main.cf в студию
          >так при параметрах которые у тя указаны постфикс вообще недолжен принимать почту от внешних клиентов,

          C внешки по smtp если пользователь прошел авторизацию он может отправить на НЕ_СВОЙ_ДОМЕН, а вот на СВОЙ_ДОМЕН он хотя авторизация не проходит, почту принимает. ИМЕЕННО которая АДРЕСОВАНА на СВОЙ_ДОМЕН.
          ===============================================
          # каталог в котором будет находиться очередь писем, обрабатываемых postfix
          queue_directory = /var/spool/postfix
          # каталог выполняемых файлов административных команд postfix
          command_directory = /usr/local/sbin
          # каталог выполняемого файла демона postfix
          daemon_directory = /usr/local/libexec/postfix
          # Путь к команде, используемой взамен стандартного sendmail
          sendmail_path = /usr/local/sbin/sendmail
          # Путь к исполняемому файлу, используемому для перестройки псевдонимов
          newaliases_path = /usr/local/bin/newaliases
          # Путь к команде, отображающей состояние почтовой очереди
          mailq_path = /usr/local/bin/mailq
          # Документация в html-формате
          html_directory = no
          # База документации на все устанавливаемые программы
          manpage_directory = /usr/local/man
          # Примеры конфигурационных файлов postfix.
          sample_directory = /usr/local/etc/postfix
          # Файлы readme
          readme_directory = no
          # Имя пользователя, с правами которого работает почта
          mail_owner = postfix
          # Группа, от имени которой будут работать команды обработки почтовой очереди
          setgid_group = maildrop
          # Права по умолчанию, используемые агентом локальной доставки.
          # Не указывайте здесь привилегированного пользователя или владельца Postfix!
          default_privs = nobody
          # Имя нашего хоста.
          myhostname = mail.MYHOST.ru
          #Имя нашего домена
          mydomain = MYHOST.ru
          # Адреса интерфейсов, на которых нужно ждать smtp-соединений
          inet_interfaces = all
          # Домены, для которых будет приниматься почта
          mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
          # списки наших локальных пользователей:
          local_recipient_maps =
          # С каким кодом отклонять письма для несуществующих пользователей
          unknown_local_recipient_reject_code = 550
          mynetworks_style = host
          # Подсети из которых почта принимается, не проходя многих проверок.
          # Перекрывает параметр mynetworks_style. Можете добавить сюда ваши подсети,
          # я же в дальнейшем буду использовать принцип .не доверяй никому., поэтому
          # указал только локальную подсеть
          mynetworks = 127.0.0.0/8, 192.168.3.100
          # Списки алиасов, используемых для локальной доставки
          alias_maps = hash:/etc/mail/aliases
          alias_database = hash:/etc/mail/aliases
          # Используем Maildir-style для пользовательских ящиков
          home_mailbox = Maildir/
          # Строка представления вашего SMTP сервера (может быть любой)
          smtpd_banner = $myhostname ESMTP
          # запрещаем использование команды VRFY
          disable_vrfy_command = yes
          # Обязательно требуем использования команд HELO или EHLO
          smtpd_helo_required = yes

          # списки транспортов
          transport_maps = pgsql:/usr/local/etc/postfix/transport.cf
          # куда складывать почту транспорту virtual
          virtual_mailbox_base = /
          # списки почтовых ящиков
          virtual_mailbox_maps = pgsql:/usr/local/etc/postfix/mailbox.cf
          # списки алиасов
          virtual_alias_maps = pgsql:/usr/local/etc/postfix/alias.cf
          # uid и gid пользователей
          virtual_uid_maps = static:125
          virtual_gid_maps = static:126

          # включаем плагин sasl2 для smtpd авторизации
          smtpd_sasl_auth_enable = yes
          # запрещаем анонимную аутентификацию
          smtpd_sasl_security_options = noanonymous
          # разрешаем авторизацию клиентов, использующих устаревшую версию команды AUTH
          broken_sasl_auth_clients = yes
          # имя области аутентификации SASL . лучше оставить пустым
          smtpd_sasl_local_domain =
          # ограничения, выполняющиеся при обработке команды RCPT TO
          smtpd_recipient_restrictions =    permit_mynetworks,
                          permit_sasl_authenticated,
          #Отвергает запрос, когда клиент отправляет команды SMTP раньше времени, еще не зная о том, действительно ли Postfix поддерживаетконвейерную обработку команд ESMTP.
                          reject_unauth_pipelining,
          #не должен принимать никакие сообщения для несуществующего домена, т. к. их невозможно доставить.                
                          reject_unknown_recipient_domain,
          #отвергать сообщения для получателей с неполным именем, если вы добавите параметр reject_non_fqdn_recipient
                          reject_non_fqdn_recipient,                                
                          reject_unauth_destination,
          ##new rules                            
                          check_helo_access pcre:/usr/local/etc/postfix/helo_checks,
                          reject_authenticated_sender_login_mismatch,
          ##!!!!!! ЗАПРЕТ НЕ АВТОРИЗОВАННЫМ УКАЗЫВАТЬ НАШ ДОМЕН, ИНАЧЕ БУДУТ СЛАТЬ ВСЕ
                          check_sender_access pcre:/usr/local/etc/postfix/helo_checks,
                          reject_unlisted_recipient,
                          reject_unknown_sender_domain,
                          reject_unlisted_recipient
          ##reject_rbl_client zen.spamhaus.org
          ##reject_rbl_client psbl.surriel.com
          ##reject_rbl_client bl.spamcop.net

                          
          ##new
          smtp_always_send_ehlo= yes
          smtpd_error_sleep_time = 0
          ##Для увеличения параллелизма следует увеличить значение параметра
          ##default_process_limit=30

          smtpd_data_restrictions =
                      reject_unauth_pipelining,
          ##отказа в приеме сообщениям с пустым именем отправителя конверта, предназначенным нескольким получателям,            
                      reject_multi_recipient_bounce,
                          permit

          ##Postfix не осуществляет оценку и выполнение ограничений на основе триггера ограничений сразу же после наступления соответствующего этапа SMTPзаимодействия.
          smtpd_delay_reject = yes
          ##количество соединений за определенный промежуток времени
          client_connection_rate_time_unit = 60s
          ##число разрешенных соединений от одного клиента
          smtpd_client_connection_rate_limit = 30
          ##Количество разрешенных параллельных соединений для одного клиента
          smtpd_client_connection_count_limit = 3
          smtpd_timeout = 20s
          smtp_helo_timeout = 10s
          smtp_mail_timeout = 10s
          smtp_rcpt_timeout = 10s
          ##максимальное количество адресов, на которые надо отправить сообщение
          smtpd_recipient_limit = 2

          # Заставляем отклонять почту с неизвестным адресом отправителя.
          # Позволяет бороться с червями и некоторыми вирусами.
          smtpd_reject_unlisted_sender = yes
          # Скрываем отображение имени таблицы получателей в ответе "User unknown"
          # yes: User unknown in virtual mailbox table
          # no: User unknown
          show_user_unknown_table_name = no
          # Максимальное количество ошибок, которое может сделать удаленный SMTP клиент.
          # При превышение данного числа Postfix разорвет соединение.
          smtpd_hard_error_limit = 8
          # Дополнительные ограничения, применяемые сервером Postfix
          # в контексте команды MAIL FROM
          smtpd_sender_restrictions =     permit_mynetworks,
          #ok если отправитель аутентифицировался, проверка прекращается
          #dunno если отправитель не аутентифицровался, проверка идет дальше
                                      permit_sasl_authenticated,
                          reject_authenticated_sender_login_mismatch,
                          reject_unknown_sender_domain,
                          reject_unverified_sender,
                          reject_unknown_client_hostname
                          

          # Проверяем, что нам предъявляют в HELO/EHLO и:
          # принимаем всю почту для postmaster и abuse, ибо postmaster обязан
          # быть доступным при любом раскладе
          smtpd_helo_restrictions =
          # принимаем, если клиент из доверенной подсети
              permit_mynetworks,    
          # принимаем, если клиент прошел SASL-аутентификацию
              permit_sasl_authenticated,
              check_recipient_access hash:/usr/local/etc/postfix/postmaster_access,
          # существуют .особы, приближенные к особе. - клиенты, чей почтовый сервер
          # настроен криво, но почту с которого надо все же принимать во избежание
          # скандалов с руководством - заносим их в .белый. список
              check_helo_access hash:/usr/local/etc/postfix/helo_access,
          # отвергаем хосты с неверными именами
              reject_invalid_hostname,
          # отвергаем хосты, которые не имеют А или МХ записей в DNS
              reject_unknown_hostname,
          # отвергаем хосты с именами не в FQDN-форме
              reject_non_fqdn_hostname                

          ####???
          broken_sasl_auth_clients = yes

          data_directory = /var/lib/postfix




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру