🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.mail.mta
3 messages
3 total messages Started by LFC Tue, 14 Apr 2020 16:27
Do znających sendmaila - dlaczego z opcją delay_checks tak się dzieje?
#62826
Author: LFC
Date: Tue, 14 Apr 2020 16:27
60 lines
3849 bytes
Zasięgałem tu porad w kwestii konfiguracji sendmaila. Szczególnie 
chciałęm osiągnąć aby "roaming users" mogli wysyłać pocztę ze swoich 
domowych laptopów/internetów.
Stanęło na STARTTLS, porcie 587 i opcji delay_checks, a w pliku access 
za poradnikiem konfiguracji antyspamowej sendmaila
To: domena.pl	OK
Connect:domena.pl	OK
Było RELAY, jak dałem OK.
Po odpaleniu takiej konfiguracji godzina spokoju a potem:

Apr 14 13:33:04 host sendmail[4126]: STARTTLS=server, 
relay=[58.58.185.75], version=TLSv1/SSLv3, verify=NO, 
cipher=DHE-RSA-AES128-GCM-SHA256, bits=128/128
Apr 14 13:33:07 host sendmail[4126]: AUTH=server, relay=[58.58.185.75], 
authid=user@domena.pl, mech=LOGIN, bits=0
Apr 14 13:33:12 host sendmail[4126]: 03EBX0DG004126: 
from=<j-evans14@domena.pl>, size=1195, class=0, nrcpts=1, 
msgid=<v016c324.1mucmmux.ae3ea.6vpf@domena.pl>, proto=ESMTP, daemon=MSA, 
relay=[58.58.185.75]
Apr 14 13:33:17 host sendmail[4126]: 03EBX0DH004126: 
from=<j-evans14@domena.pl>, size=1132, class=0, nrcpts=1, 
msgid=<ed6b4raa.hvf1bxaf.98ufz.3er9@domena.pl>, proto=ESMTP, daemon=MSA, 
relay=[58.58.185.75]

Potem otwiera połączenie, też TLs z serwerem docelowym i śle do jakiegoś 
usera z tego serwera:

Apr 14 13:33:14 mpwik sendmail[4137]: STARTTLS=client, 
relay=hotmail-com.olc.protection.outlook.com., version=TLSv1/SSLv3, 
verify=OK, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
Apr 14 13:33:15 mpwik sendmail[4137]: 03EBX0DG004126: 
to=<dave_gresham@hotmail.com>, delay=00:00:05, xdelay=00:00:03, 
mailer=esmtp, pri=121195, relay=hotmail-com.olc.protection.outlook.com. 
[104.47.10.33], dsn=2.0.0, stat=Sent 
(<v016c324.1mucmmux.ae3ea.6vpf@mpwikzdw.com.pl> 
[InternalId=84911503470524, 
Hostname=DB5EUR03HT...od.protection.outlook.com] 9023 bytes in 0.368, 
23.938 KB/sec Queued mail for delivery -> 250 2.1.5)

I dalej sieje po różnych adresach email - prawdziwych i fikcyjnych.
Dochodza podobne połączenia z innych IP - istny sajgon
Nie rozumiem mechanizmu.

Mało tego, ze się uwiesza i spamuje to jeszcze otwiera połączenia ipv6 
choć support dla ipv6 jest wyłączony, a na inpucie ipv6 jest drop.
Wszystkie adresy email w domenie należą do userów systemowych z 
/bin/false, ale authid dla faktycznego usera autoryzującego się w sieci 
lokalnej wygląda authid=user.
Mam rozumieć, że dysponuje hasłami niektórych userów i się autoryzuje, 
czy też wykorzystuje jakąś dziurę w sendmailu.
Zresztą, gdyby się autoryzował, to mógłby wysyłać jako ten user, a on 
spamuje z fikcyjnych kont niby z domeny - coś jakby aktywować opcję 
relay_local_from albo relay_mail_from,
Jak tylko wyłączę tą opcję delay_checks wraca spokój i normalna praca 
sendmaila.
Wyłączyłem FEATURE dnsbl zen.spamhaus i można wysłać pocztę z 
dynamicznego, ale to oznacza, że ze spamerskimi nalotami trzeba będzie 
walczyć na piechotę.

LFC
Re: Do znających sendmaila - dlaczego z opcją delay_checks tak się dzieje?
#62827
Author: Piotr Lechowicz
Date: Tue, 14 Apr 2020 21:29
67 lines
5498 bytes
W dniu 2020-04-14 o 18:27, LFC pisze:
> Zasięgałem tu porad w kwestii konfiguracji sendmaila. Szczególnie chciałęm osiągnąć aby "roaming users" mogli wysyłać pocztę ze swoich domowych laptopów/internetów.
> Stanęło na STARTTLS, porcie 587 i opcji delay_checks, a w pliku access za poradnikiem konfiguracji antyspamowej sendmaila
> To: domena.pl    OK
> Connect:domena.pl    OK

Tego Connect: bym nie robił...
Uwierzytelnienie ma być jedynym warunkiem dopuszczającym relay

> Było RELAY, jak dałem OK.
> Po odpaleniu takiej konfiguracji godzina spokoju a potem:
> 
> Apr 14 13:33:04 host sendmail[4126]: STARTTLS=server, relay=[58.58.185.75], version=TLSv1/SSLv3, verify=NO, cipher=DHE-RSA-AES128-GCM-SHA256, bits=128/128> Apr 14 13:33:07 host sendmail[4126]: AUTH=server, relay=[58.58.185.75], authid=user@domena.pl, mech=LOGIN, bits=0

Niżej twierdzisz, że masz wyłącznie userów systemowych; powinno być authid=user
Ten j-evans14@ poniżej to rzeczywisty user, czy fake?
Bo nie wiem czy logi przerabiasz konsekwentnie czy wyrywkowo: raz user@domena, potem j-evans14@domena; raz host, potem mpwik...

> Apr 14 13:33:12 host sendmail[4126]: 03EBX0DG004126: from=<j-evans14@domena.pl>, size=1195, class=0, nrcpts=1, msgid=<v016c324.1mucmmux.ae3ea.6vpf@domena.pl>, proto=ESMTP, daemon=MSA, relay=[58.58.185.75]
> Apr 14 13:33:17 host sendmail[4126]: 03EBX0DH004126: from=<j-evans14@domena.pl>, size=1132, class=0, nrcpts=1, msgid=<ed6b4raa.hvf1bxaf.98ufz.3er9@domena.pl>, proto=ESMTP, daemon=MSA, relay=[58.58.185.75]
> 

Przyjrzałbym się konfiguracji SASLa, bo może przechodzi każde uwierzytelnienie, nawet na fałszywe dane...

> Potem otwiera połączenie, też TLs z serwerem docelowym i śle do jakiegoś usera z tego serwera> 
> Apr 14 13:33:14 mpwik sendmail[4137]: STARTTLS=client, relay=hotmail-com.olc.protection.outlook.com., version=TLSv1/SSLv3, verify=OK, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
> Apr 14 13:33:15 mpwik sendmail[4137]: 03EBX0DG004126: to=<dave_gresham@hotmail.com>, delay=00:00:05, xdelay=00:00:03, mailer=esmtp, pri=121195, relay=hotmail-com.olc.protection.outlook.com. [104.47.10.33], dsn=2.0.0, stat=Sent (<v016c324.1mucmmux.ae3ea.6vpf@mpwikzdw.com.pl> [InternalId=84911503470524, Hostname=DB5EUR03HT...od.protection.outlook.com] 9023 bytes in 0.368, 23.938 KB/sec Queued mail for delivery -> 250 2.1.5)
> 
> I dalej sieje po różnych adresach email - prawdziwych i fikcyjnych.

Jak już się uwierzytelnił, to może - tak to ma działać.
Jak się uporasz z tym bałaganem, to możesz ustawić limity dla loginów/adresów IP nadawców.

> Dochodza podobne połączenia z innych IP - istny sajgon

Uwierzytelnienie tymi samymi danymi co w logu, czy za każdym razem innymi?
Pokazałeś jeden wpis z logów - pokaż więcej...

> Nie rozumiem mechanizmu.
> 
> Mało tego, ze się uwiesza i spamuje to jeszcze otwiera połączenia ipv6 choć support dla ipv6 jest wyłączony, a na inpucie ipv6 jest drop.

Pokaż te logi z IPv6.

> Wszystkie adresy email w domenie należą do userów systemowych z /bin/false, ale authid dla faktycznego usera autoryzującego się w sieci lokalnej wygląda authid=user.
> Mam rozumieć, że dysponuje hasłami niektórych userów i się autoryzuje

Może tak być, jeżeli hasła masz słabe.
Ponownie pytanie: w logu przy uwierzytelnieniu tych spamów są dane rzeczywistych userów czy fejki?

, czy też wykorzystuje jakąś dziurę w sendmailu.
> Zresztą, gdyby się autoryzował, to mógłby wysyłać jako ten user, a on spamuje z fikcyjnych kont niby z domeny - coś jakby aktywować opcję relay_local_from albo relay_mail_from,

A nie masz FEATURE(relay_entire_domain) albo innego podobnego wynalazku?
Sprawdziłeś całe sendmail.mc?

> Jak tylko wyłączę tą opcję delay_checks wraca spokój i normalna praca sendmaila.
> Wyłączyłem FEATURE dnsbl zen.spamhaus i można wysłać pocztę z dynamicznego, ale to oznacza, że ze spamerskimi nalotami trzeba będzie walczyć na piechotę.

Czyli potwierdzasz, że problem z relay wynika z włączenia uwierzytelnienia?

> 
> LFC
> 

Możesz ewentualnie jeszcze spróbować zapytać na comp.mail.sendmail.
Udziela się tam (chociaż tu też czasem zagląda) specjalista od sendmaila: Andrzej Adam Filip <anfi@onet.eu>
Re: Do znających sendmaila - dlaczego z opcją delay_checks tak się dzieje?
#62828
Author: LFC
Date: Wed, 15 Apr 2020 06:18
309 lines
12364 bytes
W dniu 14.04.2020 o 23:29, Piotr Lechowicz pisze:

>
> Tego Connect: bym nie robił...
> Uwierzytelnienie ma być jedynym warunkiem dopuszczającym relay
>

Poszedłem za radą 
https://www.sendmail.org/~ca/email/doc8.12/cf/m4/anti_spam.html#delay_check



>
> Niżej twierdzisz, że masz wyłącznie userów systemowych; powinno być
> authid=user

Właśnie

> Ten j-evans14@ poniżej to rzeczywisty user, czy fake?

Fake

> Bo nie wiem czy logi przerabiasz konsekwentnie czy wyrywkowo: raz
> user@domena, potem j-evans14@domena; raz host, potem mpwik...

Nie wyszła mi anonymizacja

Widziałeś w logu najpierw linia z authid a po niej j-evans

>
> Przyjrzałbym się konfiguracji SASLa, bo może przechodzi każde
> uwierzytelnienie, nawet na fałszywe dane...
>

W /usr/lib64/sasl2 jest Sendmail.conf, a w nim
pwcheck_method: saslauthd
mech_list: login plain

Taki sam plik jest w /etc/sasl2


>
>> Nie rozumiem mechanizmu.
>>
>> Mało tego, ze się uwiesza i spamuje to jeszcze otwiera połączenia ipv6
>> choć support dla ipv6 jest wyłączony, a na inpucie ipv6 jest drop.
>
> Pokaż te logi z IPv6.
>

Nie loguję całego ruchu, jak zobaczyłem charakterystyczne linie w 
netstat -tuan, to zatrzymałem sendmaila i przywróciłem pierwotny konfig

>
> Może tak być, jeżeli hasła masz słabe.
> Ponownie pytanie: w logu przy uwierzytelnieniu tych spamów są dane
> rzeczywistych userów czy fejki?
>

Tu może tak być, bo zwykle, jak daję nowego usera, to hasło jest takie 
samo. Serwer jest linuksowy usery systemowe z /bin/false, więc sami nie 
mogą zmienić hasła. Powinni dać mi swoją propozycję do zmiany, ale "kto 
by pamiętał o tym"
Uczciwie powiem, że nie robiłem wilekiej analizy tego, co w logach, ale 
widziałem tam w postaci authid=user@domena.pl 2 faktycznych userów.
Spróbuję zmienić ich hasła i próba.

Nie kumam tego, załóżmy, autoryzuje się jako user1, a potem śle pocztę z 
fikcjnego adresu z domeny


>
> A nie masz FEATURE(relay_entire_domain) albo innego podobnego wynalazku?
> Sprawdziłeś całe sendmail.mc?
>


divert(-1)dnl
dnl #
dnl # This is the sendmail macro config file for m4. If you make changes to
dnl # /etc/mail/sendmail.mc, you will need to regenerate the
dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf 
package is
dnl # installed and then performing a
dnl #
dnl #     make -C /etc/mail
dnl #
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
dnl #
dnl # Do not advertize sendmail version.
dnl #
dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl
dnl #
dnl # default logging level is 9, you might want to set it higher to
dnl # debug the configuration
dnl #
dnl define(`confLOG_LEVEL', `9')dnl
dnl #
dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
dnl define(`SMART_HOST', `smtp.your.provider')dnl
dnl #
define(`confDEF_USER_ID', ``8:12'')dnl
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST', `True')dnl
define(`confDONT_PROBE_INTERFACES', `True')dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A p')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
dnl #
dnl define(`confAUTH_OPTIONS', `A p y')dnl
dnl #
dnl # PLAIN is the preferred plaintext authentication method and used by
dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do
dnl # use LOGIN. Other mechanisms should be used if the connection is not
dnl # guaranteed secure.
dnl # Please remember that saslauthd needs to be running for AUTH.
dnl #
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN 
PLAIN')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl #     cd /etc/pki/tls/certs; make sendmail.pem
dnl # Complete usage:
dnl #     make -C /etc/pki/tls/certs usage
dnl #
define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.key')dnl
dnl #
dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's
dnl # slapd, which requires the file to be readble by group ldap
dnl #
dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl
dnl #
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl
dnl FEATURE(`delay_checks')dnl
dnl FEATURE(`no_default_msa', `dnl')dnl
FEATURE(`no_default_msa')dnl
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl #
dnl # The following limits the number of processes sendmail can fork to 
accept
dnl # incoming messages or process its message queues to 20.) sendmail 
refuses
dnl # to accept connections once it has reached its quota of child 
processes.
dnl #
dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl
dnl #
dnl # Limits the number of new connections per second. This caps the 
overhead
dnl # incurred due to forking new sendmail processes. May be useful against
dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP 
address
dnl # limit would be useful but is not available as an option at this 
writing.)
dnl #
dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl
dnl #
dnl # The -t option will retry delivery if e.g. the user runs over his 
quota.
dnl #
FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
dnl #
dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery 
uncomment
dnl # the following 2 definitions and activate below in the MAILER 
section the
dnl # cyrusv2 mailer.
dnl #
dnl define(`confLOCAL_MAILER', `cyrusv2')dnl
dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl
dnl #
dnl # The following causes sendmail to only listen on the IPv4 loopback 
address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Family=inet, Port=smtp, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their
dnl # preferred sendmail daemon due to port 25 being blocked or 
redirected find
dnl # this useful.
dnl #
DAEMON_OPTIONS(`Family=inet, Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 
followed
dnl # by STARTTLS is preferred, but roaming clients using Outlook 
Express can't
dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS
dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps
dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.
dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
dnl DAEMON_OPTIONS(`Family=inet, Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6 
loopback
dnl # device. Remove the loopback address restriction listen to the network.
dnl #
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
dnl #
dnl # enable both ipv6 and ipv4 in sendmail:
dnl #
dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')
dnl #
dnl # We strongly recommend not accepting unresolvable domains if you 
want to
dnl # protect yourself from spam. However, the laptop and users on computers
dnl # that do not have 24x7 DNS do need this.
dnl #
dnl FEATURE(`accept_unresolvable_domains')dnl
dnl #
dnl FEATURE(`relay_based_on_MX')dnl
dnl #
dnl # Also accept email sent to "localhost.localdomain" as local email.
dnl #
LOCAL_DOMAIN(`localhost.localdomain')dnl
dnl #
dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
dnl MASQUERADE_AS(`mpwikzdw.com.pl')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
dnl FEATURE(masquerade_envelope)dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com 
as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl
dnl MASQUERADE_DOMAIN(mydomain.lan)dnl
dnl MAILER(cyrusv2)dnl
INPUT_MAIL_FILTER(`spamassassin', 
`S=unix:/var/run/spamass-milter/spamass-milter.sock, F=, 
T=C:15m;S:4m;R:4m;E:10m')dnl
define(`confMILTER_MACROS_CONNECT',`t, b, j, _, {daemon_name}, 
{if_name}, {if_addr}')dnl
define(`confMILTER_MACROS_HELO',`s, {tls_version}, {cipher}, 
{cipher_bits}, {cert_subject}, {cert_issuer}')dnl
dnl FEATURE(`dnsbl', `zen.spamhaus.org', `"550 Mail from " 
$`'&{client_addr} " refused - see http://www.spamhaus.org/zen/"')dnl
INPUT_MAIL_FILTER(`clmilter', 
`S=local:/var/run/clamav/clamav-milter.sock, F=, T=S:4m;R:4m')dnl
INPUT_MAIL_FILTER(`milter-regex', `S=unix:/var/spool/milter-regex/sock, 
T=S:30s;R:2m')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl

Sorry za przydługą wstawkę, ale na tym konfigu pracuję. Wczoraj 
wyłączyłem dnsbl zen.spamhaus bo pozwala wtedy relayować ze świata.
Looknij na niego, może znajdziesz w nim coś niedobrego, bo ja śledziłem 
go wiele razy i nic nie znajduję.
>
> Czyli potwierdzasz, że problem z relay wynika z włączenia uwierzytelnienia?
>

Uwierzytelnianie sasl stosuję od dawna. Problem pojawia się, gdy 
aktywuję opcję delay_checks. Przynajmniej tak to wygląda.


Nadmieniam, ze nie zajmuję się tym  zawodowo.
Znam trochę linuksa i kiedyś dawno temu postawiłem serwer pocztowy w 
firmie i to się przyjęło, a teraz firma już nie umie pracować bez serwera.
Dbanie o ten serwer to jest tylko wycinek moich obowiązków.
Z każdej jakiejś akcji spamowo wirusowej w przeszłości pozostawały nowe 
zabezpieczenia, które musiałem na cito aktywować.
Generalnie nie zajmuję się nim o ile nie muszę, a ostatnio niestety 
muszę, bo modna stała się praca zdalna, a tu nie można było wysyłać 
poczty z domu, bo dnsbl wysyłał hosty na drzewo.

LFC
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads