Levantando tú propia lista negra de email
Y como poner en jaque a los spammers montando esto en Internet por menos de lo que cuesta un completo y una bebida cada mes
A muchos de nosotros nos parece que el uso y abuso del spam supera todo limite razonable, y nos gustaría tener nuestra propia lista negra, pues eso no solo es posible también es fácil!
Paso 1: Descarga la RBL DNS Daemon
Utilizamos rbldnsd, en la página del autor hay algunos manuales que pueden ser de utilidad
Descargar el servidor rbldns:
- RHEL 4 / CentOS 4 rbldnsd RPM ver. 0,995
- RHEL 5 / CentOS 5 rbldnsd RPM ver 0,995
- Fuente rbldnsd RPM ver 0.996b
Paso 2: Desactivar cualquier servidor DNS existente
Asegúrese de que no tiene otro servicio DNS ejecutándose. utilice
service named stop
para detenerlo, puede además usar chkconfig para que named no vuelva a arrancar cuando se reinicie el sistema.
Paso 3: Instalar el RPM
Cree al usuario
useradd rbldns
Instale el RPM
rpm -Uvh rbldnsd*.rpm
Paso 4: Crear una tabla de MySQL
Asegúrese de que el servidor MySQL está en funcionamiento. Ingrese a MySQL, cree una base de datos, asigne los permisos de insert y delete, y cree la siguiente tabla:
CREATE TABLE `ips` ( `ipaddress` varchar(40) NOT NULL default '', `dateadded` datetime NOT NULL default '0000-00-00 00:00:00', `reportedby` varchar(40) default NULL, `updated` datetime default NULL, `attacknotes` text, `b_or_w` char(1) NOT NULL default 'b', PRIMARY KEY (`ipaddress`), KEY `dateadded` (`dateadded`), KEY `b_or_w` (`b_or_w`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='spammer list';
Paso 5: Descarga el script en Perl que vuelve a generar el archivo plano a partir de una base de datos MySQL
El software de DNSRBL que instalamos no tiene soporte de base de datos, para hacerlo compatible volcaremos los datos de la base sobre un archivo de configuración cada cierto tiempo
Ponga el script en /usr/local/bin
wget -O /usr/local/bin/rebuild_rbldns.pl http://www.blue-quartz.com/rbl/rebuild_rbldns.txt chmod 750 /usr/local/bin/rebuild_rbldns.pl
Tendrás que poner esto en el cron como root y ejecutar cada 5 minutos (puedes configurar otro lapso de tiempo si lo deseas)
crontab -e
*/5 * * * * /usr/local/bin/rebuild_rbldns.pl
Por favor, modifique las líneas 25-27 de este script en Perl para cambiar su usuario y contraseña de MySQL.
Paso 6: Editar el archivo de configuración /etc/sysconfig/rbldnsd
# My boot rbldnsd options # ----------------------------------------- # TTL 35m, check files every 60s for changes, -f = smooth reloads # -l logfilepath # Please change 101.102.103.104 to your real public IP that you want the dns daemon to listen on # Please change mydomain.com to your real domain name. # RBLDNSD="dsbl -l /var/lib/rbldns/log/rbl.log -f -r/var/lib/rbldns/dsbl -b 101.102.103.104 \ rbl.mydomain.com:ip4set:spammerlist,whitelist \ rbl.mydomain.com:generic:forward "
Paso 7: Crear la estructura de directorios de archivo plano
mkdir /var/lib/rbldns/dsbl touch /var/lib/rbldns/dsbl/forward touch /var/lib/rbldns/dsbl/spammerlist touch /var/lib/rbldns/dsbl/whitelist touch /var/lib/rbldns/dsbl/rbl.log chown -R rbldns:rbldns dsbl
Paso 8: Agregar algunos registros a la base de datos MySQL que tiene de spammers conocidos
INSERT INTO ips SET ipaddress='123.456.789.1', reportedby='101.102.103.104', attacknotes='dictionary attack from badboy.com', b_or_w='b', dateadded=now(), updated=now();
Para ayudar en el diagnóstico de problemas, añadir estas entradas en el archivo "/var/lib/rbldns/dsbl/forward":
@ A 1.2.3.4 test A 1.2.3.4
Y por favor reemplazar 1.2.3.4 con la dirección IP de su servidor RBL.
Paso 9: Ejecutar la secuencia de comandos para construir el archivo plano
Ejecuta
/usr/local/bin/rebuild_rbldns.pl
y si quieres ver si realmente se crea el tipo de archivo siguiente:
cat /var/lib/rbldns/dsbl/spammerlist
Paso 10: Iniciar el servicio rbldns
service rbldnsd start
Paso 11: Crear una zona DNS para el subdominio rbl.mydomain.com
Debe crear una zona DNS (subdominio) en su servidor DNS principal para rbl.mydomain.com y el punto a su servidor rbldnsd.
; subdomain delegation rbl.mydomain.com. in ns rbl.mydomain.com. rbl.mydomain.com. in a 101.102.103.104
Paso 12: búsquedas de prueba rbl.mydomain.com
Si una dirección IP en la lista negra está en su base de datos RBL que se "existe" en el sistema DNS.
Por ejemplo:
si la lista negra de IP 89.40.1.32
a continuación, hacer una búsqueda de DNS regular de la siguiente manera:
nslookup test.rbl.mydomain.com nslookup 32.1.40.89.rbl.mydomain.com
debe resultar en una coincidencia para 1.2.3.4 (su dirección IP pública del servidor RBL). Si esto funciona, entonces el archivo /var/lib/rbldns/dsbl/forward está trabajando.
Cada entrada en la base de datos RBL devolverá un registro 127.0.0.2
Si una dirección IP no está en su base de datos, el RBL no será capaz de encontrar una entrada. Así es como los servidores de correo saben cómo bloquear las IP de origen de los correos electrónicos de los spammers conocidos.
Paso 13: Tener sus servidores de correo utilizan esta base de datos RBL
visita http://ñu.cl/usar_lista_dnsbl/
Muy bien, y la parte en que todo esto era barato?
Pues muy fácil, este software requiere muy poco poder de computo, por lo que una pequeña maquina virtual bastará para cubrir todas sus necesidades, acá hay una lista de ejemplo donde se puede alojar este servicio por unos pocos USD por mes
- https://www.atlantic.net/cloud-hosting/pricing/ desde poco menos de $USD 5 por mes
- https://www.opencloud.cl/ desde $CLP 2500 por mes
- Buscar mas en Google
Cada vez los servidores privados virtuales son más poderosos y baratos. Además de que muchas de estas ofertas se encuentran en distintos países, por lo que es posible construir soluciones replicadas por el mundo a un precio bajisimo.
Referencias
Creador del software RBLDNSD http://www.corpit.ru/mjt/rbldnsd.html
Autor del post original http://www.blue-quartz.com/rbl/