Proyecto whitelisting español - ESWL

  Introducción |   Zonas |   ¿Cómo utilizarla? |   Configuración |   Ingresar |   Chequeador de IPs |   FAQs | 

Indice


¿Qué es esto ?

Una herramienta para internar localizar páginas HTML que han sido modificadadas por atacantes para infectar a los usarios que se conectan a estas páginas.

En realidad la "herramienta" es un fichero de "firmas" de un antivirus Opensource llamado ClamAv, este fichero de firmas en vez contener patrones ficheros de virus contiene "cadenas" del código HTML insertado por los atacantes en las páginas HTML legítimas.

Estas firmas se emplean para poder detectar que páginas han sido modificadas.

¿Cómo infectan los atacantes las páginas ?

Por lo general primero se produce una infección en los equipos de los usarios con permiso para modificar las páginas, estos equipos infectados envían las credenciales de acceso a una máquina remota y después el atacante emplea estas credenciales para acceder y modificar las páginas.

¿ Como afecta a la organización el tener páginas "infectadas" ?

En primer lugar el que un servidor tenga páginas HTML con contenido malicioso puede dar lugar a :

  • los usuarios que se conecten a estas páginas se vean comprometidos e infectados
  • Si no se toman medidas urgentes el servidor puede ser dado de alta en diversas bases de datos como " StopBadware , barras de navegación de servidores WWW, etc, donde muchas veces es díficil ser después dado de alta (caso similar a las listas negras de SPAM
  • El que nuestro servidor WWW aparezca en una lista negra (muchas de ellas no distinguen entre una página del servidor y el contenido completo de este , puede hacer que muchos usuarios no se conecten a este
  • Google y otros proveedores de contenido bloquean las campañas de anuncios relacionadas con este dominio e indican en sus búsquedas que el contenido de estas páginas puede ser malicioso.

¿Quién desarrolla los patrones de firma ?

Las firmas son mantenidas y desarrolladas por técnicos de RedIRIS y de Proveedores de Internet españoles, agrupados en el ¿Que hay que hacer ?.

Descargar el fichero de patrones en el servidor , tener el programa clamav instalado y ejecutarlo como clamscan -d clamhtml-level-8.ndb -r path-a-paginas-HTML

¿Qué patrones se reconocen ?

Los patrones se van actualizando periodicamente , en la pagina de información de patrones se tiene una descripción de cada uno.

¿Con quién contactar para más información ?

Contactar con el equipo de seguridad de RedIRIS si se quiere más información. Los patrones que se reconocen ahora mismo son:

ABUSES.HTML.iframe.20111223-IRIS-CERT1

Se trata de un iframe apuntando a una página WWW en un servidor en Indía, (zalupka.in), insertado por al final de la página HTML modificada.

Cuando un usuario se conecta a esta página el iframe se carga, segun varios foros de analisis de malware esto genera la carga de diversos anuncios y mensajes emergentes (Pops-ups), alertando sobre falsas infecciones en el ordenador y ofreciendo un antivirus fraudulento para solucionar el problema.

ABUSES.HTML.INJECTED.20110921-FMC01
Codigó HTML inyectado en páginas HTML, no va cifrado
ABUSES.HTML.img.tag.20111130-IRIS-CERT
Codigo malicioso, el atacante incorpora un enlace que apunta directamente a una pagina que el a 22 de Noviembre de 2011 esta desactivado el dominio donde se produce el ataque
ABUSES.HTML.embbebed.script.20110953-FJMC
ABUSES.HTML.embbebed.script.20111227-IRIS-CERT2
Codigo malicioso añadido al final de las páginas HTML, el script esta ofuscado para evitar su detección (jsunpack no lo detecta como malicioso, pero las alertas de google así lo indican).

En Google Safe Browsing indican lo siguiente sobre esta infección:

What happened when Google visited this site?

Malicious software includes 2 scripting exploit(s), 2 exploit(s). Successful infection resulted in an average of 8 new process(es) on the target machine.

Malicious software is hosted on 1 domain(s), including ricmhrsaoo.com/.

Por lo que los usuarios que se conectan a una página infectada se conectan también este otro dominio pudiendo ser infectados

ABUSES.HTML.script.url.20111227-IRIS-CERT1
Inyección al final de la página HTML de un javascript que ofusca la carga de un iframe oculto apuntando al sitio hxxp://ladenas938.com/users/5 , este dominio fue usado en 2010 para la descarga del troyano bancario Zeus, consultar en malware domains para más información.
ABUSES.HTML.iframe.20120125-IRIS-CERT1
Se trata de una inyecciÃn de un IFRAME apuntando al sitio goodgirlsporn.com , mediante un iframe oculto dentro del documento.
ABUSES.HTML.iframe.20111123-IRIS-CERT1
iframe añadido al final del documento invisible apuntando a pagina www en volgo-marun.cn

Estilo de las páginas del foro abuses.

El estilo de las páginas del Foro abuses esta basado en el estilo de RedIRIS de nivel 1, con algunos pequeños cambios, sobre todo a nivel de simplificar la gestión de menus y de la información. lo que aparece como "Variable:nombre" es para indicar que la variable webber correspondiente sería este nombre

La página consta de :

  • Un titulo, que se repite en la sección principal y en el "title" de la página"
  • Un eslogan o definicion arriba a la izquierda, que no suele cambiar en todas las páginas
  • Un logo o imagen gráfica
  • Un espacio para la barra de idiomas , arriba a la derecha
  • Un menu principal, a la izquierda de la página que contiene las secciones principales del sitio
  • Un menu "de navegación" o de "Migas de pan", situado debajo de la barra de búsqueda con la información de como se ha ido accediendo a la página
  • Un Menu de sección, que indica dentro de una sección las distintas secciones, muchas veces en la misma página
  • Un menu en la parte inferior, estático con las típicas entradas de contacto, mapa web, etc
  • y claro, el texto de la página , en la variable "content", no en wbbIn.

Idiomas.

El procesador " FileLang::langreduction " se encarga de "reducir" las variables , de forma que en función del idioma de la página (que intenta detectar el procesador FileLang::filelang", o esta definida en la variable wbblang), crea una versión reducida de la variable, emplea la variable filelang.langreduction.vars , que indica que variables (separadas por espacio deben ser reducidas)

Para verlo con un ejemplo

Tenemos un fichero hola.es.wbb , en el que se definen dos variables:

slogan-es= mensaje en castellano
slogna-en= mensaje en ingles

En los procesadores tenemos al principio FileLang::filelang y FileLang::langreduction, y la variable "filelang.langreduction.vars contiene la variable slogan.

  1. Al ejecutarse el FileLang::filelang, se detecta que el nombre del fichero es "hola.es.wbb" es en español, por lo que se define que el idioma es "es"
  2. Al ejecutarse FileLang::langreduction se ve que hay que crear una variable "slogan" con el contenido que tenga la variable "slogan-XX", siendo XX "es" en este caso , por lo que se crearía la variable "slogan" con el contenido de slogan-es.

Con esto la ejecución de FileLang::langreduction se consigue que una misma plantilla sirva para varios idiomas, ya que todos los mensajes que depanden del idioma pueden ser "reducidos" a una version y seleccionados en tiempo de ejecución de webber.

Procedor de Menus

El procesador de menus funciona de una forma similar a los menus de RedIRIS, generalizado para poder definir varias variales de menu, el procesador emplea las siguientes variables:

  • menu.src, indica que menus van a existir y en que variables de la plantilla van a ser copiadas, el formato es "definicion:variable_destino pudiendo haber varios menus separados por espacios
Como las cosas no pueden ser sencillas, para cada una de las entradas anteriores de tipo "definicion" el procesador de menus, busca en variables de nombre "menu.definicion.XXX" una serie de valores, que son:
  • menu.definicion.type tipo de menu , puede tener de valores "li" (lista) o "td" (tabla)
  • menu.definicion.pre-XX Codigo HTML a incluir antes de las entradas del menu, por lo general es el titulo del menu (si se pone), el "XX" es el idioma que otro procesador antes se encarga de "reducir" (ver la entrada relacionada con el idioma.). Por lo general este "pre" puede ser vacio si no se quiere que el menu tenga ninguna cabecera.
  • menu.definicion.post-XX Igual que el pre, pero para la finalización de los menus
  • menu.definicion.template plantilla que se va a usar dentro de cada entrada (menuitem) de XML para definir los menus, substituyendo "%variable" por el valor
  • menu.definition.template.current Plantilla que se va a emplear para marcar la entrada "activa" dentro de un menu, puede estar vacia si no se emplea esta caracteristica, se emplea por ejemplo en la sección de las "migas de pan"
  • menu.definicion.active Indica que cadena es la que dice cual es la sección activa.
  • menu.definicion.key que variable dentro de la definicion del menu contitne la clave
Así mismo se busca en una variable llamada "definicion" (que en nuestro caso se define como definicion-XX por el tema de los idiomaas) hay un XML que debe contener las entradas oportunas.ver las definciones de las variables en el wbbdir.cfg Parece algo complicado, auqnue el procesador de menus con estas opciones puede generar los diversos menus de la página.

Procesadores usados

entre unas cosas y otras se usan los siguientes procesadores: TI1: FileLang::filelang Ya se ha comentado antes, sirve para detectar el idioma de la página y así fijar la variable wbbLang, que es usadas después , además cambia el formato de la salida de la página para que de nombre.es.wbb se genere nombre.html.es .

Variables usadas y valor:

  • language.changename= yes . Activa el cambio de nombre de los ficheros

FileLang::langreduction

Comentado en la sección del idioma, crea versiones "reducidas" de variables (en formato variable-XX, en función del idioma, dejando una versión sin idioma

Variables usadas y valor:

  • filelang.langreduction.varslocalization menuprincipal menu.menuprincipal.pre menuseccion menubajo slogan search-legend

FileLang::otherlang

Procesador encargado de definir una variable con la barra de idiomas que se usa para cambiar de idioma arriba a la derecha en base a los idiomas existentes.

Variables usadas, valor y/o explicación:

  • filelang.otherlang.var=wbb_languages . En que variable se genera la información de los idiomas en los uqe esta el contenido
  • filelang.otherlang.pre=Si hay que poner algo antes , vacio
  • filelang.otherlang.post= igual para el final
  • filelang.otherlang.template= Codigo HTML a poner para hacer referencia a un idioma, "%LINK" es el enlace a la página y %LANG el nombre del idioma
  • filelang.otherlang.template.current=, Igual pero para el idioma actual (en negrita)

Macros::macro

Paquete de diversas macros estandard, como la de inclusión de ficheros

Vars::CopyVars

Permite realizar copias incondicionales o condicionales de variables , se usa para "readaptar costumbres", por ejemplo el código de las páginas se define en la variable "content", pero con "vars.copyvars= wbbIn:?content" , indicamos que si no existe la variable "content" esta se cree con el contenido de la variable "wbbIn", ya que al migrar se empleaba esta variable

Variables:

  • vars.copyvars=, wbbIn:?content , explicado antes

FileLang::linkfix

Intenta arreglar los enlaces a páginas nombre.idioma.html trasformandolos en nombre.html.idioma dentro de la información del contenido de la página.

  • filelang.linkfix.vars =content . Se intenta arreglar los enlaces que haya en la variable content (que es el antiguo wbbIn)

Vars::PathVars

Permite generar la variable "pathroot", para ver cuantos "../.." se deben usar de forma dinámica.

Variables: Las por defecto.

BodyFaq::bodyfaq

Permite generar "FAQs", como las de esta página , no se usa mucho, pero algunas veces es util.

Menu::menu

Procesador de Menus, genera los menus de la página.

Variables: Ver lo comentado antes

CopyFiles::copyfiles

Copia los ficheros

Webbo::webbo

Rellena la plantilla HTML de la página variable:

  • #webbo.src file:var(wbbRoot)/webs/www.abuses.es/index3.html

¿Que es el Proyecto ESWL?

Es una iniciativa del Foro ABUSES para crear un listado de IPs de servidores de correo salientes y evitar que sean bloqueados por el uso de Listas Negras. El nivel del posible spam de estos servidores es aceptable para evitar los efectos negativos de la perdida de correo.

¿Puedo solicitar el ingreso de mis servidores en ESWL?

Si eres miembro del Foro ABUSES podrás solicitar:

  • Directamente que tus servidores de correo saliente para la zona ESWL
  • Proponer servidores de correo saliente que consideres deben ser incluidos en la zona MTAWL

Si no eres miembro del Foro ABUSES podrás utilizar el formulario para las propuestas o a través de tu proveedor

¿Quien valida las propuestas?

Todas las propuestas para cualquiera de las dos zonas serán evaluadas y validades en el Foro ABUSES

¿Cómo puede ser miembro del Foro ABUSES?

Para se miembro es necesario cumplir aceptar las condiciones del Marco de Referencia del Foro ABUSES y enviar la solicitud de adhesión tal como se indica en la página principal del Foro.

Soy miembro del Foro ABUSES ¿Cómo puedo solicitar el ingreso de mis servidores en ESWL?

El alta en el Foro ABUSES de una ISP incluye el ingreso directo de sus propios servidores. De todas formas tanto para la zona ESWL como para MTAWL deberás enviarlo a la lista de coordinación ABUSES@ en el siguiente formato:

A.B.C.D # descriptor,contacto

El descriptor será una pequeña reseña que suministre información y permita la identificación de los responsables de la IP. Ejemplos: EL contacto es un dato de contacto que puede ser:

  1. Dirección de correo del tipo postmaster@dominio.es o abuse@dominio.es
  2. Direccion web de la emprea que lo gestiona
Solicitud para ESWL

155.210.1.61 TeleProveedor SA,
155.210.1.49 TeleProveedor SA,
155.210.1.50 TeleProveedor SA,
Solicitud para MTAWL
208.37.136.102 eListas.net, < abuse @ elistas.net > 65.54.195.21 HOTMAIL, http://www.hotmail.com

¿Cuantas IPs puedo proponer?

Para ESWL sólo las que gestiones directamente como ISP, no las de tus clientes. Para MTAWL tantas como consideres tanto de tus clientes como de otras que consideres

¿Cómo puedo saber si la IP de un servidor esta incluida en el Proyecto ESWL?

Hay dos formas:

  • Listado total
  • Via DNS. Puede consultar si una IP esta en ESWL consultando las zonas DNS: eswl.dnsbl.rediris.es y mtawl.dnsbl.rediris.es utilizando las herramientas tipo nslookup

¿Quien gestiona el las altas y bajas del ESWL?

La evaluación de altas y bajas del Proyecto ESWL se hará de forma colaborativa por todos los miembros del Foro ABUSES.

¿Que diferencia hay entre el la zona ESWL y MTAWL?

EN ambas hay servidores que emiten correo y cuyos niveles de spam son considerados bajos o aceptables. La Zona ESWL esta formada por IPs de miembros del Foro ABUSES lo que implica que existan datos de contacto directo con los responsables de dichos servidores de correo.

La Zona MTAWL esta formada por IPs de los que no se disponen datos de contacto.

¿Cómo puedo utilizar las zonas de ESWL?

ESWL se genera en dos formatos:

  • Formato texto. Es un fichero de IPs actualmente preparado para incluirlo en la configuración de tu servidor de correo y poder ser chequeado.Este fichero está preparado para configuración de Postfix. Podrá disponer de este fichero periodicamente para su configuración colocando en el cron este comando:
    
    /usr/bin/wget -O - http://www.rediris.es/abuses/priv/eswl/whitelist.postfix > whitelist
    
  • Formato DNS. Hay dos zonas DNS ( eswl.dnsbl.rediris.es y mtawl.dnsbl.rediris.es ) para que tu servidor de correo haga las correspondientes consultas via DNS de la misma forma que se hace al chequar las listas negras.

    Para que su servidor de correo compruebe estas zonas basta con invertir la IP que solicita establecer conexión y comprobar la existencia de una AA RR en cualquiera o ambas de las zonas que se ofrecen. Por ejemplo si se inicia una sesión SMTP desde [192.89.123.5], se comprobaría la existencia de: 5.123.89.192.mtawl.dnsbl.rediris.es. IN A 127.0.0.2

¿Qué se recomienda que se haga con el correo procedente de las IPs del Proyecto ESWL?

El Proyecto ESWL no se responsabiliza de los resultados de obtenidos al consultar las IPs de ambas zonas. El objetivo de esta whitelisting es impedir la pérdida de correo provocada por posibles bloqueos de los resultados al chequear las listas negras. Por tanto es recomendable no bloquear las conexiones SMTP procedentes de estas IPs ni etiquetarlas como spam.

¿Qué beneficios aporta al correo de mi organización chequear la whitelisting de ESWL?

EL principal beneficio es no perder correo porque algunas de las IPs estén incluidas en listas ngeras internacionales. Tambien se podría liberar recursos de chequeo del tráfico SMTP de estas IPs.

¿Cómo puede modificar las IPs que di alta en ESWL?

Por ahora no hay mecanismos de gestión y la única forma es poniendose en contacto con eswl @ rediris.es

¿Podría disponer de un listado de las IP de ESWL?

Hay diferentes formas de disponer de una lista de las IP de la whitelisting. [AQUÍ]

Si mis servidores de correo están fuera de España ¿Podría solicitar el ingreso en ESWL?

Si pertenecen a una institución o empresa española si es posible.

Soy un particular y dispongo de una IP dinámica con servidor de correo ¿podría solicitar el ingreso en MTAWL?

Debería de gestionarlo con su ISP para que solicite el alta en la Whitelisting.

Mi empresa hace distribuciones masivas de correo electrónico ¿Podría solicitar el ingreso en MTAWL?

Siempre y cuando la distribución de estos mensajes se haga de acuerdo a la legislación Española, podría solicitarlo, ahora bien tengase en cuenta que registros de direcciones sin consentimiento previo del emisor y otras actuaciones no son recomednables.

¿Que es eso del soporte IPv6 ?

IPv6 dicen que será el nuevo protocolo sobre el que funcionen las cosas en Internet, aunque parece que le esta costando un poco despegar, las listas blancas de RedIRIS proporcionan soporte de IPv6 desde Septiembre de 2010, puedes consultar Aquí para más informacion sobre este soporte