[Карта]                      [Начало]                      [Sendmail-ссылки]                      [Синтаксис]                      [Типовые задачки]                      [Задачки по маршрутизации]                      [Задачки по макарадингу]                      [SendmailACL]                      [Spamooborona]                      [VadeRetro]                      [Regex]                      [Тонкости]                      [Недок.особен.]                      [Несущ.юзеры]                      [Прячемся!]                      [RFC1893.Цитаты]                      [ТП.Эмоции]                      [Антиспам&Разум]                     

587 порт, submission, smmsp и submit.cf. Цитаты.


  • Недовольство системой.Умение отправить письмо

  • Делить или не делить.

    Для того, чтобы отказаться от submit, нужно проделать следующее
    1.В sendmail.mc добавляем FEATURE(`no_default_msa')
    ( у меня эта строка стоит после определения мэйлеров)
    2. Пересобираем конфиг:
    m4 /usr/src/sendmail-XXX/cf/m4/cf.m4 sendmail.cf > sendmail.cf
    (если в sendmail.mc есть строка include с путем к cf.m4, то подчеркнутое не нужно)
    3. перезапускаем sendmail
    4. netstat -na 587
    Если у вас нет исходников sendmail или вы не можете пересобрать sendmail, то просто закомментируйте вот эту строку в sendmail.cf "O DaemonPortOptions=Port=587, Name=MSA, M=E", а затем перезапустите sendmail.
    А теперь посмотрите, от чего вы отказались ;)
    Re: SendMail ==> Submission Port

    From: Alexander Yurchenko (grange_at_rt.mipt.ru)
    Date: Wed 27 Mar 2002 - 13:32:32 MSK

    On Wed, Mar 27, 2002 at 10:30:19AM +0300, md wrote:
    > # cat /etc/services |grep 587
    > submission 587/tcp msa # mail message submission
    > submission 587/udp msa # mail message submission
    > # telnet localhost submission
    > Connected to localhost.
    > Escape character is '^]'.
    > 220 marathon.cea.ru ESMTP Sendmail 8.12.1/8.12.1; Wed, 27 Mar 2002 10:25:20
    > +0300
    > ---------
    > Вопрос нафига нужен этот порт и чем он от SMTP-порта отличается?

    Согласно RFC2476, submission сервис нужен для появления нового письма в
    сети, а smtp - для его релея. Но реально сейчас и submission и relay
    осуществляются через smtp сервис.

       Alexander Yurchenko (aka grange)

    From: Tim Hogard (thogard@not.abnormal.com)
     Subject: Re: port 587?
     Newsgroups: comp.mail.sendmail
     Date: 2000-12-08 17:31:39 PST

    The idea is that your local network (pop users) submit mail to port 587
    and port 25 is only used for server to server mail.  This allow you to
    user router port filtering to help prevent spam and it also should allow
    other features such as limiting the server to server traffic based on load
    while not limiting loacl users submitted email.

    Maybe you should consider using it and not turning it off..

    From: Michael Scheidell (me2@privacy.net)
     Subject: Re: Port 587?
     Newsgroups: comp.mail.sendmail
     Date: 2001-04-12 15:18:27 PST

    "Justin Shore" <macdaddy+internetconfig@pittstate.edu> wrote in message news:3AD5DA43.F32E7E82@pittstate.edu...
    > I just upgraded to 8.11.3 and noticed a new port was opened.  Port 587.
    > Can anyone tell me what it's for and if there is anything in particular
    > I should watch out for, blocking it's use, securing it, etc...?  Many
    > thanks

    that is the 'submit' port (in theory, for local clients, seems to act just like port 25)

    Unless you also firewall/wrap/or stop port 25, there is no point in
    doing this.  Having sendmail listen on a second port adds no
    additional risk.

    Thanks to all the replies.  I read the RFC that talked about the use of
    that port.  I don't really see any reason why our clients would use it
    at this time.  Down the road, perhaps, but not at the moment.  Do other
    SMTP daemons support that RFC yet?  Thanks again for the info.


    From: Neil W Rickert (rickert+nn@cs.niu.edu)
     Subject: Re: Port 587?
     Newsgroups: comp.mail.sendmail
     Date: 2001-04-13 08:42:02 PST

    Justin Shore <macdaddy+internetconfig@pittstate.edu> writes:

    >Thanks to all the replies.  I read the RFC that talked about the use of
    >that port.  I don't really see any reason why our clients would use it
    >at this time.  Down the road, perhaps, but not at the moment.  Do other
    >SMTP daemons support that RFC yet?  Thanks again for the info.

    The advantage:

      Potentially, the use of this port allows you to treat your
      client systems differently from external systems sending
      you email.

    The problem:

      If you, and many others, decide that there is no point in supporting
      this port, then there is no incentive for programmers of client
      software to provide support.

      I say that you should look to the long term.  Support the port now
      (which costs you nothing), and give incentives to software
      designers to provide clients that do use the port.  Long term, that
      will make it possible for you to appropriately discriminate between
      your clients and the rest of the world.
    From: John Weber (user@domain.invalid)
     Subject: Re: port 587?
     Newsgroups: comp.mail.sendmail
     Date: 2001-07-25 09:19:18 PST

    MSA means Mail Submission Agent (port 587). Sendmail can act as  a
    submission agent that does some of the work of the MTA (Mail Transport
    Agent). It's probably useful for very busy mail servers. I think you
    would need to configure your MUAs (Mail User Agents (user email tools))
    to use port 587. I only read about this and haven't messed with it. It's
    also the way sendmail is set up on Red Hat Linux. I just left mine
    alone, although I'm also set up to not accept remote connections.


    From: Neil W Rickert (rickert+nn@cs.niu.edu)
     Subject: Re: port 587?
     Newsgroups: comp.mail.sendmail
     Date: 2001-08-08 06:00:03 PST

    Christopher Kist <ckist@visi.net> writes:

    >Thanks! After running an NMap scan shortly after a new (first time also)RedHat
    >install and compiling sendmail that port really caught my eye! "submission"
    >sounds like a scary port when one already has security concerns about RedHat
    >getting hacked.

    Since sendmail is already listening on port 25, there should be no
    security concerns for it also listening on 587.  The idea is to
    encourage PC software writers to provide port 587 submission support
    on their email clients.

    That explains why both ports do the same thing even though Port
    25 is configured as a MTA.

    From: GaryM (garymcm@xyxaxhxoxo.com)
     Subject: Re: port 587?
     Newsgroups: comp.mail.sendmail
     Date: 2001-08-08 09:50:09 PST

    Neil W Rickert <rickert+nn@cs.niu.edu> wrote in

    > Since sendmail is already listening on port 25, there should
    > be no security concerns for it also listening on 587.  The
    > idea is to encourage PC software writers to provide port 587
    > submission support on their email clients.

    That explains why both ports do the same thing even though Port
    25 is configured as a MTA.

    -- --------------

    Re: Sendmail на 587-ом порту.

    В rfc определена служба Subscription (SUA)для почтовых серверов, которая сидит на 587 порту.

    Это сделано для того, чтобы была возможность отделить собственно MTA от задач анализа "кривых" адресов, прежде всего от POP/IMAP пользователей использующих данный MTA, которые могут сильно грузить mailer (при большом числе пользователей). Таким образом, на 587 порту sendmail делает проверку на "правильность" адресов.

    Т.е. пересылка и маршрутизация писем на 25 порту, POP/IMAP пользователи - на 587.
    Это нормально. Если не надо или не хочешь - закоментарь этот параметр в конфиге.

    dmitriku (*) (19.07.2001 14:30:15)
    From: Claus A?mann
     Subject: Re: port 587
     Newsgroups: comp.mail.sendmail
     Date: 2001-07-20 09:06:21 PST

    system  wrote:
    > Hi there anyone what is the advantage or do we need port 587.
    > when compile sendmail.

     sendmail implements RFC 2476 (Message Submission), e.g., it can
      now listen on several different ports.  Use:
      O DaemonPortOptions=Name=MSA, Port=587, M=E
      to run a Message Submission Agent (MSA); this is turned
      on by default in m4-generated .cf files; it can be turned
      off with FEATURE(`no_default_msa').

    We plan to make more use of this port in future versions.

    Организационные усилия по борьбе со спамом

                                  Часто можно услышать о неком будущем протоколе электронной почты, после
                                  внедрения которого, спама не станет. Хотелось бы добавить в эту идею немного
                                  здорового скепсиса.

                                  Сетевое сообщество не смогло до сих пор внедрить простейшие антиспамерские
                                  приемы, которые само же установило в качестве стандарта. Например, разделение
                                  портов SMTP-сервера на порт для MTA (25: прием почты от чужого сервера для
                                  сохранения своему пользователя; "общение между серверами") и MSA (587: прием
                                  письма от своего пользователя для отправки на чужой сервер; "общение между
                                  пользователем и сервером"). Эта идея, также как и SMTP авторизация, появилась
                                  именно как реакция на появление спама.

                                  Прошло уже немало времени, однако 587 порт так и не появился в популярных
                                  почтовых программах типа Outlook Express или The Bat! А ведь эта простейшая
                                  мера позволила бы провайдерам просто закрыть все исходящие соединения по 25
                                  порту и полностью ликвидировала бы прямой спам "по карточкам" - спам с
                                  dialup-соединения. Как известно, Интернет-Карточка стоит 5 долларов, ее хватает
                                  на 10 ночных часов, за это время можно разослать десять тысяч писем и спокойно
                                  пойти покупать новую карточку, а старую (уже ненужную) заблокирует
                                  выведенный из себя провайдер.

    On Thu, Nov 14, 2002 at 09:05:20PM +0300, Alexey Bazhin wrote:
    > а зачем в нем нужен файл submit.cf?
    > в нем содержится трастед юзер smmsp, который у меня не создан и
    > соответственно сендмайл на это ругается. А чем этот юзер должен
    > владеть или он должен только быть?

    Почитайте сначала документацию, которая прилагается к sendmail.
    Немного о submission. Есть два действия при доставке почты:
    ``забрасывание'' письма в почтовую сеть (submission) и его роутинг
    (relaying). Для первого используется порт 587, для второго 25. Файл
    submit.cf как раз определяет конфигурацию sendmail для работы в режиме
    (Вот последнее предложение в корне не верно, об этом в конце этой страницы сказано достаточно. Примечание мое)
    Представление сообщений для отправки

    Чтобы облегчить проведение в жизнь политики безопасности, представлять сообщения для отправки следует через порт MAIL SUBMIT (587), как это предлагается в проводимой в настоящее время работе "Message Submission and Relay", а не через SMTP-port (25). Кроме того, представление сообщения следует
    аутентифицировать с помощью расширения AUTH SMTP-сервиса (в соответствии с проводимой в настоящее
    время работой "SMTP Service Extension for Authentication"). При таком подходе функции SMTP-порта (25) могут
    быть ограничены локальной доставкой.

    Перечисленные меры не только защищают поставщика Интернет-услуг от превращения в плацдарм спамера, но
    и позволяют поддерживать подотчетность представления сообщений в ситуациях, когда потребитель
    рассылает спам. Далее, использование порта MAIL SUBMIT в сочетании с функцией SMTP AUTH имеет еще и
    то преимущество перед ограничениями по IP-адресам на представление сообщений, что оно дает
    потребителям дополнительную гибкость, позволяя представлять сообщения, даже если они подключились не
    через сеть своего обычного поставщика Интернет-услуг (например, при отправке письма с работы). Кроме
    того, обеспечивается большая устойчивость к подделке IP-адресов и сохраняется возможность модернизации
    механизмов аутентификации при появлении новых мощных средств.

    Заслуживает внимания и (недокументированное) расширение XTND XMIT POP3, позволяющее клиентам
    отправлять почту в рамках сеанса POP3, а не по протоколу SMTP. При этом обеспечивается поддержка
    мобильных пользователей при отключенной функции открытой пересылки, предоставляется
    аутентифицированное, протоколируемое соединение.

      Что за submission весит на 587/tcp - Sergei (02-May-2001, 12:48)
      Что за submission весит на 587/tcp после запуска sendmail. Зачем он нужен и
      как его убрать?
        Re: Что за submission весит на 587/tcp - DarkDen (02-May-2001, 19:44)
        это SMTP но только SSL зайди на него телнетом сам увидишь =) его не убирать а
        юзать активно надо
        Re: Что за submission весит на 587/tcp - bitman (25-Jun-2001, 11:53)
        Submission Identification

        Port 587 is reserved for email message submission as specified in this document.
        Messages eived on this port are defined to be
        submissions. The protocol used is ESMTP [SMTP-MTA, ESMTP], with
        additional restrictions as specified here.

        While most email clients and servers can be configured to use port
        587 instead of 25, there are cases where this is not possible or
        convenient. A site MAY choose to use port 25 for message submission,
        by designating some hosts to be MSAs and others to be MTAs.


    On Fri, 26 Oct 2001, Peter Didenko wrote:

    > >  Не давать посылать напрямую на чужие SMTP, а только через relay провайдера
    >     Фильтры на уровне TCP по большому счету являются злом. У нас, например,
    > размещен более 5000 виртуальных почтовых серверов, довольно большая часть из
    > которых, я уверен, используется не из наших сетей. Соответственно, если будут
    > фильтры deny dialup any eq smtp, эти юзеры потеряют возможность пользоваться
    > нашими услугами, например.

    Удивительно, насколько мир консервативен :-(.

    Казалось бы, с декабря 1998 года такие [виртуальные] почтовые сервера
    должны уметь получать сообщения от пользователей по порту 587. (RFC 2476,
    proposed standard. В RFC 3013, aka BCP 46, тоже об этом написано).
    Казалось бы, посадить SMTP сервер (с чуть другой конфигурацией) на 587
    порт не должно быть сложно. (sendmail, например, с версии 8.10 этот порт
    просто слушает по умолчанию). Казалось бы, пользователю ничего не стоит в
    поле SMTP port вместо 25 написать 587 - это поле в непосредственной
    близости от SMTP server, которое пользователь все равно заполняет.
    Соответственно, на 25 порту должны уже были бы быть только MX'ы, а не
    "почтовые сервера". До MX'ов диалапщикам дела нет, и следовательно 25 порт
    от диалапщиков можно было бы фильтровать.

    Ан нет. До сих пор у всех, кажется, mail submission происходит по 25
    порту. Почему-то общественности оказалось проще не заменить кое-где 25 на
    587, а пользоваться "проприетарным" DUL'ом, пытаться сделать его аналоги,
    заносить туда свои сети, выносить диалапные пулы в специальные домены,
    состовлять собственные access_db со списками таких сетей/доменов...

    Не понимаю :-(
    Дмитрий Тейблюм

    On Sat, 27 Oct 2001, Seva Gluschenko wrote:
    > Дим, а что это принципиально меняет? Ну зафильтруем 25, ну начнут они
    > все на 587 отправляться - и дальше что? Тот же DUL, те же
    > access-list'ы.

    Не должны. Коннект на 587 порт - это по определению коннект от своего
    пользователя, а не получение письма от кого-то другого. Соответственно,
    этот пользователь должен хоть как-то аутентифицироваться - лучше через
    SMTP auth, ну или POP before SMTP, ну или хотя бы быть в локальной
    сети. Аутентифицировать своих пользователей все хоть как, но давно умеют -
    приличные люди открытых релеев давно не держат.

    А коннект на 25 порт - это по определению трансфер письма от одного MTA к
    другому. MUA же на 25 порт коннектиться не должны.

    Если бы эта теория была воплощена на практике, провайдеры могли бы более
    смело фильтровать 25 порт с диалапа наружу. 587 порт фильтровать смысла
    нет - если кто-то коннектиться к кому-то на 587 порт, это проблема
    владельца сервера. Никто же не фильтрует 110 или 143 наружу? А вот если
    диалапщик коннектится на 25 порт наружу - то он либо спам рассылает, либо
    у него собственный MTA. Других вариантов нет. И простой пользователь,
    который пытается из своей почтовой программы отправить письмо через
    "виртуальный" CGP у Зенона или Демоса, или через сервер на своей работе, и
    т.п., от фильтра deny tcp dialup any eq 25 не пострадает.

    А такой фильтр не только помешает рассылать direct-to-MX спам, он еще
    мешает пользоваться открытыми релеями. Поэтому это очень правильный
    фильтр. Если бы он действительно не мешал нормальным пользователям, было
    бы хорошо.

    Дмитрий Тейблюм

    "antispam" OFISP discussion mailin

    Хм. Аргументировано, принимается. Осталось натурально убедить всякие
    MSOE ставить 587 by default %)

    SY, Seva Gluschenko, just stranger on The Road. | http://gvs.rinet.ru/
    Cronyx Plus / RiNet network administrator.      | GVS-RIPE | GVS3-RIPN



         SMTP protocol over port 587 (instead of normal 25)

         Meant to be less strict on standards compliance
              Addresses don't have to be fully qualified
              Hostnames don't have to be fully qualified
              Don't require "required" headers, e.g. Message-ID: and Date:

         MSA brings message into standards compliance before relaying to an MTA
              MSA port should be limited to internal hosts (e.g., firewalled from
              external world)

         sendmail MTA has always been forgiving in what it accepts and strict in
         what it sends.
              Historically, port 25 has acted as both an MTA and MSA port in
              Future versions may make port 25 more strict

         MSA port employs different features
              Doesn't allow ETRN
              May require SMTP Authentication

         Accomplished through new DaemonPortOptions (DAEMON_OPTIONS())

    From: Neil W Rickert (rickert+nn@cs.niu.edu)
     Subject: Re: port 587
     Newsgroups: comp.mail.sendmail
     Date: 2002-02-28 20:50:02 PST

    "Bob" <bob_nospam_.lockie@mail.com> writes:
    >Everytime I run sendmail 8.12.1 it puts something that listens on port 587:
    >587/tcp    open        submission
    >What is it?

    It is an alternative port for connecting to sendmail.

    The theory is that simple client software (Eudora, Netscape, Outlook,
    etc) should connect to port 587, and port 25 should be left for
    connections from real MTAs (as originally intended).  The people
    writing the client software seem to be slow catching on.

    From: Neil W Rickert (rickert+nn@cs.niu.edu)
     Subject: Re: submit.cf purpose?
     Newsgroups: comp.mail.sendmail
     Date: 2002-06-19 20:10:07 PST

    J <usenet@linuxnuts.net> writes:
    > What's its purpose?

    It is used for locally submitted mail (command line mail), to get
    the mail to the main daemon.  That way sendmail need not be setuid
    root, which is a security plus.

    Your list is a subset of MUA features. Some MUA's when installed on the
    MTA system, mail, mailx, elm, pine, etc., don't need pop or port 110.
    The submit.cf file is for sendmail when running as a Mail Submission
    Program (MSP) and handles locally generated mail. It runs as a low-priv
    user which greatly increases security. It also introduces yet another
    queue, the clientmqueue.

    From: Claus A?mann
     Subject: Re: Making sense of submit.cf
     Newsgroups: comp.mail.sendmail
     Date: 2003-10-30 19:58:02 PST

    Dennis Peterson  wrote:
    > The submit.cf file is for sendmail when running as a Mail Submission
    > Program (MSP) and handles locally generated mail. It runs as a low-priv
    > user which greatly increases security. It also introduces yet another

    It runs as the user who invokes it, it only changes the gid to
    smmsp (default).

    > queue, the clientmqueue.

    Unfortunately that's required in case the MTA doesn't accept the mail..
    We could have returned an error to the caller, but that causes some
    problems because not all callers are able to deal with (temporary)

    -- --------------------------

    If you want to keep all mailboxes of the client on another server then
    msp may be sufficient.
    MSP will deliver ALL locally submited messages to another host.

    In such case change in sendmail.mc


    Giovanni wrote:
    > So, in order to run the msp queue runner I just need submit.cf and the
    > following command:
    > /etc/init.d/sendmail start-mspq
    > Why should I change sendmail.mc? Is submit.cf enough for that?
    > If I remember well, the -Ac option should read configuration from submit.cf.

    You have detected my mistake - I meant submit.mc


    >In such case change in sendmail.mc
    >    FEATURE(`msp')dnl
    >    FEATURE(`msp',`[aaa.bbb.ccc.ddd]')dnl

    What if I want local mail to be delivered by local agent and outgoing mail to
    be delivered to aaa.bbb.ccc.ddd?

    Then you need main daemon running with root privileges.

    The sendmail.org wants to keep submit.cf simple and the same on all

    From: Per Hedeland (per@hedeland.org)
     Subject: Re: Which config file is sendmail using? How do you find out?
     Newsgroups: comp.mail.sendmail
     Date: 2003-12-06 04:10:03 PST
    You're not supposed to replace submit.cf with a "normal" config (not
    sure if that's what you did).
    Either you run the "standard" 8.12 setup
    with MSP/submit.cf + MTA/sendmail.cf (one variant of this is specifying
    an MTA on a different host by giving the appropriate argument to
    FEATURE(msp) in submit.mc, and not running a local MTA) - or you run it
    the "old" way, in which case you should remove submit.cf and make the
    binary setuid-root.
    This is standard as of 8.12 - direct invocation runs the MSP which uses /etc/mail/submit.cf to deliver to the MTA.
    >beckman@purplecow.com... Deferred: Connection refused by []
    You need to run a local MTA for this - if you don't want it to accept incoming SMTP connections (i.e. listen only on the loopback address), use (only) sendmail_enable="NO" in rc.conf.
    --Per Hedeland per@hedeland.org

     From: Kari Hurtta (hurtta@attruh.keh.iki.fi)
     Subject: Re: connection refused except with -AM
     Newsgroups: comp.mail.sendmail
     Date: 2003-09-27 23:32:50 PST

    You either need
            1) Keep sendmail listening localhost   (
                    ( when sendmail is installed as
                            setgid smmsp )
            2)  Install sendmail setuid root and remove
    > If I have sendmail stopped:
    > date | sendmail myaddress
    > fails but

            because sendmail is not installed as setuid root
            /etc/mail/submit.cf is needed and mail needed to pass
            deamon running on localhost.
            Only deamon can do mail delivery, because it is running as
            root and sendmail invoked directly do not have root privileges.

    > date | sendmail -Am myaddress
    > works.

            -Am tells "I'm Mail Transport Agent"    -- ie it uses


              instead of

    ( Note that using
      requires that sendmail running as deamon )

    > In the past I've always used:
    > cat logs | mail myaddress
    > to send logs.
    > I suppose I could use
    > cat logs | sendmail -Am myaddress
    > I'd just like to know why the mail method fails and understand the role of
    > the -Am switch in the operation.

            Look file


            on sendmail distribution.

            -Am             Use /etc/mail/sendmail.cf
                            == Mail Transport Agent
                            ...  for working requires that sendmail as root

            -Ac             Use /etc/mail/sendmail.cf
                            == Client
                            .. for working requires that sendmail is installed as
                                    setgid smmsp

    Per Hedeland: "...
    the MSA listener isn't run from submit.cf, it is part of the
    standard daemon running from sendmail.cf. The thing running from
    submit.cf is called MSP (Message Submission Program) and doesn't listen
    on any ports (the daemon is just a queue runner)..."

    Per Hedeland: "...
    I'm not sure if you're a victim of the common confusion between MSA
    (Message Submission Agent) and MSP (Message Submission Program), but
    anyway: In sendmail terminology the MSA is the thing that listens for
    SMTP submissions on port 587 - this is just another listening socket in
    the same process that runs the MTA, and they're both governed by
    sendmail.cf - while the MSP is the thing you get when you invoke
    sendmail directly for mail submission via arguments/stdin - this is the
    one that obeys submit.cf ..."

    24.07.2008. Andrzej Adam Filip : submit.cf is used when local user send email by executing "sendmail" program. It hardly ever requires tuning. It sends messages to, it has been added to avoid traditional "set root id" installation now days considered a security risk.
    Ссылки по теме: