RBL serveris paša spēkiem

RBL jeb Real-time Blackhole list palīdz e-pasta servisiem cīnīties ar spamu, ja jums ir uzradies spameris ar konkrētu ip, no kuras tiek spamots, tad pievienojat šo ip šim servisam, un no šīs ip jūsu mailserveris nevarēs pieņemt e-pastus. Manis paša mailserveris izmanto vairākas šādas publiskas listes, piemēram, opm.blitzed.org, list.dsbl.org, bl.spamcop.net, sbl-xbl.spamhaus.org. Tomēr šad tad nākas kādu ip nobanot, un lai to ātrāk izdarītu tika izdomāts izveidot savu RBL servisu, ne šim serverim, bet darbā lielajiem apollo e-pasta serveriem. Tālāk pastāstīšu kā to izdarīt izmantojot Gentoo linux. Protams uz citiem distributīviem viss notiekas aptuveni tāpat.

Vispirms mums ir nepieciešams RBL serveris, ņemam talkā google un atrodam vienu tādu ar nosaukumu RBLDNSD, kas ir praktiski viens ko es atradu, tad arī izmantosim šo.

Meklējam portage kokā, jā ir, tikai maskēts, tātad jānoņem maskēšana.

<br /> echo "net-dns/rbldnsd" >> /etc/portage/package.keywords<br />

tālāk protams uzliekam šo softu

<br /> emerge rbldnsd<br />

tālak mums būtu nepieciešamība uzlikt pareizos dns ierakstus, lai viss mums darbotos. (aizvietojam mydomain.lv ar mūsu izvēlēto domēnu, un ip adresi 10.10.10.10 ar ip adresi serverim uz kura mēs šo serveri liksim). P.S. protams ar bind var savienot, bet labāk ieteiktu to nedarīt.

<br /> rbl.mydomain.lv. IN NS rbl.mydomain.lv.<br /> rbl.mydomain.lv. IN A 10.10.10.10<br /> rbllist.mydomain.lv. IN A 10.10.10.10<br />

rbllist.mydomain.lv būs nepieciešams web interfeisam, jo pats rbl.mydomain.lv netiks atrasts.

Nākošais solis ir mums būtu nepieciešamība uztaisīt testu, vai mums viss darbojas.

veram vaļā failu /var/db/rbldnsd/spammerlist un ievietojam tajā šādas rindas:

<br /> $SOA 1800 rbl.mydomain.lv hostmaster.mydomain.lv 0 600 600 300 600<br /> $NS 86400 rbl.mydomain.lv<br /> :127.0.0.2:Known spammer, see http://rbl.mydomain.lv/index.php?id=$<br /> a.b.c.d.<br />

aizvietojot a.b.c.d ar ip adresi kuru izmantosiet testam.

nākošais solis ir palabot palaisšanas opcijas, tādēļ veram vaļā failu /etc/conf.d/rbldnsd un meklējam OPTIONS (10.10.10.10 aizvietojam ar ārējā interfeisa ip adresi)

<br /> OPTIONS="-q -r /var/db/rbldnsd -b 10.10.10.10 \<br /> -u rbldns -p /var/run/rbldnsd.pid -l rbl.log \<br /> rbl.mydomain.lv:ip4set:spammerlist"<br />

ja tas ir izdarīts, startējam pašu rbldnsd

<br /> /etc/init.d/rbldnsd start<br />

un tad mēs varam pārbaudīt vai mums šis serviss darbojas ar komandu:

<br /> dig d.c.b.a.rbl.mydomain.lv @10.10.10.10 any<br />

rezultātā jābūt būtu ierakstiem

<br /> d.c.b.a.rbl.mydomain.lv 2100 IN A 127.0.0.2<br /> d.c.b.a.rbl.mydomain.lv. 2100 IN TXT "spam received, see http://rbl.mydomain.lv/lookup?a.b.c.d"

tālak mums būtu nepieciešams, lai šo datubāzi mēs varētu ērti un ātri mainīt, tam mums uz šī servera būs nepieciešams mysql serveris un apache+php serveris.

izveidojam datubāzi teiksim rbl, un tad uztaisam nepieciešmo tabulu

<br /> CREATE TABLE `ips` (<br /> `ipaddress` varchar(15) NOT NULL default '',<br /> `dateadded` datetime NOT NULL default '0000-00-00 00:00:00',<br /> `reportedby` varchar(40) default NULL,<br /> `updated` datetime default NULL,<br /> `attacknotes` text,<br /> `b_or_w` char(1) NOT NULL default 'b',<br /> PRIMARY KEY (`ipaddress`),<br /> KEY `dateadded` (`dateadded`),<br /> KEY `b_or_w` (`b_or_w`)<br /> ) ENGINE=MyISAM DEFAULT CHARSET=utf9 COMMENT='spammer list';<br />

nākošais solis novelkam perl skriptu, kurš atjaunos failu no datubāzes

<br /> wget -O /usr/local/bin/rebuild_rbldns.pl http://www.blue-quartz.com/rbl/rebuild_rbldns.txt<br /> chmod 750 /usr/local/bin/rebuild_rbldns.pl<br />

tad atveram šo skriptu un palabojam skripta sākumā esošos konfigurācijas iestatījumus, un tad sameklējam šādu rindiņu:

<br /> print RBL ":127.0.0.2:Known spammer, see http://$rbl_domain/index.php?id=\$\n";<br />

un tad pirms šis rindas pieliekam vēl divas

<br /> print RBL "\$SOA 1800 rbl.mydomain.lv hostmaster.mydomain.lv 0 600 600 300 600\n";<br /> print RBL "\$NS 86400 rbl.mydomain.lv\n";<br />

tad ieliekam crontabā šo skriptu:

<br /> */5 * * * * /usr/local/bin/rebuild_rbldns.pl<br />

nu lūk, mūsu privātais rbl serveris gatavs, atliek pielikt tikai savam MTA lai tiek šekoti uz šo serveri klienti un viss darbojas.

P.S. Web klientu nepiedāvāšu, jo manas līkās roķeles tur slikti ir uzrakstījušas.

 
comments powered by Disqus