Hello,
Egy érdekes problémába futottam bele. Az egyik mailfiókomból ömlik a spam kifele. Exim logban ezt látom:
2015-11-03 09:38:21 1ZtX6j-000Brg-7V < = mail@cimem.hu H=static.71.8.9.5.clients.your-server.de ([127.0.0.1]) [5.9.8.71] P=esmtp S=1421 id=623E85EA-55B0-133E-B059-5C75461DFD57@cimem.hu
2015-11-03 09:38:21 1ZtX6j-000Brg-7V no immediate delivery: more than 10 messages received in one connection
2015-11-03 09:38:21 1ZtX6j-000Bsn-7d < = mail@cimem.hu H=static.71.8.9.5.clients.your-server.de ([127.0.0.1]) [5.9.8.71] P=esmtp S=1403 id=AD0E4D71-F074-3BEB-76F7-49DA48DE0071@cimem.hu
2015-11-03 09:38:21 1ZtX6j-000Bso-7c < = mail@cimem.hu H=static.71.8.9.5.clients.your-server.de ([127.0.0.1]) [5.9.8.71] P=esmtp S=1344 id=o2d8o67-nfc792-AC@ciemm.hu
A jelszavamat már megváltoztattam, ennek ellenére tovább jön a ganaj.
netstat -t -u azt mutatja, hogy SMTP-n jön be még mindig a cucc:
tcp 0 0 serverem:smtp static.71.8.9.5.c:33286 ESTABLISHED
A szerver nem open relay, mégis rajtam keresztül megy ki a szemét.
E-mail fejléc:
http://pastebin.com/t7A4Sd6p
Mit nézek félre?
update:
Az SMTP auth-al van a gond, hogy a cucc nem kéri be a felahsználónevet, jelszót SMTP csatlakozáskor. Ezzel mit tudok kezdeni?
- 2538 megtekintés
Hozzászólások
Hello!
Ez alapján pedig openrelay onnan ahonnan a kedves delikvens szórja a spam-et. És ahogy látom auth nélkül küldi ki.
A konfigban a host_accept_relay tartalma mi?
Meg egyéb mail elfogadással kapcsolatos rule-okban nincs egy ott felejtett accept warn helyett?
egy
iptables -I INPUT -s 5.9.8.71 -j DROP
biztos jól este a gépnek meg az IP reputációdnak...
- A hozzászóláshoz be kell jelentkezni
iptables már megvolt, de az eredeti problémát akarom kideriteni hogy miért jött be egyáltalán ez a cucc.
hostlist relay_from_host-ban két általam használt ip van megadva.
mxtoolbox teszten az email server átmegy:
SMTP Reverse DNS Mismatch OK - x.x.x.x resolves to mail.cimem.hu
SMTP Valid Hostname OK - Reverse DNS is a valid Hostname
SMTP Banner Check OK - Reverse DNS matches SMTP Banner
SMTP Connection Time 1.031 seconds - Good on Connection time
SMTP Open Relay OK - Not an open relay.
SMTP Transaction Time 3.438 seconds - Good on Transaction Time
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
próbálj meg levelet beletolni az exim-edbe cli-ben:
exim -bh 5.9.8.71
és szerintem gyorsan ki fog bukni hogy hol a gubanc
- A hozzászóláshoz be kell jelentkezni
Kimenet ugyanazzal a feladóval ahonnan a spam tőlem kimegy:
http://pastebin.com/3krBCRgF
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
Beállítottad, hogy mindig accept legyen ha te vagy a feladó :)
Bárhonnan, bármikor, bárki.... itt a gond
- A hozzászóláshoz be kell jelentkezni
Ma nem fog az agyam, pls fejtsd ki kicsit bővebben.
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
sender whitelisten van az email címed, lsd. 61. sor.
- A hozzászóláshoz be kell jelentkezni
A pastebin-esben elég sok érzékeny információ maradt, szerintem nézd át.
Itt fogadod el a levelet (valami alapján):
>>> check condition = ${lookup mysql{select address from allowed_addresses where domain = '$sender_address_domain' and '$local_part@$domain' like replace(address,'*','%')}{yes}{no}}
>>> = yes
>>> accept: condition test succeeded
250 Accepted
És szerintem az a baj, hogy host-ra nem szűrsz, hanem ha valós (nálad szereplő) feladó van a mail from után, akkor elfogadod. Ezt korlátoznod kellene host-ra és/vagy valamilyen autentikált módra.
szerk: vagy whitelist az is lehet.
- A hozzászóláshoz be kell jelentkezni
Egyik sem talált. A hiba abból adódik, hogy nincs SMTP auth. Hiába van beállitva az saslauthd. A szerver meg se kérdezi a usernevet és pw-t. Igy amikor a jó feladó cimet adja meg a spamküldő, akkor megy. Nem értem... Mármint azt nem, hogy az auth miért nem megy:
/etc/exim4/conf.d/auth/30_exim4-config_examples:
plain_saslauthd_server:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
server_set_id = $auth2
server_prompts = :
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
#
login_saslauthd_server:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
# don't send system passwords over unencrypted connections
server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
server_set_id = $auth1
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
update:
Kirpbóáltam sima Plain módban is és úgyse dobja be.
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
Az SMTP auth _nem_ kötelező elem, csak opció.
Gondold el, hogy egy Szavtopluk idejéből itt maradt muzeális értékű mail szerverről pont neked akarok levelet küldeni. Hát melyik mélszerver vegye már át, ha nem a tied?! Ha egyszer a címzett nálad van, akkor más nem veheti át! Na de ettől az ősöreg maradványtól miért is várnánk authentikációt? Sőt! Miért is akarnánk bármiféle authentikációt bárkitől, aki neked levelet akar írni?
Tehát ott kezdődik a dolog, hogy a minimum, hogy a kliens EHLO-val köszönjön, mert HELO esetén régi protokollt használ, abban nincs is authentikáció.
Ott folytatódik, hogy EHLO esetén a mélszervered felsorolja az opciókat, amiket támogat. Itt szerepelhet AUTH, a kapcsolat titkosítására STARTTLS, stb. Tehát ha az érdekelne, hogy hajlandó-e a szervered authentikációra, akkor telnet 127.0.0.1 25, megvárod hogy köszönjön, majd te is köszönsz neki EHLO-val és megnézed, hogy milyen opciókat sorol fel? Ha az AUTH nincs benne, akkor annak lehet az is oka, hogy PLAIN/TEXT authentikáció nem engedélyezett. Ekkor lehet, hogy van STARTTLS. Ezt már kicsit macerásabb kibpróbálni: openssl s_client -connect 127.0.0.1:25 -starttls smtp. Ekkor a plain/text részt, majd a titkosított kapcsolat kihúzását elvégzi neked az openssl, kezdheted újra a játékot. Ismét be kell mutatkozni, mert a TLS kihúzásával újraindul a protokoll. Ismét beköszönsz neki EHLO-val. Ha itt sincs AUTH az opciók közöt, akkor ... akkor valóban nem akarja az igazságot az exim.
- A hozzászóláshoz be kell jelentkezni
Félig talált, mert kb. ugyanazt írtad le amit én, csak más szavakkal ("ha valós (nálad szereplő) feladó van a mail from után, akkor elfogadod.")
Itt nem a saslauthd konfig a probléma, hanem hogy a saját email címeidről elfogadod a levelet bárhonnan anélkül, hogy az saslauthd-hez kerülne.
Én az eximet nem igazán ismerem, de az én postfix konfigom releváns része zanzásítva így néz ki:
permit_mynetworks
permit_sasl_authenticated
check_sender_access hash:/.../special_senders
check_client_access hash:/.../special_ips
reject_rbl_whatever
reject_whatever
...
reject_or_permit
Vagyis a részei, mert több helyen is szerepelhetnek ezek a dolgok (client, sender, recipient, relay), de a lényeg ez. És ezek mindegyike opcionális, ha a sorrendben az n. szabály tüzel rá, akkor eldől hogy elfogadom vagy eldobom, egyébként pedig megy a n+1.-re.
Szóval saslauthd nélkül is elfogadod a levelet valahol, ahol a feladó stimmel. Vagyis vagy permit a végső szabályod, azaz gyakorlatilag openrelay vagy (de itt szerintem nem ez a helyzet), vagy van valahol a fentihez hasonló "check_sender_access hash:/.../special_senders" típusú dolog, ahol feladó alapján döntesz. A pastebin log-ban látszik, hogy mi alapján fogadod el, arrafelé kellene keresgélned.
(Én ezt szabályt amúgy két dologra használom: vagy a honlap36ezerért@pistike.com feladókat tiltom vele, vagy pedig a trehányul konfigolt, nem fqdn feladókat engedélyezem, pl. root@valamiserver3, bár ez utóbbiakat ahol tudom inkább rendbeteszem.)
- A hozzászóláshoz be kell jelentkezni
Már értem, köszi. Végülis akkor open relay, ha létező cimet adnak meg feladónak. Ha xy@kutya.hu cimet adnak meg, akkor egyből Relay denied üzenettel dobja ki a picsába.
Ezt hogy tudom átfaragni, hogy ne igy legyen?
Ezt nem tőled kérdezem persze, hanem a többiektől is :)
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
A log alapján itt fogadod el:
check condition = ${lookup mysql{select address from allowed_addresses where domain = '$sender_address_domain' and '$local_part@$domain' like replace(address,'*','%')}{yes}{no}}
Szerintem ha ezt a feltételt kiveszed akkor el kellene dobnia (legalábbis az alapján, amit a logból ki tudok hámozni egy általam ismeretlen mta-ból). Aztán a fene tudja, hogy hogy is van konfigolva.
- A hozzászóláshoz be kell jelentkezni
Az a sor elvileg arra van, hogy milyen cimre küldhet és miylen cimről fogadhat el levelet az adott user.
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
Gyakorlatilag viszont itt lesz accept a feltételsor.
- A hozzászóláshoz be kell jelentkezni
az eximet annyira nem vagom, de szvsz itt feljebb arra probaltak utalni a kollegak, hogy elobb elfogadod a sajat felados levelet, minthogy a konfig rafutna az authra.
sendmailban, postfixben ezt siman megoldom, miert pont az exim lenne a kivetel ?
- A hozzászóláshoz be kell jelentkezni
Még mindig az a gondod, hogy semmilyen auth-ot nem kapcsoltál be.
Fentebb leírták, ha EHLO-val ránézel a szerverre, nincs AUTH válasz.
Mivel megadtad a domain nevedet, ránéztem ssl-el is, a válasz:
openssl s_client -connect mail.[tenagyontitkosszervered].hu:25 -starttls smtp
CONNECTED(00000003)
didn't found starttls in server response, try anyway...
Bocs a kérdésért, de lehet, hogy nem jó konfigot turkálsz ? Ha engedélyezed a config fájl darabolását (best practice!) akkor a templatebe hiába írkálsz át bármit.
"Már értem, köszi. Végülis akkor open relay, ha létező cimet adnak meg feladónak. Ha
xy@kutya.hu
cimet adnak meg, akkor egyből Relay denied üzenettel dobja ki a picsába.
Ezt hogy tudom átfaragni, hogy ne igy legyen?"
Többen leírtuk, itt a baj: ${lookup mysql{select address from allowed_addresses where domain = '$sender_address_domain' and '$local_part@$domain' like replace(address,'*','%')}{yes}{no}}
- A hozzászóláshoz be kell jelentkezni
jót szerkesztek:
/etc/exim4/conf.d/main/03_exim-config-tlsoptions
De nem működik....
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
Skacok, ahelyett, hogy a hiba helyet hajtjuk, mutassatok mar egy mukodo SMTP auth konfigot, mert szeritnem ez az egesz ott feneklett meg, hogy a topicnyito nem latja at ennyire az Exim mukodeset (btw: en sem). Ha csak korbe-korbe jarkalunk, abbol nem lesz megoldas, raadasul az Exim ket fokkal bonyolultabb a Postfixnel, a boldogsaghoz sokszor nem eleg egy parameter atutese.
Hogy konstruktiv is legyek, ez az egesz oldal errol szol: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-smtp_authen…
Ha jol ertem, itt egy fokkal bonyolultabban csinaljak meg az egeszet: https://github.com/Exim/exim/wiki/AuthenticatedSmtpUsingPamAndPasswords
Amit tippkent tudok adni: mindig, minden egyes konfig allitas utan ellenorizz ket dolgot: 1) az EHLO visszaadja-e lehetosegkent az AUTH-ot, 2) egy kulso geprol nezd meg, hogy a RCPT TO utan elhajt-e a verbe a szerver, ha nem nalad levo cimre akarsz kuldeni.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Ez itt egy jó meglátás, mivel postfixet használok mindenhol, ezt az eximet pedig örököltem és a postfixtől teljesen eltérő a config felépitése... :S
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
El kell akkor döntened, hogy meg akarod-e tanulni az eximet, és rászánod-e azt a kb. egy napot, amíg a kipofozás (és beletanulás) eltart (szerintem érdemes). Ha nem, akkor le kő cserélni arra, amit ismersz.
Az exim totál logikusan konfigurálható, ha egyszer beleszagolsz, rájössz, hogy szinte bármilyen policy-t le lehet kódolni a konfigjában. De az reálisan nem fog menni, hogy hozzáértés nélkül, 5 perc alatt valamit belehekkelni.
- A hozzászóláshoz be kell jelentkezni
Igen, ez az a blabla, amit nagyjabol mar unasig ismer mindenki, aki kicsit is kozelebe kerult az Eximnek.
Viszont egyvalamiben tevedsz: nem mindig lehet csak ugy ukk-mukk-fukk lecserelni egy SMTP szervert, foleg, ha egy olyan rendszerrol van szo, amit nem te csinaltal, csak atvettel, es uzemelteted. Raadasul erosen cegfuggo, hogy mennyire tamogatjak a torekveseidet ez ugyben, mert fonoki szinten kb. leszarjak, hogy mivan mogotte, ha nincs megallas. De egy SMTP szervert leallasok, es reszelesek nelkul - foleg ha meg se nagyon erted az elozonek a konfigjat - kicserelni nem lehet. Az pedig valoszinuleg kivaltkeppen nem opcio, hogy egy ilyen hiba addig fenn alljon, amig a Postfixes konfigot ossze nem reszeli a topicnyito.
Ahelyett, hogy generikusan meselsz a dolgorol, mi lenne, ha a konkret megoldasra adnal neki tippeket? Lehet, hogy nem hulye ember o, csak mivel nem ismeri, nem tudja, hol kellene elkezdenie a keresgelest. Ezert vetettem fel, hogy esetleg egy mukodo konfig, vagy az SMTP auth mukodesenek reszletes kifejtese kozelebb vinne a topicnyitot a temahoz (mert hiszen neki most ez nem mukodik), mint barmilyen magasroptu peldabeszed.
Felreertes ne essek, nem veled van bajom, ugy generikusan az Exim kozosseggel. Meg _sosem_ kaptam relevans valaszokat, amikor Eximmel kapcsolatban kerdeztem, mindig csak azt, hogy "hat kezdj el beletanulni, es akkor majd rajossz magadtol is, hogy hol a hiba". Persze, ha egy jatszos rendszeren lenne, en is igy kozelitenem meg a problemat, de egy elo production rendszernel altalaban nincs 1-2-4 hetem egy hiba megoldasara (munka mellett kb. ennyi egy rendszerrel megismerkedni), hanem annal valamivel hamarabb kell megoldanom a problemakat.
"De az reálisan nem fog menni, hogy hozzáértés nélkül, 5 perc alatt valamit belehekkelni."
De, egyfelekeppen megy az ilyesmi: ha bemutatnak egy tutira mukodo, valos eletbeli peldat, es nagy vonalakban elmagyarazzak, hogy honnet-hova megy a vezerles. Nem mindenki ostoba, aki Postfixet hasznal am, van sok intelligens emberek is ebben a korben (oke, en pont nem :-) )!
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
1. Konkrét megoldást nyilván _senki_ nem tud adni, mert senki se ismeri az adott konfigot. Arra már többen és többször rámutattunk, hogy hol fogadja el azt a levelet, amit nem kellene elfogadnia.
2. Konkrét működő konfigot, tutorial-t, leírást meg minden apámf.szát szerintem talál annyit a neten, amennyit csak akar. Hadd ne guglizzam már én ki más helyett a megoldást, hadd ne tartson már itt valaki "exim konfigolás kezdőknek" tanfolyamot, amikor egyrészt tele van ilyennel a net, másrészt pedig ez a fórum nem erről szól. És ugye bohóckodhatunk itt smtpauth-tal, de a probléma _elsősorban_ az, hogy az exim elfogad egy olyan levelet, amit normálisan el kellene dobnia (hacsak nincs smtpauth, de első körben nyilván a spam-melés lehetőségét kellene megszüntetni, utána jöhet majd az smtpauth).
3. Nézd, 6 napja nyitotta a topic-ot. 6 nap alatt azért elég sok dolgot meg lehet tanulni, de legalábbis valamennyire megismerni. Én pl. ez alatt a 6 nap alatt többet tanultam az exim-ről, mint amit valaha tudtam. :)
- A hozzászóláshoz be kell jelentkezni
2) az Exim ilyen szempontbol olyan mint a Postfix, valoban tele van a net tutorialokkal, de megfelelo ismeretek hianyaban az ember akkora okorsegeket olvashat ezekben, hogy csuhaj. Tudom, mert probaltam, utana probaltam utanaolvasni a tutorialban szereplo dolgoknak az Exim manualban, es rajottem, hogy hatarozottan nem erre van szuksegem. Raadasul a peldakrol elegge leritt, hogy nem igazan eletszagu konfigok, es a leiras meg nem volt eleg reszletes, hogy pl. felfedje, hol lehet belenyulni istenigazabol. Mivel ahhoz nem ismertem elegge az Eximet, h egy teszt rendszert osszerakjak belole (es nem is igen volt erre idom), szuletett valami Eximen kivuli workaround a problemara, es kesz. Korabban a Postfixszel ugyanigy voltam, aztan itt a HUP-on par emberke raszanta az idot, es felokositott a Postfix mukodesebol, illetve mutatott par _valoban_ hasznos leirast rola (amit magamtol nem talaltam volna meg), ahol peldakkal reszletesen be volt mutatva az adott alrendszer mukodese. Sajnalatos modon a Google nem a tutorial hasznossaga alapjan rangsorolja a talalatokat, hanem az azt hostolo oldal SEO-ja alapjan, aminek semmifele relevanciaja nincsen a tutorial minosegere.
Raadasul attol, hogy a net "tele van mindenfele peldakkal", keves az, amelyik igazan igenyesen van megirva, es hasznalhato. Nekem van par ilyen bookmarkom, azokat mindig nagyon szivesen megosztom azokkal, akik infot keresnek es segitseget kernek. Ez annyiban tobb, mint a LMGFY, hogy egy olyan leirast linkelek, ami alapjan en _tudom_ hogy az adott problema megoldhato - vagy legalabbis megertheto. Persze nem mindenkinek van ilyen, de ha van, en nem bizom a veletlenre a dolgot.
3) En meg pl. ez alatt a 6 nap alatt 3 kulonbozo projekten dolgoztam, ezen felul egy csomo problemat megoldottam, es az Eximrol csak annyit tanultam, ami ebben a topicban elhangzott. Az, hogy neked pont volt idod az Eximrol tanulgatni, az egy dolog, de lehet, hogy ezzel nem mindenki van igy.
Egyre inkabb kezdem megerteni, miert nem preferralt a StackOverflow-on (es a kapcsolodo site-okon) egyszeruen csak belinkelni egy tutorialt/manualt a relevans resz kiemelese nelkul.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Ne karatézzatok, a hibákat megoldottam. Van már SSL és AUTH is ráadásul. Már eldobálja a leveleket, nem küld ki minden szart.
Köszönöm a releváns hozzászólásokat, és azoknak is köszönöm, akik jelenlétükkel emelték a topic fényét.
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
Nem karatézunk.
És ha már sikerült megoldani a problémát, akkor kérlek oszd meg az olvasókkal, hogy mi volt a probléma, hátha másnak is hasznos lesz ez.
- A hozzászóláshoz be kell jelentkezni
2. nemtom, én általában megtalálom a megfelelő tutorial-okat, vagy épp a hivatalos doksiban találom meg a hasznos infót.
3. én is csak annyit tanultam az exim-ről, ami itt le volt írva. Eddig kb. annyi közöm volt hozzá, hogy egyszer egy exim-en átállítottam a smarthost-ot.
- A hozzászóláshoz be kell jelentkezni
postfix... azoknak való, akik nem szeretik a kihívásokat ;)
Először a PLAIN auth-ot tedd rendbe, HA már visszaAUTH-ol a helóra, csak utána próbálkozz a saslauth-al.
- A hozzászóláshoz be kell jelentkezni
küzdök vele. Hiába van a jó configban baszik bedobni...
-------------------------
Dropbox refer - mert kell a hely: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni