Rakjuk rendbe a levelezés körüli tévhiteket

Úgy érzem, hogy az elmúlt napok fórumtémái kapcsán néhány dolog tisztázásra szorul a levelezés környékén. Nézzük meg a modern levelezés fogalomtárát.

SPF

Az SMTP (levélküldő protokoll), mint megannyi régi megoldás, semmiféle korlátozást nem tartalmaz arra vonatkozóan, hogy melyik szerver küldhet levelet milyen feladóval. Éppen ezért rengeteg spam születik hamis feladóval. Az SPF (Sender Policy Framework) technológia azt a célt szolgálja, hogy egy domain tulajdonosa megmondhassa azt, hogy mely szerverek küldhetnek az adott feladó domainnel. Mindezt egy DNS rekorddal teszi.

Például:

opsbears.com. IN TXT "v=spf1 a:obs-zyl-smtp01.opsbears.com a:obs-zyl-mailout01.opsbears.com include:spf.mandrillapp.com ~all"

Ez a TXT rekord azt mondja, hogy az opsbears.com domain feladójával az obs-zyl-smtp01, az obs-zyl-mailout01 szerver, valamint az spf.mandrillapp.com TXT rekordjában található összes mailszerver küldhet. A ~all a végén pedig azt mondja ki, hogy a nem megfelelő leveleket spamnek kell jelölni eldobás helyett.

És itt már el is érkeztünk a problémás részhez: az SPF csak az envelope sendert validálja, a From fejlécet (amit a user lát), nem. Tehát továbbra is bárki küldhet bármilyen feladóval, csak az envelope sendert kell másképp beállítani. Ha továbbítunk egy levelet, akkor az eredeti envelope sender helyett most már azt a postafiókot kell beleírnunk az envelopeba, amiről továbbítva lett. (Ez az SRS technológia.) Hogy ez miért nagyon hülye ötlet, abba itt nem mennék bele, a lényeg hogy aki ezt kitalálta, az szerintem aznap elfelejtette meginni a reggeli kávéját.

Az SPF technológiának van egy implicit következménye: az, hogy a saját netszolgáltatónk SMTP szerverén keresztül küldünk leveleket, már nem járható megoldás, hiszen nem fog megfelelni az SPF-nek. Már néhány éve divat az, hogy a tisztességes netszolgáltatók biztosítanak a 465-ös porton egy titkosított SMTP végpontot, ahol autentikálva tudunk levelet küldeni. A nem tisztességes szolgáltatók meg remélhetőleg szépen lassan ügyfélvesztésnek néznek elébe.

DKIM

A DKIM (Domain Keys Identified Mail) azt a célt szolgálja, hogy a küldő szervert azonosítani lehessen. Tehát ha megnézzük például az egyik szerverem megfelelő TXT rekordját, ezeket fogjuk látni:

obs-zyl-smtp01._domainkey.opsbears.com. IN TXT "v=DKIM1\; k=rsa\; p=MIGfMA..."

Ez a rekord meghatározza azt a publikus kulcsot amivel az én levelező szerverem digitálisan aláír minden kimenő levelet. (Ezen felül létre lehetne hozni egy olyan rekordot is, ami megmondja, mi történjen a nem megfelelő levelekkel, de ez deprecated, van rá más technológia.)

DMARC

A DMARC rekord megint csak egy TXT DNS rekord, ami meghatározza, hogy mi történjen az SPF-nek vagy DKIM-nek nem megfelelő levelekkel. Nézzük a példát:

_dmarc.opsbears.com. IN TXT "v=DMARC1\; p=none\; rua=mailto:***@opsbears.com\; aspf=r\; ri=86400"

Mint látható, azt állítottam be, hogy a nem megfelelő levelekkel ne történjen semmi (mert az SPF szerintem egy baromság), a problémás levelekről pedig a megadott e-mail címre kérek értesítést.

Ezekről a technológiákról általánosságban

Ez a három technológia arra született, hogy visszaszorítsuk a spameket, ám mint a mindenki postafiókjában kikötő gagyi locsolócső és egyéb reklámok bizonyítják, semmit sem használtak. Pusztán annyi változott, hogy a spammerek most random szolgáltatónál bérelnek VPS-eket és domaineket vásárolnak ahelyett, hogy zombigépek hadaival próbálkoznának. A levelek minden egyéb tekintetben úgy néznek ki, mintha legitim szolgáltatótól jönnének. Éppen ezért az én mailszerverem pl. nem fogad el olyan küldő domainről levelet, amely tulajdonosa nem nyilvános.

Mindamellett fontos megjegyezni, hogy ezen technológiák implementálása nélkül sokkal nagyobb esélybe kerülnek spam mappába a levelek pl. a Gmailnél.

Reverse DNS

Immáron közel 10 éve szinte senki nem tud levelezni, ha a küldő IP címre nincs beállítva normális PTR rekord és arra vonatkozó A rekord. (Forward-confirmed Reverse DNS). Ennek ellenére rendszeresen bele lehet futni olyan cégekbe, akik azt gondolják, hogy jó ötlet az irodai bérelt vonalon mailszervert üzemeltetni. Az ilyen cégek, még akkor is, ha esetleg a szolgáltatójuk állított be reverse DNS-t és ahhoz forwardot, problémákba fognak ütközni. Az a reverse, hogy ip-123-456-789-123.adsl.szolgaltatoneve.hu, ugyanis pontosan úgy néz ki, mint azok a reversek, amiket otthoni gépeknek osztanak ki és innentől kezdve elég sokan ki is szűrik őket.

Magyarán legyen normális, kézzel beállított reverse DNS, különben nem kell csodálkozni ha nem megy ki a levél.

Blacklist

Igen, vannak feketelisták. Vannak IP-re és vannak domain nevekre is. Ha a levelezőszerverünkön keresztül szemét megy ki, akár akarva, akár akaratlanul, akkor ki fogunk ilyeneken kötni. Ha valószínűsíthető, hogy szándékos szemetelés történt (pl. nem ellenőrzött e-mail címekre ment ki hírlevél), akkor akár permanensen is kiköthetünk egy ilyen listán és onnantól kezdve elég sok szerverre nem fogunk tudni levelet küldeni.

Ennek a kivédésére érdemes rendszeresen ellenőrizni a mailszerverünket, hogy nem megy-e át rajta olyan levél aminek nem kellene, valamint fel kell hívni a céges marketinges figyelmét arra, hogy a random info@ mailcimek, valamint a vásárolt címlisták megszórása olyan trükk, amit egyszer fog eljátszani. (A címlisták vásárlása egyébként illegális ha magánszemélyekről van szó, milliós bírságokat osztogatnak érte ha arra kerül a sor.) Ugyanebbe a kategóriába tartozik az is, amikor úgy gyűjtünk e-mail címet, hogy nem ellenőrizzük a megadott adatokat egy kiküldött megerősítő linkkel.

Ha már a marketingessel beszélünk, hívjuk fel a figyelmét arra, hogy a kiküldött hírlevél láblécében erősen ajánlott feltűntetni, hogy a feliratkozó mikor és hol iratkozott fel, melyik cég kezeli az adatait, mi az adatkezelési azonosítója, valamint egy linket amivel egy kattintással le tud iratkozni. Ellenkező esetben a felhasználók lehet hogy tévesen azonosítják be a levelet és spamnek jelölik, szóval egy ilyen levél kiküldése megint csak jó eséllyel egy one-time trükk.

Ha esetleg felkerültünk egy blacklistre, akkor lehet írni a tulajdonosnak, reménykedni és várni néhány hetet, amíg az infó mindenhonnan kipörög.

Whitelist

Ilyen is van. Vannak bizonyos szervezetek, amik azzal foglalkoznak hogy auditálják a levélküldési protokolljainkat. Ilyen pl a returnpath.net.

IP reputáció

Mivel a sima blacklisting nem elég, tekintve hogy új IP címet szerezni könnyű, utóbbi időben kezdett elterjedni az IP reputációs rendszer. Ez annyit tesz, hogy egy IP címet értékelünk az onnan érkezett levelek szerint, mennyi spam, mennyi nem, és ebből adatbázist építünk. Az IP reputációs rendszerek szemszögéből egy "szűz" IP cím majdnem annyira rossz mint egy spammer, tehát érdemes a nagy mennyiségű levél kiküldése előtt az IP címet "előmelegíteni".

Zárszó

Remélhetőleg sikerült néhány félreértést eloszlatni. Ha kérdésed van, esetleg úgy érzed, hogy mellényúltam, a kommentekben kidühöngheted magad. Érdemes még elolvasni Tamás Péter írását a Freemail spamszűrés működéséről.

Hozzászólások

ha nekunk is egy random szolgaltatonal, sajat vps-en van a levelezesunk (pl. az nlg.hu domain alatt), akkor ne erjuk be a vpsxxxx.nlg.hu ptr-rel, hanem allittassunk be egy nevet a sajatdomain.hu alatt (pl. mail.sajatdomain.hu). A mail.sajatdomain.hu feloldva pedig adja vissza a vps ip-cimet, azaz az a->ptr es ptr->a feloldas konzisztens legyen.

A berelt vonal vegen levo mail szerver nem gond, amig a dns resze rendben van. De altalaban nem szokott rendben lenni...

Az a reverse, hogy ip-123-456-789-123.adsl.szolgaltatoneve.hu, ugyanis pontosan úgy néz ki, mint azok a reversek, amiket otthoni gépeknek osztanak ki és innentől kezdve elég sokan ki is szűrik őket.

fyi, a facebook is ilyet hasznal, pl. 66-220-144-153.outmail.facebook.com :-)

Tovabba a \d{3,}.com regexp-re illeszkedo kuldok is meglehetosen gyanusak, pl. a 163.com nevu kinai fostalicskabol omlik a szemet, bar nehany legitim kuldo is hasznalja. Te alaposan gondold at, min keresztul kuldod ki a leveleidet.

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

ip-123-456-789-123.adsl.szolgaltatoneve.hu, ugyanis pontosan úgy néz ki

itt szerintem a hasonlóság alapja nem a dns névbe kódolt IP cím hanem a (adsl|ppp|pool|client|cable|dial) -re való egyezés.
én legalábbis ezt figyelem a küldő PTR-jének ellenőrzésekor.

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

Szépen összeszedted, remélem még nő az olvasottság! :)

Az Exchange Online-osok ilyen szerverrol kuldenek levelet:
na01-bn1-obe.outbound.protection.outlook.com

Ami nem egyezik a reverse PTR recorddal.

---

Aminek meg orulnek, hogyha a titkositas/tanusitvany problemakoret is vegigjarnad, mert tipikusan Exchange online (es outlook.com) megkoveteli min. TLS verziot, viszont a gmail is kovetel verziot. Tud osszeakadni a ketto (egyik helyrol megjonnek a levelek, a masikrol nem).

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Én épp most a hotmail-el szívok az egyik ügyfélnél. Visszavágja a levelet részletesebb magyarázat nélkül. (van az általános duma, hogy nem felel meg a szabályzatnak, bla, bla, de semmi értelmes hibajelzés).
Pedig ott van rendes reverse, egyetlen egy listán nincs fent (és soha nem is volt az elmúlt 10 évben, amióta él a rendszer) van DKIM, SPF és mégis.
Gyanítom a UPC hálózatából kapott IP-nk lehet a baja, lehet szűrik a upc-t. (korábban T-com volt, de fene se tudja akkor volt-e hotmailes ügyfél)

--
Rózsár Gábor (muszashi)

outlook.com megkovetel TLS verziot, lehet ez a baja. Bar nekem Exchange-dzsel jott elo a problema.

En sajat magam ugy fogom megoldani, hogy teszek ele egy Haraka-t.
Amint megoldottam a mostani szinten SOS feladatot, ez lesz a kovetkezo, amire raugrok. Ha erdekel beszamolok neked.

Ehh, beneztem a problemadat.
Te -> exchange online

Az en problemam meg pont forditott:
exchange online -> en

Akkor nincs 5letem.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

No én haladtam, kaptam máris választ.
Igaz sokra nem megyek vele :P

Not qualified for mitigation
178.48.31.XXX
Our investigation has determined that the above IP(s) do not qualify for mitigation.

Please ensure your emails comply with the Outlook.com policies, practices and guidelines found here: http://mail.live.com/mail/policies.aspx.

Csodás.

--
Rózsár Gábor (muszashi)

Hehe.
Ugy latom, hogy ez egy teljesen manualis lepes, hogy kivegyenek a tiltolistarol:
http://answers.microsoft.com/en-us/outlook_com/forum/oemail-osend/hotma…

(3. oldal a lenyeges szerintem)

Es egy idezet:
After being blocked a month ago by Hotmail and more than 15 forms and emails filled in - I'm giving up.

No comment. Tenyleg. Olyan szinten arrogans a complete Microsoft banda, hogy hihetetlen. (az erosebb kutya b*szik. Szoval ok dirigalnak.)

Ami a lenyeg:
1. IP alapjan szurnek.
2. manualisan szednek le, miutan tobb nyilatkozatot kitoltetnek
3. vagy nem szednek le.

Azt tudom javasolni, hogy tegy fel egy relay mail szervert masik ip cimre.
mail2.domained.hu. Havi 2000HUF/VPS. Es akkor a szlogen ugyanaz, mint amit a microsoftosok szoktak itt mondani: akinek nincs havi 2000Ft-ja emailezesre, az dogoljon meg.

Kedvem lenne a forumjukra benyomni: https://www.youtube.com/watch?v=RvyHqXApChM

Csak az a nagy baj, hogy on-premise Exchange-rol mindenki nyomul Exchange Online-ba. Igy ez honaprol honapra gazabb.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

No írtam nekik levelet erre amit küldtek. Kíváncsi vagyok. Legrosszabb esetben ott a szolgáltatói szerver is relay-nak, de jobb szeretem ha nem relayezik senki, mert akkor meg azért nem megy ki, mert a szolgáltató kerül fel ide-oda és akkor már lehet nem csak a hotmail nem megy majd. :)

--
Rózsár Gábor (muszashi)

Már jött is válasz, ez:

Hello,

My name is Rajesh and I work with the Outlook.com Deliverability Support Team.

Your IP (178.48.31.XXX) was blocked by Outlook.com because Hotmail customers have reported email from this IP as unwanted. One possible explanation for this is the automatic forwarding of unfiltered inbound messages, including unwanted messages, to Outlook.com/MSN addresses.

Please confirm that your emails comply with Hotmail's technical standards. This information can be found at http://postmaster.live.com/Guidelines.aspx.

For more detailed information about best sending practices to Outlook.com users, please review the following white paper: http://download.microsoft.com/download/e/3/3/e3397e7c-17a6-497d-9693-78….

Sincerely,
Rajesh Govind.

Outlook.com Deliverability Support Team.

Egész gyors volt, de a megoldáshoz nem kerültünk közelebb. :) Így aztán válaszoltam ösmeg.
--
Rózsár Gábor (muszashi)

Hát igen, ugyan akkor egész normálisan megy az ügymenet, mert megírtam hogy szolgáltatásváltás miatt van pár hónapja ez a cím meg amúgy is mi a teendő a lekerülésért és használható válasz jött:

Hello Gábor,

My name is Sai and I work with the Outlook.com Deliverability Support Team.

Since you have mentioned that the IP (178.48.31.XXX) was acquired few months agao, we request you to provide the proof which has the IP address that has been newly assigned to you along with the date of purchase.

The alternate way is we need a confirmation from your Host/ISP, an email stating about the IP address that was assigned to you and the exact date of purchase.

An email directly sent to EDFS@css.one.microsoft.com is sufficient. Also, please advise them to use SRX13151192XXXX as the e-mail subject for easy tracking.

I hope that the information I provided you was helpful. You may also find additional information on common delivery questions at the Outlook.com Postmaster site found at http://postmaster.live.com.

Sincerely,

Sai

Outlook.com Deliverability Support.
--
Rózsár Gábor (muszashi)

Majd ird ide legy szives, amikor *mukodik* is az emailkuldes felejuk.

Csak, hogy egy kb. napot lehessen saccolni. A vele toltott munkaorakrol ne is beszeljunk...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

greylisting mukodik manapsag ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

de vannak a tobbiek is, akik ellen viszont igen. Ill. nem is kell full featured greylist demon, akarmi, a postscreen (ha engedelyezett min. 1 deep protocol teszt), akkor a vegen eldobja a kapcsolatot, azaz egy szegeny ember szurkelistajat is megvalositja.

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Ezt is megakartam kerdezni:

Miert jo, hogyha az smtp szerver "bonyolult" domain nevet hasznal?
obs-zyl-smtp01.opsbears.com
obs-zyl-mailout01.opsbears.com

Miert nem siman mail.opsbears.com, mail2.opsbears.com ?

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Vannak cnamek a usereknek smtp.opsbears.com, imap.opsbears.com neven. A gepek nevei igy epulnek fel:

- obs: opsbears
- zyl: Zylon Internet
- smtp, mailout: szerep
- 01: gep sorszama

Igy ha at akarom migralni a szolgaltatast masik gepre, csak a cnamet kell atallitanom. A sajat halozatom search domainjei be vannak allitva az altalam uzemeltetett rendszerek domainjeire, igy eleg a gep rovid nevet beirni, egyertelmuen tudni lehet hogy hova fogok csatlakozni.

--
Pásztor János
Sole Proprietor @ Opsbears
Development Lead @ IXOLIT

A teljes zonara gondolsz? Az *picit* hosszu lesz. Na jo, nagyon. :) Mire vagy kivancsi?

A levelezesre vonatkozo publikus nevek:


obs-zyl-smtp01.opsbears.com. IN A     77.74.49.74
smtp.opsbears.com.           IN CNAME obs-zyl-smtp01.opsbears.com.

obs-zyl-mua01.opsbears.com.  IN A     77.74.49.71
imap.opsbears.com.           IN CNAME obs-zyl-mua01.opsbears.com.

opsbears.com.                IN MX    10 mx.opsbears.com.
mx.opsbears.com.             IN A     77.74.49.72
obs-zyl-mx01.opsbears.com.   IN A     77.74.49.72

Ez talan picit jobban elmagyarazza hogy hogy mukodik az infrastrukturam:

https://www.dropbox.com/s/yc5wxu7alit580j/mail-infra.001.png?dl=0

Az ok amiert igy mukodik viszonylag egyszeru: az Exim configba elegge bele lehet bonyolodni es konnyu elbaltazni ha az ember nincs kello keppen esznel. Ha egy szerver csak egy feladatot lat el, sokkal konnyebb a configjaban modositani. Kellemes mellekhataskent pedig szepen skalazodik a rendszer, mivel ha spamscan szamot akarok boviteni, fellovok plusz egy gepet, atirom a puppet configot es az MX(ek) maris tobb gepre tovabbitjak a leveleket. Az MX atveszi a leveleket (termeszetesen cimzett ellenorzessel DB-bol), majd tovabbitja a leveleket kapacitas fuggvenyeben a spamscanekre.

--
Pásztor János
Sole Proprietor @ Opsbears
Development Lead @ IXOLIT

Nekem per pillanat olyan hibam van (feljebb mar irtam), hogy outlook.com/exhcange online levelek nem jonnek meg a fo levelezoszerverre (TLS hiba).
Viszont a backup levelezo szerverre (fo: mail.domainem.hu, backup: mail2.domainem.hu), ami egy postfix-bol all, nem is probalkozik az exchange online.

Szoval az egesz backup levelezoszerver mindosszesen arra jo, hogy gyujti a spamet:(

Biztos en nezek be valami trivialisat, gondoltam elkerem a DNS beallitasaidat, hatha mar az alapok se jok... :(

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Lehet elni fogok a lehetosegen a jovo heten:)
Erre a hetre van meg egy 5letem, amit ki fogok probalni.

Egy elmeleti kerdes: ha a fo levelezoszerver valamilyen oknal fogva nem fogadja a levelet, akkor nem kellene a backup levelezoszerveren probalkoznia a kuldo felnek? Mert akkor lehet, hogy lenne ertelme atnezni a backup levelezoszervert...

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

az rfc szerint legalabb egyet meg kell probalni a backup mx-ek listajabol. Ami ezt nem tudja, az egyszeruen nem beszeli az smtp protokollt, max. dadogja...

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)