Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Jak w temacie, rekord SPF domeny dug.net.pl:
dug.net.pl descriptive text "v=spf1 mx a ip4:46.105.189.255 ~all"
Niby poprawny, ale:
Received-SPF: softfail (dug.net.pl: Sender is not authorized by default to use 'root@dug.net.pl' in 'mfrom' identity, however [b]domain is not currently prepared for false failures (mechanism '~all' matched))[/b] receiver=localhost; identity=mailfrom; envelope-from="root@dug.net.pl"; helo=localhost; client-ip="::1"[/quote]
Nie wiem, czy dokładnie o to chodziło, radziłbym dać -all zamiast ~all.Ostatnio edytowany przez Jacekalex (2015-03-10 12:21:51)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
to znacz że można wysłać maila z adresu zwrotnego, adresu mx, adresu ip oraz z dsl-a w czeczenii.
Offline
@up
...oraz z dsl-a w czeczenii[/quote]
xD
Ja to wiem, ale nie wiem, czy Autor strefy w domenie dug.net.pl też wie.
Prawidłowo, SPF ma działać tak:Kod:
<~* 450 4.7.1 <root@domena.tld>: Recipient address rejected: Please see http://www.openspf.net/Why?s=mfrom;id=asia%40mbank.pl;ip=127.0.0.1;r=localhost ~> QUIT <~ 221 2.0.0 Bye === Connection closed with remote host.Rezultat prawidłowego w sensie praktycznym rekordu SPF:
Kod:
mbank.pl descriptive text "v=spf1 ip4:193.41.230.0/24 ip4:213.180.131.38 ip4:213.180.147.136 ip4:213.180.147.137 mx -all"A tu wyjaśnienie powyższego przypadku:
http://www.openspf.net/Why?s=mfrom;id=asia%40mbank.pl;ip=127.0.0.1;r=localhost
PS:
Ciekawe, kto tu wpadnie z awanturą, uzasadniając, że przecież w Czeczenii nie ma żadnych DSLi.
xD
Pozdro
;-)Ostatnio edytowany przez Jacekalex (2015-03-10 12:14:57)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
@up: spróbuj wysłać do mnie - możesz się zdziwić :)
a z ciekawości sprawdzę w domu jak przejdą maile od Wróża Aleksieja czyli wroz.aleksiej@dug.wiadomo.gdzie :)
btw. a propos wiedzy - ja wiem że autor nie wie.
Ostatnio edytowany przez ethanak (2015-03-10 12:22:12)
Offline
Nie muszę wysyłać, na serwerek, którym ja się zajmuje, też takie rzeczy nie dochodzą.
Musiałem tylko zrezygnować z odrzucania maili bez poprawnego podpisu DKIM,
a szkoda... :P
Ostatnio edytowany przez Jacekalex (2015-03-10 12:32:59)
Offline
nie przejmuj się - połowa spamu która przedostaje się przez moje filtry ma poprawny DKIM.
Offline
To dorzuć 2-3 pkt na adresy [url=https://forum.dug.net.pl/viewtopic.php?pid=200113]serwerowni z VPSami po 20 zł[/url] i od razu zobaczysz, że 60% poprawnych podpisów DKIM nie zobaczysz, zwłaszcza jak na hasła promocja, okazja, itp, z wiadomą stopką dodasz następne 2-3 punkty.
Ostatnio edytowany przez Jacekalex (2015-03-15 15:06:16)
Offline
A Exim nie ma czasem filtrów łączonych typu:
if warunek { if warunek2 { if warunek3 { then wywalto}
Pytam, bo w SA nie ma z tym wielkich problemów ;)
np:
header __LOCAL_FROM_NEWS From =~ /news\@example\.com/i body __LOCAL_SALES_FIGURES /\bMonthly Sales Figures\b/ meta LOCAL_NEWS_SALES_FIGURES (__LOCAL_FROM_NEWS && __LOCAL_SALES_FIGURES) score LOCAL_NEWS_SALES_FIGURES -1.0
Sznurek:
https://wiki.apache.org/spamassassin/WritingRules
Jak ktoś jest prawdziwym masochistą, to może w jednym meta zmieścić nawet kilkanaście reguł. ;)
Ostatnio edytowany przez Jacekalex (2015-03-15 15:05:40)
Offline
Ma, tylko że Exim bezpośrednio nie ma dostępu do co poniektórych danych. Pogadamy później na ten temat, ale na razie zapis z sesji SMTP na mojej maszynce (autentyczne dane zastąpione przez <mój.host> i <mój.adres>):
$ telnet mxs.mail.ru 25 Trying 94.100.180.150... Connected to mxs.mail.ru. Escape character is '^]'. 220 Mail.Ru ESMTP helo <mój.host> 250 mx161.mail.ru ready to serve mail from: admin@dug.net.pl 250 OK rcpt to: <mój.adres>@mail.ru 250 OK data 354 Go ahead from: admin to: <mój.adres>@mail.ru Subject: test To jest test . 250 OK id=1YXAEw-0001lK-6D quit 221 mx161.mail.ru closing connection Connection closed by foreign host. $
Nie muszę chyba mówić że efekt był zgodny z oczekiwaniem ;)
Ciekawe - ktoś to poprawi czy może trzeba będzie użyć rozwiązania siłowego?
Offline
@up
Do jakich danych Exim nie ma dostępu?
Przecież adres źródłowy IP, wszystkie nagłówki i treść wiadomości masz w treści wiadomości którą Exim odbiera, do DNS też musi mieć dostęp.
SA innych danych danych też nie potrzebuje i nie ma.
Ostatnio edytowany przez Jacekalex (2015-03-15 21:17:59)
Offline
A skąd w ogóle pomysł porównania Exima do SA? Porównuj do Postfixa jeśli już. Postfix też sam z siebie spamu po treści nie odsiewa, prawda?
Offline
Trochę odsiewa, można mu prosto do main.cf rzeźbić regexy dla modułu PCRE.
Zobacz to:
http://www.lemat.priv.pl/index.php?m=page&pg_id=90
Postfix natomiast nie ma takiej wielostopniowej punktacji, jak SA,
i tylu filtrów + gotowe zestawy reguł do załadowania przez [b]sa-update[/b].
Sznurki:
http://spamassassin.apache.org/tests_3_3_x.html
https://wiki.apache.org/spamassassin/RuleUpdates
SA, to po prostu cholernie rozbudowane. elastyczne i dosyć "inteligentne" narzędzie.
Do DUGu, Home i innych spartolonych rekordów SPF można by chyba kombinować w samym Postfixie w tym kierunku:
/^(Received: from|X-Originating-IP:|OriginalSenderIP:|X-AOL-IP:) \[?82\.128\.([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-7])\.[0-9]+\]?/ REJECT nigerian spam/scam/419 detected
W SA dzięki punktacji i sumowaniu reguł zmienną meta to jest dużo łatwiejsze.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2015-03-16 00:15:06)
Offline
Oj, lepiej nie linkuj do tego artykułu :)
Z całym szacunkiem dla kol. Lemata - artykuł jest nieco przestarzały. Np. nie wyobrażam sobie wycięcia w pień poczty z Chin, Korei, Kirgistanu czy jakiegokolwiek innego kraju z którymi moi klienci prowadzą geszefty. W dodatku dziś konfiguruje się MTA na różnych portach (jeden dla serwerów przysyłających mi pocztę, drugi dla autoryzowanych użytkowników ową pocztę wysyłających) - co przy okacji wprowadza pewien komfort przy tworzeniu konfiguracji (z możliwością postawienia dwóch oddzielnych MTA włącznie).
Z cięciem regexpami po helo też bym uważał - jeśli w helo można wpisać praktycznie dowolną bzdurę, całą weryfikację można OKDR. Na próbę włączyłem zresztą ostatnio ścisłą weryfikację helo na parę godzin: załapały się dwie sztuki exchange i ani jeden spam :)
Ogólnie stosuję sobie zasadę:
1) 95% spamu ma być odrzucone na poziomie iptables
2) 95% z tego co przeszło ma być odrzucone przez reguły Exima
3) Resztę mogę wrzucić do SA
Niestety - gdybym chciał wszystko do SA wrzucać to bym musiał kupić drugą maszynę i to nieco większą :(
A do spartolonych domen na poziomie SPF - wystarczy traktowanie softfaila i neutrala jako fail, czyli np. w moim Eximie:
condition = ${run{/usr/local/bin/spfquery --ip \"$sender_host_address\" \ --mail-from \"$sender_address\" --helo \"$sender_helo_name\"} \ {no}{${if or{{eq {$runrc}{1}}{eq {$runrc}{2}}{eq {$runrc}{3}}}{yes}{no}}}}
Tyle na razie - idę dalej chorować.
Offline
To ja mam jedno pytanko ;) Nie związane z dugiem ale z SPFem ;)
Da się tak ustawić postfixa żeby:
Przy soft failu z automatu wysyłał do nadawcy coś a'la zwrotka i jednocześnie dostarczał wiadomość na skrzynkę usera? Nie chce całkiem wycinać soft faili, wystarczy, że je zapunktuje (na 4-5pkt ;)), ale chciałbym poinformować nadawcę o możliwych problemach ;]
Offline
SA punktuje na spam, a Sieve odsyła zwrotkę, tylko trzeba by wykombinować jakiś filtr do sieve, żeby reagował na nagłowek SPF softfail, a takze typowy nagłówek z home, gdzie w ogóle jakiś kretyn nie określili polityki SPF, i filtry głupieją.
Poza tym softfail bym nie odbijał, tylko oznaczał jako spam.
Jak ktoś chce, żeby był softfail zamiast hardfaila, to jego sprawa, jeśli wie, co robi, albo jego problem, jeśli nie rozumie tego, co robi.
Wskazanie wadliwego adresu jako softfail - czyli ~all jest zgodne ze specyfikacją, brak polityki, to kretyństwo i lamerstwo, i coś takiego najlepiej uchwycić na poziomie PCRE Postfixa, żeby to odbijał z komunikatem typu
450 Poprawcie do Qoorwy Nendzy spartolony rekord SPF w waszej domenie.
albo podobnie.
Ale tutaj też musiałby odbijać nie do pacjenta, tylko do postmastera danej domeny, także trzeba by to chyba trochę inaczej wykombinować.
[b]@ethanak[/b]
1) 95% spamu ma być odrzucone na poziomie iptables[/quote]
Spamhaus i sblamdrop do ipseta, i nasz 50% spamu z głowy.2) 95% z tego co przeszło ma być odrzucone przez reguły Exima[/quote]
Filtry opisane przez Lemata bardzo grzecznie chodzą w Postfixie, wersja:Kod:
mail-mta/postfix-2.11.3Do tego te listy RBL, których nie możesz ściągnąć i wrzucić do Ipseta, i następne 30% masz z głowy.
SPF i DKIM następne kilka procent odwalą do 15%.
Jak dasz Clama z unoficjal-signs do sesji SMTP, to w tych zestawach są sygnatury najbardziej powszechnego spamu jako sygnatury wirusów, też bardzo skuteczne.Kod:
3) Resztę mogę wrzucić do SAI wpada do SA, ale najwyżej jakieś 5-10% tego, co przychodzi do serwera.
Postawiłem taki serwerek na Core 2 Q6600, chodzi 5 rok nikt się nie skarży, chociaż już ma drugi komplet dyziów (RAId 10), obrabia 230 skrzynek pocztowych.
SOA#1Ostatnio edytowany przez Jacekalex (2015-03-16 14:40:22)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)Offline
[quote=Jacekalex]
1) 95% spamu ma być odrzucone na poziomie iptables[/quote]
Spamhaus i sblamdrop do ipseta, i nasz 50% spamu z głowy.[/quote]
Czyli przepuszcza 50% a nie 5 jak u mnie :)
Ja do tego dodałem m.in. regułkę:
jeśli dany IP nie przechodzi testu revDNS lub SPF, jest to mało prawdopodobne aby w ciągu najbliższej godziny zaczął magicznym sposobem przechodzić. Do ipseta i przez godzinę mam z gościem spokój.
Ogólnie - jeśli poczta została odrzucona przez Exima na podstawie podejrzeń co do IP, nie widzę konieczności powtarzania testów co chwila, ipset z tym sobie świetnie radzi.
Takoż próby logowania się na porcie 25 skutkują wycięciem IP (z reguły to klient ze źle skonfigurowaną pocztą, jak sobie skonfiguruje to się dostanie) - po co mam odpalać wątek exima tylko po to, aby klienta wywalić?
Trochę wpisów z palca (np. znane klasy dynamicznych neostrad i innych dsl-i które na port 25 nie mają prawa się wbić - i mam swoje 95% :)Postawiłem taki serwerek na Core 2 Q6600, chodzi 5 rok nikt się nie skarży, chociaż już ma drugi komplet dyziów (RAId 10), obrabia 230 skrzynek pocztowych.[/quote]
No to o rząd wielkości mniej niż u mnie. Skrzynek znaczy.
Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]Offline
jeśli dany IP nie przechodzi testu revDNS lub SPF, jest to mało prawdopodobne aby w ciągu najbliższej godziny zaczął magicznym sposobem przechodzić. Do ipseta i przez godzinę mam z gościem spokój.[/quote]
RevDNS jest w domyślnych filtrach Potfixa, wystarczy włączyć.Kod:
#Blocking Machines With No Reverse DNS smtpd_client_restrictions = reject_unknown_clientI przeważnie go włączam, nie trzeba do tego Ipseta, tylko serwer cachedns, żeby nie wołał zewn. DNSów za często.
To samo SPF i klucz DKIM.
Czyli:Kod:
for x in seq 1 3 ; do dig -t txt onet.pl | grep msec; done; ;; Query time: 30 msec ;; Query time: 0 msec ;; Query time: 0 msecA poza tym podałem wartości orientacyjne, a jak zsumujesz 50% na Ipsetach + 30% na RBLach, to nie jest tak źle, zwłaszcza, jak doliczysz SPF i DKIM (wspaniały na serwery z podpisem dkim i spartolonym lub żadnym rekordem SPF, jak kiedyś Yahoo, a obecnie home).
Home też z resztą można grzecznie filtrować, o ile wyczaję, co to za podpis:Kod:
X-HomePL-Signed: J-12DCNzBMogOHFjbbaepSPQMGQ7kTqnitiyV-_7alznZVE-kLy4wRUL7U YxCSvs-SbmYnsJJzzpV8mkEOxtOjaS0wBo DK, DKIM ani GPG to to nie jest, tylko jakaś inna zabawka, która chyba nie ma nic wspólnego z RFC.
Ostatnio edytowany przez Jacekalex (2015-03-16 16:14:28)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
[quote=Jacekalex]
#Blocking Machines With No Reverse DNS smtpd_client_restrictions = reject_unknown_client
[/quote]
To nie jest prawidłowy test revDNS (podawałem wcześniej, taki to sobie można OKDR).
Offline
[quote=ethanak][quote=Jacekalex]
#Blocking Machines With No Reverse DNS smtpd_client_restrictions = reject_unknown_client
[/quote]
To nie jest prawidłowy test revDNS (podawałem wcześniej, taki to sobie można OKDR).[/quote]
Faktycznie, w tym morzu parametrów można coś pomylić. ;)
Pewnie chodzi o to:
http://www.postfix.org/postconf.5.html#reject_unknown_reverse_client_hostname
Ostatnio edytowany przez Jacekalex (2015-03-17 17:28:55)
Offline
Time (s) | Query |
---|---|
0.00017 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00173 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='44.221.43.88' WHERE u.id=1 |
0.00132 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '44.221.43.88', 1711617269) |
0.00072 | SELECT * FROM punbb_online WHERE logged<1711616969 |
0.00075 | SELECT topic_id FROM punbb_posts WHERE id=284813 |
0.00358 | SELECT id FROM punbb_posts WHERE topic_id=27145 ORDER BY posted |
0.00102 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27145 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00199 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27145 ORDER BY p.id LIMIT 0,25 |
0.00172 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27145 |
Total query time: 0.0131 s |