Google SMTP szervere RBL listán [MEGOLDVA]

Sziasztok!

Panaszkodott egy ügyfél hogy nem kap meg leveleket. Kutattam és kiderült, hogy azért nem kap meg sok levelet, mert a gmail smtp szervere RBL-ben van:

Aug 25 03:31:00 server postfix/smtpd[96658]: NOQUEUE: reject: RCPT from mail-oi0-f45.google.com[209.85.218.45]: 554 5.7.1 Service unavailable; Client host [209.85.218.45] blocked using dnsbl.sorbs.net; Currently Sending Spam See: http://www.sorbs.net/lookup.shtml?209.85.218.45; from= to= proto=ESMTP helo=

Ha kiveszem a dnsbl-t a szűrésekből akkor eláraszt a spam. Ha nem veszem ki, akkor a gmail-ről küldött összes levél elveszik. Ami elég nagy gond, mert sok ügyfél van aki onnan vár levelet.

Mit lehet ilyenkor tenni? :-(

Hozzászólások

átállsz postscreenre és negatív súllyal veszel fel fehér listákat, vagy csinálsz magadnak egy fehér listát.

Jaj és még egy nagyon érdekes dolog. A gmail-es feladó nem kap róla mailer daemon levelet. Egyáltalán semmit! Pedig a címzett SMTP szervere 554 5.7.1 hibát adott, ami permanens. Gmail-nek ilyenkor kötelessége lenne a választ megjeleníteni. De nem érkezik meg, még a spam mappába se!

Hát aki egy RBL alapján visszadob levelet, az ne csodálkozzon....

Én egy ideje pontozok és ha 1-2 RBL-en van a zillető akkor szürkelista, ha 3 vagy több RBL-en akkor visszadobom. Az RBL eredményeket 30-60 percig cache-elem is és így a névszerverek se kapnak szívbajt. :) Igaz én Exim-mel raktam ezt össze, de gondolom postfixnél is van erre mód.

+1

En egy kisebb mailszervert futtatok cca. 2500 cimmel, napi ~ 10-15k bejovo levellel (exim+spamassassin), konkretan stabilan a fele spam amit visszadobok, es megis jon be keretlen level.
Viszont ha emelem a szigorusagot akkor drasztikusan megno a fals pozitivok szama es sirnak az userek, szoval el kell fogadni hogy valamennyi mindig bejon.

Nincs benne nagy trükk, még lehet hogy "csúnya" is. :) Szóval teljesen Exim alapú és kell hozzá MySQL is a cache-hez.

Természétesen mindenki saját felelősségére használhatja, ahogy gondolja.

A logika szerint elsőre a cache-en akad fenn, aki épp rajta van, aki nincs ott megyünk tovább. A feketelisták igény szerint hangolhatóak, a cache működni fog, mert csak a végső pontszám számít. A változók szerintem elég egyértelműek és a normál eximes módon használhatóak. A téma szerinti google kivételezést értelem szerűen a blacklist_exception_hosts -ba felvétellel lehet elérni. Az érdemi részt a check_rcpt ACL-be, azaz annak megfelelőbe kell felvenni. A többi gyakorlatilag deklaráció és mehet a konfig elejére. Remélem nem maradt ki semmi. :)



DNSBL_CACHE_SELECT = SELECT score FROM dnsbl_cache WHERE sender_host_address = INET_ATON('${quote_mysql:$sender_host_address}') AND active = 1;

DNSBL_CACHE_UPDATE = REPLACE INTO dnsbl_cache (sender_host_address, score) VALUES (INET_ATON('${quote_mysql:$sender_host_address}'), ${quote_mysql:$acl_c_dnsblcount});

DNSBL_CACHE_ADDOPSBEARS = REPLACE INTO dnsbl_cache (sender_host_address, score) VALUES (INET_ATON('${quote_mysql:$sender_host_address}'), 9);

set acl_c_dnsblcount = 0
set acl_c_dnsbllist =

###
# DBS BL cache
##
deny    message = Policy restriction: $sender_host_address has been blacklisted! Please contact your system administrator!
        !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        condition = ${if or  { \
                { <{ 2 }{ ${lookup mysql{DNSBL_CACHE_SELECT}} } } \
                }{yes}{no}}
        log_message = DNSBL CACHE deny: $sender_host_address is in DNSBL cache!

defer   message = Policy restriction: $sender_host_address is listed at DNSBLs! Please contact your system administrator!
        !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        condition = ${if and { \
                { <{ 1 }{ ${lookup mysql{DNSBL_CACHE_SELECT}} } } \
                { >{ 3 }{ ${lookup mysql{DNSBL_CACHE_SELECT}} } } \
                }{yes}{no}}
        log_message = DNSBL CACHE defer: $sender_host_address is in DNSBL cache!

###

warn    !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        log_message = DNSBL: Protected SKY HIGH: $sender_host_address
        dnslists = bad.psky.me=127.0.0.3 :
        set acl_c_dnsblcount = ${eval:$acl_c_dnsblcount+1}
        set acl_c_dnsbllist = $acl_c_dnsbllist Protected Sky,

warn    !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        log_message = DNSBL: Barracuda Blacklist: $sender_host_address
        dnslists = bb.barracudacentral.org :
        set acl_c_dnsblcount = ${eval:$acl_c_dnsblcount+1}
        set acl_c_dnsbllist = $acl_c_dnsbllist Barracuda,

warn    !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        log_message = DNSBL: Spamhaus ZEN: $sender_host_address
        dnslists = zen.spamhaus.org :
        set acl_c_dnsblcount = ${eval:$acl_c_dnsblcount+1}
        set acl_c_dnsbllist = $acl_c_dnsbllist Spamhaus ZEN,

warn    !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        log_message = DNSBL: Spamcop BL: $sender_host_address
        dnslists = bl.spamcop.net :
        set acl_c_dnsblcount = ${eval:$acl_c_dnsblcount+1}
        set acl_c_dnsbllist = $acl_c_dnsbllist SPAMCOP BL,

warn    !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        log_message = DNSBL: PSBL: $sender_host_address
        dnslists = psbl.surriel.com :
        set acl_c_dnsblcount = ${eval:$acl_c_dnsblcount+1}
        set acl_c_dnsbllist = $acl_c_dnsbllist PSBL,

warn    !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        log_message = DNSBL: UCE Protect-1: $sender_host_address
        dnslists = dnsbl-1.uceprotect.net
        set acl_c_dnsblcount = ${eval:$acl_c_dnsblcount+1}
        set acl_c_dnsbllist = $acl_c_dnsbllist UCE Protect,

deny    message = Sorry, $sender_host_address is listed at DNSBLs: $acl_c_dnsbllist! Please contact your system administrator!
        !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        condition = ${if or  { \        
                         { <{ 2 }{ $acl_c_dnsblcount } } \
                      }{yes}{no}}
        continue = ${lookup mysql{DNSBL_CACHE_UPDATE}}
        log_message = DNSBL deny: $acl_c_dnsbllist ($acl_c_dnsblcount)

defer   message = Sorry, $sender_host_address is listed at DNSBLs: $acl_c_dnsbllist! Please contact your system administrator!
        !authenticated = *
        !domains = +spamlovers
        !hosts = +relay_hosts : +blacklist_exception_hosts :
        condition = ${if and { \
                    { <{ 1 }{ $acl_c_dnsblcount } } \
                    { >{ 3 }{ $acl_c_dnsblcount } } \
                }{yes}{no}}
         continue = ${lookup mysql{DNSBL_CACHE_UPDATE}}
         log_message = DNSBL defer: $acl_c_dnsbllist ($acl_c_dnsblcount)

Szia! Ezt dnsbl.sorbs.net ne használd. Folyton le van pusztulva. Elkapja a daráló és mindenre pozitív választ ad. Vagy két év leborultak, hónapokig pakolták visszafele az adatbázist.

b.barracudacentral.org
cbl.abuseat.org

Ez a kettő stabil, frissül. Nekem még van egy sajátom a magyar spamekre.

Itt találhattok jó kis RBL-eket: multirbl.valli.org

Érdemes nem csak blacklist-elni, hanem whiteliste-elni RBL alapján.

Egy kis postscreen... :) (Néhány döglött RBL-el... :) )


### POSTSCREEN ###

### WHITELIST HERE !!! ###
postscreen_access_list=permit_mynetworks, cidr:/etc/postfix/access/postscreen_whitelist.cidr

postscreen_blacklist_action=drop
postscreen_cache_cleanup_interval=1h
postscreen_cache_retention_time=25h
postscreen_cache_map=proxy:btree:${data_directory}/postscreen_cache
postscreen_dnsbl_action=enforce
postscreen_dnsbl_threshold=6
postscreen_dnsbl_sites=
#    zz.countries.nerd.dk=127.0.1.92*-2,
#    zz.countries.nerd.dk*0,
    hu.countries.nerd.dk=127.0.0.2*-2,
    pofon.foobar.hu=127.0.0.2*2,
    ispmx.pofon.foobar.hu=127.0.0.[0..255]*-4,
    hostkarma.junkemailfilter.com=127.0.0.1*-8,
    nobl.junkemailfilter.com=127.0.0.5*-8,
    hostkarma.junkemailfilter.com=127.0.1.1*-1,
#    list.quorum.to=127.0.0.1*-1,
#    list.quorum.to=127.0.0.2*2,
#    list.quorum.to=127.0.0.3*-1,
#    list.quorum.to=127.0.0.4*2,
#    list.quorum.to=127.0.0.5*-1,
#    list.quorum.to=127.0.0.6*2,
    list.dnswl.org=127.0.[0..6].[1..255]*-8,
    list.dnswl.org=127.0.[7..14].[1..255]*-1,
    list.dnswl.org=127.0.15.[1..255]*1,
    ips.whitelisted.org*-1,
    whitelist.rbl.ispa.at*-1,
    virbl.dnsbl.bit.nl*6,
    bl.spamcannibal.org,
    hostkarma.junkemailfilter.com=127.0.0.2*3,
    hostkarma.junkemailfilter.com=127.0.0.3*2,
    hostkarma.junkemailfilter.com=127.0.0.4,
    hostkarma.junkemailfilter.com=127.0.1.2*2,
    b.barracudacentral.org=127.0.0.2*2,
    bb.barracudacentral.org=127.0.0.2*2,
    bl.spamcop.net*2,
    blackholes.easynet.nl*2,
    cbl.abuseat.org*2,
    cidr.bl.mcafee.com*6,
    db.wpbl.info*2,
#    dnsbl.aspnet.hu*2,
    dnsbl.inps.de*2,
    dnsbl.justspam.org=127.0.0.2*2,
    dnsbl.sorbs.net*2,
    dnsbl-1.uceprotect.net*2,
    dob.sibl.support-intelligence.net*2,
    ix.dnsbl.manitu.net,
    proxies.blackholes.wirehub.net*2,
    proxies.dnsbl.sorbs.net*2,
    recent.spam.dnsbl.sorbs.net*2,
    new.spam.dnsbl.sorbs.net,
    psbl.surriel.com,
    rbl.abuse.ro,
    rhsbl.sorbs.net*2,
    score.senderscore.com=127.0.4.[80..100]*-6,
    score.senderscore.com=127.0.4.[70..79],
    score.senderscore.com=127.0.4.[60..69]*2,
    score.senderscore.com=127.0.4.[30..59]*4,
    score.senderscore.com=127.0.4.[0..29]*6,
    spam.dnsbl.anonmails.de=127.0.0.2*2,
    zen.spamhaus.org=127.0.0.[2..11]*6,
    zen.spamhaus.org=127.0.1.[0..255]*6,
    zen.spamhaus.org=127.0.2.[0..255]*-6
postscreen_dnsbl_whitelist_threshold=-3
#postscreen_greet_action=enforce
postscreen_greet_banner=Slooooooooow down...
postscreen_greet_ttl=1h
postscreen_greet_wait=${stress?2}${stress:4}s

### DEEP TESTS ###
postscreen_bare_newline_action=enforce
postscreen_bare_newline_enable=no
postscreen_bare_newline_ttl=1h

postscreen_non_smtp_command_action=enforce
postscreen_non_smtp_command_enable=no

postscreen_pipelining_action=enforce
postscreen_pipelining_enable=no

--
Debian Linux rulez... :D
RIP Ian Murdock