Inicio / Wikis / Artículos / Ocultando información en Sendmail - Ocultando información en Sendmail

Ocultando información en Sendmail - Ocultando información en Sendmail

Artículo creado por Cesar Lagarrigue. Extraido de: http://www.tux.cl/doku.php?id=articulos:correo:ocultando_informacion_en_sendmail
02 de Marzo de 2006
Servidores de contenidosServidores de correo

1 - Ocultando información en Sendmail

Ocultando información en Sendmail

Viernes, 05 de Diciembre del 2003 por Cesar Lagarrigue en sección Correo



Este tipo de trucos se hacen directamente en el código de sendmail, asi que como tal, hay que obtener las fuentes del sendmail desde: ftp.sendmail.org/pub/sendmail/sendmail.8.11.6.tar.gz

Una vez bajado el paquete tar.gz,se descomprime y procedemos a editar srvsmtp.c.

# tar xzpf sendmail.8.11.6.tar.gz # cd sendmail-8.11.6 # cd sendmail

Ahora, edita el archivo srvsmtp.cen la línea 1248 de 4318

<font color="#FF6666"># endif /* _FFR_MILTER */ /* print HELO response message */ if (c->cmd_code != CMDEHLO) { message("250 %s Hello %s, %s", MyHostName, CurSmtpClient, q); break; } message("250-%s Hello %s, %s", MyHostName, CurSmtpClient, q); /* offer ENHSC even for nullserver */ if (nullserver != NULL) { message("250 ENHANCEDSTATUSCODES"); break; } </font>

Y modifica las lineas messages para que luzcan como los siguiente:

<font color="#3366FF"> /* print HELO response message */ if (c->cmd_code != CMDEHLO) { message("250 OK", MyHostName, CurSmtpClient, q); break; } message("250- OK", MyHostName, CurSmtpClient, q); </font>

Tambien se puede cambiarel mesanje de Bienvenida, editando en la línea 442 de 4318:

<font color="#FF6666"> /* output the first line, inserting "<font color="#3366FF">ESMTP</font>" as second word */ expand(SmtpGreeting, inp, sizeof inp, e); p = strchr(inp, '\n'); if (p != NULL) *p++ = '\0'; id = strchr(inp, ' '); if (id
NULL) id = &inp[strlen(inp)]; if (p
NULL) snprintf(cmdbuf, sizeof cmdbuf, <font color="#3366FF">"%s
.*s ESMTP
s", greetcode);</font> else snprintf(cmdbuf, sizeof cmdbuf, <font color="#3366FF">"%s-
.*s ESMTP
s", greetcode);</font> message(cmdbuf, (int) (id - inp), inp, id); </font>
Ahora editamos el archivo /etc/mail/sendmail.cf, el cual trae algunas configuraciones extra para quitar el banner inicial y que tienenrelación con el anterior “%s-.*s ESMTPs”, greetcode);:

# SMTP initial login message (old $e macro) O SmtpGreetingMessage=<font color="#3366FF">Rei Linux ; $b</font></font></font></i> 220 <font color="#FF6666">Rei ESMTP Linux</font> ; <font color="#009900">Fri, 26 Apr 2002 10:14:17 GMT</font> helo rei <font color="#FF6666">250 OK</font>

(La variable %b es lafecha y hora del Servidor)

Estas son algunas variablesque se pueden usar en la configuración del sendmail.cf:

[root@rei /root]# sendmail -db Version 1.777777.7777 Compiled with: LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND NETINET NETUNIX NEWDB QUEUE SCANF SMTP USERDB <font color="#FF6600"> SYSTEM IDENTITY (after readcf)

= (short domain name) $w = rei (canonical domain name) $j = rei.tux.cl (subdomain name) $m = tux.cl (node name) $k = sdf1.tux.cl

</font> [root@rei /root]#
Tambien se puede asimilarla apariencia de otros MTA’s para confundir, por ejemplo:

Watchguard 220 SMTP service ready helo rei 250 Requested mail action okay, completed help 214-Commands: 214- DATA RCPT MAIL QUIT RSET 214 HELO VRFY EXPN HELP NOOP 500 Syntax error, command unrecognized 501 Syntax error Checkpoint 220 CheckPoint FireWall-1 secure SMTP server erger 500 Unknown command helo rei 250 Hello rei, pleased to meet you help 214-Commands 214-HELO MAIL RCPT DATA 214-RSET NOOP QUIT HELP 214 End of HELP

Ahora, veremos otros detalles de los mensajes de sendmail. Ya hemos corregido la salida de los comandos HELO y EHLO, pero faltan más mensajes “ocultos” a primera vista, que podriandelatar a sendmail.

220 Rei ESMTP Linux ; Fri, 26 Apr 2002 10:16:59 GMT helo rei 250 OK <font color="#FF6666">help 214-2.0.0 <font color="#3366FF">This is sendmail version 8.11.6</font> 214-2.0.0 Topics: 214-2.0.0 HELO EHLO MAIL RCPT DATA 214-2.0.0 RSET NOOP QUIT HELP VRFY 214-2.0.0 EXPN VERB ETRN DSN AUTH 214-2.0.0 STARTTLS 214-2.0.0 For more info use "HELP <topic>". 214-2.0.0 <font color="#3366FF">To report bugs in the implementation send email to</font> 214-2.0.0 <font color="#3366FF">sendmail-bugs@sendmail.org.</font> 214-2.0.0 <font color="#3366FF">For local information send email to Postmaster at your site.</font> 214 2.0.0 End of HELP info </font>

El comando help, expone demasiada información, asi que ahora veremos como sacar la ayuda y remover esos mensajes. Una opción es simplemente quitarel archivo de ayuda con el comando:

# rm -f /etc/mail/helpfile

Ahora cuando ejecutemosel commando help, veremos esto:

<font color="#FF6666">502 5.3.0 </font><font color="#3366FF">Sendmail 8.11.6</font><font color="#FF6666"> -- HELP not implemented</font>

Para sacar los mensajes de sendmail en el “help”, debemos saltar a la línea 4240/4318 del código fuente, y cambiar la línea:

<font color="#FF6666">message("502 5.3.0 Sendmail %s -- HELP not implemented",</font>

por

<font color="#3366FF">message("502 5.3.0 Ayuda No Disponible",</font>

pd.: Sean Creativos.

O en la línea 4281/4318, cambiar:

<font color="#FF6666">message("214-2.0.0 This is Sendmail version %s", Version);</font>

por

<font color="#3366FF">message("214-2.0.0 Secured", Version);</font>

pd.2:Sean mas creativos. ;)

Tambien se puede editar el archivo version.c para cambiar dicho parametro:

<font color="#FF6666"> /* * Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. * All rights reserved. * Copyright (c) 1983 Eric P. Allman. All rights reserved. * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. * * By using this file, you agree to the terms and conditions set * forth in the LICENSE file which can be found at the top level of * the sendmail distribution. * */ #ifndef lint static char id[] = "@(#)$Id: version.c,v 8.43.4.39 2001/08/20 14:45:34 gshapiro Exp $"; #endif /* ! lint */ char Version[] = <font color="#3366FF">"8.11.6";</font></font>

por

<font color="#FF6666">char Version[] = <font color="#3366FF">"6.7.6";</font> </font>

Oen realidad sean creativos.

Para instalar el Sendmail-8.11.6 sigan estos amigables pasos:

# cd .. # cd devtools # cd OS # rm Linux # touch Linux

A continuación, edite el archivo Linux y agreguelas siguientes líneas: (Agregue pentium si fuera 586 o pentiumpro si fuera 686)

define(`confENVDEF', `-DPICKY_QF_NAME_CHECK -DXDEBUG=0') define(`confCC', `egcs') define(`confOPTIMIZE', `-O9 -funroll-loops -mcpu=pentiumpro \ -march=pentiumpro -fomit-frame-pointer -fno-exceptions') define(`confLIBS', `-lnsl') define(`confLDOPTS', `-s') define(`confMANROOT', `/usr/man/man') define(`confMANOWN', `root') define(`confMANGRP', `root') define(`confMANMODE', `644') define(`confMAN1SRC', `1') define(`confMAN5SRC', `5') define(`confMAN8SRC', `8') define(`confDEPEND_TYPE', `CC-M') define(`confNO_HELPFILE_INSTALL') define(`confSBINGRP', `root') define(`confSBINMODE', `6755') define(`confUBINOWN', `root') define(`confUBINGRP', `root') define(`confEBINDIR', `/usr/sbin')

Ahora, dirigase al directoriodonde descomprimio el codigo fuente:

[root@rei sendmail-8.11.6]# ls -ln total 556<font color="#00CC00"> -rwxr-xr-x 1 103 103 327 sep 23 1999 Build -rw-r--r-- 1 103 103 321 feb 7 1999 FAQ -rw-r--r-- 1 103 103 1655 dic 30 2000 INSTALL -rw-r--r-- 1 103 103 9723 jul 31 2001 KNOWNBUGS -rw-r--r-- 1 103 103 4120 feb 14 2001 LICENSE -rw-r--r-- 1 103 103 795 abr 17 2000 Makefile -rw-r--r-- 1 103 103 50525 jul 31 2001 PGPKEYS -rw-r--r-- 1 103 103 14862 jul 31 2001 README -rw-r--r-- 1 103 103 381468 ago 20 10:45 RELEASE_NOTES</font><font color="#FF6666"> drwxr-xr-x 11 103 103 4096 ago 20 11:01 cf drwxr-xr-x 2 103 103 4096 ago 20 11:01 contrib drwxr-xr-x 6 103 103 4096 ago 20 11:01 devtools drwxr-xr-x 3 103 103 4096 ago 20 11:01 doc drwxr-xr-x 5 103 103 4096 ago 20 11:01 include drwxr-xr-x 2 103 103 4096 ago 20 11:01 libmilter drwxr-xr-x 2 103 103 4096 ago 20 11:01 libsmdb drwxr-xr-x 2 103 103 4096 ago 20 11:01 libsmutil drwxr-xr-x 2 103 103 4096 ago 20 11:01 mail.local drwxr-xr-x 2 103 103 4096 ago 20 11:01 mailstats drwxr-xr-x 2 103 103 4096 ago 20 11:01 makemap drwxr-xr-x 2 103 103 4096 ago 20 11:01 praliases drwxr-xr-x 2 103 103 4096 ago 20 11:01 rmail</font><font color="#3366FF"> drwxr-xr-x 2 103 103 4096 ago 20 11:01 sendmail</font><font color="#FF6666"> drwxr-xr-x 2 103 103 4096 ago 20 11:01 smrsh drwxr-xr-x 2 103 103 4096 ago 20 11:01 test drwxr-xr-x 2 103 103 4096 ago 20 11:01 vacation</font> # cd sendmail # ./Build

Ud. debería ver algo asi en la salida estandar:

mutil.a -ldb -lresolv -lcrypt -lnsl -ldl groff -Tascii -man sendmail.8 > sendmail.0 || cp sendmail.0.dist sendmail.0 groff -Tascii -man aliases.5 > aliases.0 || cp aliases.0.dist aliases.0 groff -Tascii -man mailq.1 > mailq.0 || cp mailq.0.dist mailq.0 groff -Tascii -man newaliases.1 > newaliases.0 || cp newaliases.0.dist newaliases.0 [...] #./Build install

Con esto instalamos el binario. Para seguir instalando el resto de los componentes ejecutamos:

# cd ../praliases # ./Build install # cd ../makemap # ./Build install # cd ../smrsh # ./Build install # cd ../mailstats # ./Build install [root@rei sendmail-8.10.6]# ln -fs /usr/sbin/sendmail /usr/lib/sendmail [root@rei sendmail-8.10.6]# chmod 511 /usr/sbin/smrsh [root@rei sendmail-8.10.6]# install -d -m 755 /var/spool/mqueue [root@rei sendmail-8.10.6]# chown root.mail /var/spool/mqueue [root@rei sendmail-8.10.6]# mkdir /etc/smrsh # ../cf # cd cf # touch sendmail.mc

Editelo y agregue estosparámetros al archivo sendmail.mc:

define(`confDEF_USER_ID',``8:12)dnl OSTYPE(`linux')dnl DOMAIN(`generic')dnl define(`confTRY_NULL_MX_LIST',true)dnl define(`confDONT_PROBE_INTERFACES',true)dnl define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl define(`LOCAL_MAILER_FLAGS', `ShPfn')dnl define(`LOCAL_MAILER_ARGS', `procmail -a $h -d $u')dnl FEATURE(`smrsh',`/usr/sbin/smrsh')dnl FEATURE(`mailertable')dnl FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl FEATURE(`redirect')dnl FEATURE(`always_add_domain')dnl FEATURE(`use_cw_file')dnl FEATURE(`local_procmail')dnl FEATURE(`access_db')dnl FEATURE(`blacklist_recipients')dnl FEATURE(`dnsbl')dnl MAILER(`local')dnl MAILER(`smtp')dnl MAILER(`procmail')dnl

Cree el archivo llamado /etc/sysconfig/sendmail para que contenga las siguientes líneas:

DAEMON=yes QUEUE=1h

Luego genere el .cf con:

# cd cf [root@rei cf]# m4 ../m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf

Cree los archivos de configuracion:

# touch /etc/mail/access # touch /etc/mail/aliases # touch /etc/mail/virtusertable # touch /etc/mail/domaintable # touch /etc/mail/mailertable

En el archivo /etc/mail/access configuramos el relay

localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY 192.168.1 RELAY mi.dominio.paiz RELAY 200.x.ip.publica RELAY

O para omitir reglas con números de direcciones IP

administrator@dominio.paiz OK dominio.paiz OK

Para rechazar direcciones IP de un sitio spam, debe hacer lo siguiente:

# usuario@nodeseado.paiz REJECT # dominionodeseado.paiz REJECT # 200.27.195.123 REJECT

O bien,

domininionodeseado.paiz 550 No aceptamos email desde esta casilla.

Este mensaje puede ser personalizado a nuestro gusto, ahora revisamos el archivo /etc/aliases, que deberá contener líneas parecidas a las siguientes:

MAILER-DAEMON: postmaster postmaster: root bin: root daemon: root nobody: root root: admin juanito.perez: gerente.empresa

Estos ejemplos son genéricos para cualquier versión de sendmail. Ahora revisamos el archivo /etc/mail/local-host-names, en el cual deben ir los nombres de dominio que seran aceptados como local por nuestro servidor de sendmail.

localhost dominio.cl ns.dominio.cl www.dominio.cl dominio.org tux.cl

Luego se deben generar los .db (importantes a la hora de revisar las ACL, sino sendmail no funciona correctamente)

makemap hash /etc/mail/access.db < /etc/mail/access makemap hash /etc/mail/aliases.db < /etc/mail/aliases makemap hash /etc/mail/domaintable.db < /etc/mail/domaintable makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable

Luego tendría que tener estos archivos en el directorio /etc/mail:

-rw-r--r-- 1 0 0 3716 dic 27 12:11 access -rw-r--r-- 1 0 0 20480 ene 14 14:13 access.db -rw-r--r-- 1 0 0 465 oct 23 11:31 aliases -rw-r--r-- 1 0 0 20480 ene 14 14:13 aliases.db -rw-r--r-- 1 0 0 0 oct 23 11:30 domaintable -rw-r--r-- 1 0 0 4096 ene 14 14:13 domaintable.db -r--r--r-- 1 1 1 5555 oct 23 11:53 helpfile -rw-r--r-- 1 0 0 48 nov 23 18:23 local-host-names -rw-r--r-- 1 0 0 0 oct 23 11:30 mailertable -rw-r--r-- 1 0 0 4096 ene 14 14:13 mailertable.db -rw-r--r-- 1 0 0 47089 ene 14 13:48 sendmail.cf -rw-r--r-- 1 0 0 628 feb 12 12:20 statistics -r--r--r-- 1 0 1 38694 oct 23 11:53 submit.cf -rw-r--r-- 1 0 0 0 oct 23 11:30 virtusertable -rw-r--r-- 1 0 0 4096 ene 14 14:13 virtusertable.db

Ahora ya podemos borrar el Source, si lo desean, con el comando:

# rm -rf sendmail-8.11.6

Se adjunta, además, el script de arranque de sendmail que deberá residir en el directorio /etc/rc.d/init.d, para que se ejecute siempre que el servidor se inicia, muy común en cualquier paquete rpm.

Valora este capítulo:
Autor y licencia de 'Ocultando información en Sendmail - Ocultando información en Sendmail'
Cesar Lagarrigue Extraído de: http://www.tux.cl/doku.php?id=articulos:correo:ocultando_informacion_en_sendmail CopyLeft
Copyleft 2000-2006 Tux.cl
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Ocultando información en Sendmail - Ocultando información en Sendmail' (0)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este artículo



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Ocultando información en Sendmail - Ocultando información en Sendmail'

Este tipo de trucosse hacen directamente en el código de sendmail, asi que como tal,... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
Juan Carlos Inostroza en sección Redes DHCP es un servicio usado en redes para a)... Más »
Este documento pretende ser una guía rápida de configuración y puesta en funcionamiento de procedimientos... Más »
Bienvenidos! Y gracias por tu interés en Red Hat Linux. Tenemos la que creemos mejor... Más »
¿Estás seguro de que deseas eliminar este capítulo?