Postontzia garbi nahi dut

Zabor-postaren aurkako borroka

Harro eta aske, horrela sentiarazten nau nire posta zerbitzariak. Postfix eta Dovecot ditu oinarrian. MariaDB datubasea erabiltzaileak, aliasak eta domeinu birtualak kudeatzeko. Outlook, Gmail, Yahoo eta horrelako zerbitzuekiko menpekotasunak alde batera laga eta kontrola norberaren esku izateak ez du preziorik. Norberaren mezuak norberaren esku.

Ez da dena larrosa kolorekoa ordea, buruko minik ere sortzen du. Zerbitzariaren TLS ziurtagiriak eguneratuta mantendu behar dira, IP helbide finkorik kontratatu ezean DNS dinamikoak kudeatu behar dira, spoofing-a ekidin eta zerrenda beltzetan ez erortzeko DKIM, DMARK eta SPF erregistroak behar bezela konfiguratu eta mantendu behar dira, eta nola ez! sarrera ontziak SPAM mezuz bete ez daitezen borroka amaigabean jardun behar da.

Borroka horretan hain zuzen ere, Rspamd erabiltzen dut. Honek zerbitzarian sartzen diren mezu guztiak iragazten ditu, hainbat irizpideren araberan aztertu eta puntuatu egiten ditu, mezuak sarrerako ontzira edo JUNK ontzira igorri behar dituen erabakiz. Gainera, mezuak galbahetik iragazten dituen eran trebatzen joaten da, geroz eta eraginkorragoa bihurtuz. Tresna bikaina da zalantzarik gabe, azken boladan ordea, mezu baztergarrien kopuruak lanez lepo daukala irudituta, babes-neurriak areagotu ditut, scammer-ek baliatzen dituzten domeinuak blokeatuz.

blacklist

SPAM edo JUNK ontzian amaitzen duten mezuen jatorriko domeinu izenekin blacklist zerrenda bat osatu dut. Ondoren Postfix-i zerrenda horretan begiratzeko esan diot. Postfix-ek domeinu horietatik datozen mezu guztiak baztertuko ditu eta akats-mezu bat igorriko die bidaltzaileei, bazterketaren arrazoiak adieraziz. Zerrenda MariaDB(mysql)-en gorde dut blacklist izeneko taula batean.

idsenderactionmessage
1example.comREJECTZure helbidetik SPAM mezuak iristen ari dira :(

Postfix-ek datubase mota desberdinak erabiltzeko aukera ematen du. Kasu honetan sql motakoa erabili den arren, textu fitxategi baten bidez gauza bera egin ahal izango litzateke.

postfix

/etc/postfix/main.cf konfiguraketa fitxategian ondorengo ilarak txertatu:

smtpd_sender_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unknown_sender_domain
    reject_unknown_reverse_client_hostname
    reject_unknown_client_hostname
    check_sender_access mysql:/etc/postfix/mysql-sender-access.cf, permit

/etc/postfix/mysql-sender-access.cf fitxategia sortu. Bertan datubaserako sarbidea eta query-a zehazten dira:

user = erabiltzailea
password = pasahitza
hosts = 127.0.0.1
dbname = mailserver
query = SELECT CONCAT(action, IF(message IS NULL OR message = '', '', CONCAT(' ', message))) FROM blacklist WHERE sender = '%s' LIMIT 1

Gogoan izan, segurtasunagatik, fitxategi honi baimen eta jabetza egokia eman behar zaizkiola, adibidez:

sudo chmod 640 /etc/postfix/mysql-sender-access.cf
sudo chown root:postfix /etc/postfix/mysql-sender-access.cf

Utikan zabor-posta!