truco o trato

31 de octubre de 2008

¿quíen eres?

30 de octubre de 2008

Una de las primeras cosas que hago antes de abrir el firewall es asegurarme que los servicios que publico en Internet no dejan entrever la versión con la que corren. Si es un apache: fuera mensaje de versión, si es un servidor de pop: fuera mensaje de versión, etc. Incluso se me ha ocurrido modificar el mensaje de la versión en aquellos servicios (como Postfix) que no dejan cambiarlo.


Para quien no se sepa de lo que hablo, la información con la versión es lo primero que se mira en busca de un bug... y posteriormente su exploit. Aquí tenéis un ejemplo de una aplicación LAMP


Como véis un simple GET de una página Web y la información que está dando:

Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h mod_autoindex_color PHP/5.2.6


Vamos pues a eliminar toda esta información extra. Para eliminar la información de la información en una aplicación LAMP/WAMP tenemos que modificar el archivo de configuración de Apache (httpd.conf) y el archivo de configuración de PHP (php.ini).

En httpd.conf buscaremos los parámentros ServerTokens y ServerSignature y los cambiaremos por estos valores:

ServerTokens Prod
ServerSignature Off

El php.ini buscaremos el parámetro expose_php y lo cambiaremos por el valor:

expose_php=off

Si reiniciamos nuestro servidor y probamos ahora veremos como ha cambiado la cosa:


Otra recomendación es no utilizar nunca los valores por defecto en las carpetas de instalación. Nunca utilizar carpetas como /admin o /phpadmin porque es lo primero que se prueba en busca de bugs.

Aquí teneis un ejemplo real de como una amigo maligno! esta buscando donde entrar:

[Tue Sep 23 13:17:54 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpmyadmin
[Tue Sep 23 13:17:55 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin
[Tue Sep 23 13:17:55 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/PHPMYADMIN
[Tue Sep 23 13:17:55 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/pHpMyAdMiN
[Tue Sep 23 13:17:55 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/PhPmYaDmIn
[Tue Sep 23 13:17:55 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/PHPmyadmin
[Tue Sep 23 13:17:55 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/PHPMYadmin
[Tue Sep 23 13:17:56 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMYadmin
[Tue Sep 23 13:17:56 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpmyADMIN
[Tue Sep 23 13:17:59 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/pmamy
[Tue Sep 23 13:17:59 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/pma
[Tue Sep 23 13:18:02 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/PMA
[Tue Sep 23 13:18:03 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/myadmin
[Tue Sep 23 13:18:03 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/MYADMIN
[Tue Sep 23 13:18:03 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/MYadmin
[Tue Sep 23 13:18:03 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/myADMIN
[Tue Sep 23 13:18:03 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/MyAdmin
[Tue Sep 23 13:18:03 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/PMA
[Tue Sep 23 13:18:04 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpmyadmin
[Tue Sep 23 13:18:04 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/mysql
[Tue Sep 23 13:18:04 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/admin
[Tue Sep 23 13:18:04 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/db
[Tue Sep 23 13:18:04 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/dbadmin
[Tue Sep 23 13:18:05 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/web
[Tue Sep 23 13:18:05 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/admin
[Tue Sep 23 13:18:05 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/admin
[Tue Sep 23 13:18:05 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/admin
[Tue Sep 23 13:18:05 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/mysql-admin
[Tue Sep 23 13:18:08 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpmyadmin2
[Tue Sep 23 13:18:08 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/mysqladmin
[Tue Sep 23 13:18:09 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/mysql-admin
[client 193.41.180.240] script '/var/www/html/main.phpmain.php' not found or unable to stat
[Tue Sep 23 13:18:09 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.5.6
[Tue Sep 23 13:18:12 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.5.4
[Tue Sep 23 13:18:12 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.5.1
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.2.3
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.9.1
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.9.0
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.9.0.2
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.9.0.1
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.8.2.4
[Tue Sep 23 13:18:13 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.8.2.2
[Tue Sep 23 13:18:14 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.8.2.1
[Tue Sep 23 13:18:14 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.7.0-pl2
[Tue Sep 23 13:18:17 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.7.0
[Tue Sep 23 13:18:17 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.6.4-pl4
[Tue Sep 23 13:18:17 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.6.4
[Tue Sep 23 13:18:17 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.8.1
[Tue Sep 23 13:18:18 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.2.6
[Tue Sep 23 13:18:18 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.2.7
[Tue Sep 23 13:18:18 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.2.7-pl1
[Tue Sep 23 13:18:18 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpMyAdmin-2.2.0 [Tue Sep 23 13:18:18 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/myadmin
[Tue Sep 23 13:18:19 2008] [error] [client 193.41.180.240] File does not exist: /var/www/html/phpmyadmin


Manón, estes donde estes...

feliz cumpleaños

28 de octubre de 2008

Hoy cumple 10 años la lista de distribución de "una-al-dia". Empezó el 21/10/1998 y creo que yo en esa época estaba en la universalidad y ni tan solo sabía lo que era esto de las listas de distribución. En esa época leía yo el correo por un VAX. Es la primera lista de distribución a la que me suscribí cuando empecé a trabajar hace 7 u 8 años.

Así que felicidades!!!...

Este es el primer post de "una-al-dia" que anunciaba la salida del Service Pack 4 para NT... ufff NT cuanto tiempo ha pasado. Hasta hace poco he visto que los TPV de las tiendas Decathlon aun van con Windows NT.

Dicen que están preparando algunas sorpresa por este décimo aniversario. ¿tendrá que ver algo este texto aparentemente cifrado en su tarjeta de felicitación?


28/10/1998 Service Pack 4, los problemas de la solución.
Por fin ha salido el tan esperado Service Pack 4, y no es para menos si tenemos en 
cuenta que con este parche podremos corregir alrededor de 600 bugs del NT 4.0.
La solución de
Microsoft nos hará olvidar desde pequeños defectos hasta los tan usuales ataques DoS
(Denial of Service) y sus pantallas azules.

Además de poner fin a los agujeros conocidos, incluye nuevas aplicaciones y 
herramientas destinadas a aumentar la seguridad del sistema. Así nos podremos 
encontrar el Security Configuration Manager que nos facilitará, a golpe de ratón, la 
configuración de los parametros de seguridad de las aplicaciones y usuarios, hacer 
un seguimiento de los permisos ó programar auditorias.

Hasta aquí las buenas noticias, no han tardado en hacerse públicas pequeñas 
incompatibilidades con determinadas configuraciones hardware que están empañando su 
salida:

-Problemas con la tarjeta gráfica Number Nine Visual Technologies Imagine 2, que no 
puede superar la barrera de 256 colores al instalarse el SP4. Lo peor es que no 
podremos regresara resoluciones altas aunque volvamos al SP3.

-Perdida de los servicios sockets si tenemos instalado SystemSoft Card Wizard 3.x. 
Para volver a restaurarlos es necesario resintalar el Card Wizard 3.x despues del SP 
4.

-En los portatiles Dell Latitude con el Softex Advanced Power Managent versión 1.0 
necesitaremos actualizar a la version 2.19 ó superior si no queremos que el SP4 anule 
sus servicios.

-Incompatibilidad con las estaciones Silicon Graphics, tendremos que bajarnos software
adicional de http://support.sgi.com/nt antes de proceder a la instalación del SP 4.

-Problemas con el software Microsoft IntelliPoint Productivity Tips. Necesitaremos 
bajar la última versión del software en http://www.microsoft.com/products/hardware
/mouse.

-Incompatibilidad con los drivers ATIRage.

Para los afortunados en cuya configuración no se encuentren ninguno de los elementos 
anteriores les aconsejamos cuanto antes la instalación del SP 4, que podrán bajar 
en la direccion:
http://www.microsoft.com/ntserver/nts/downloads/recommended/nt4svcpk4/nt4svcpk4.asp


gunsNroses o zimbra 6

26 de octubre de 2008

Me he estado dando una vueltecita por el "product portal" de Zimbra y me he enterado de algunas cosillas sobre la versión 6 (codename GunsNRoses). Quien no sepa lo que es el product portal, es una portal donde encontrará la historia de las versiones, así como las propuestas de mejoras y nuevas funciones (Request For Enhancement) que hacen los usuarios.

La primera beta de la 6 está prevista para enero 2009 y la versión final para marzo del 2009. Parece ser que se podrá disfrutar de la versión 5 hasta el path 5.0.11 (no tiene fecha de salida).

Hay muchos cambios para la versión open (tengo dudas que al final se hagan realidad), como el famoso conectar para outlook, el soporte para los calendarios de Google o el soporte para IE8 y Chome. Además habrá versiones para Fedora 10 y Ubunto 8.04.

Esta es la lista completa de cositas:

- Add files from Briefcase to mail
- Auto-complete from shared address books
- Run filters over an existing inbox
- Read receipts and delivery reports
- Support mandatory spell checks
- Auto-update ICS event URLs in calendar
- Web Client IE 8, Firefox 3, Safari 3x support
- Disaster recovery via server-to-server sync
- Role based delegated admin
- Permit hiding of aliases in the GAL on a per-alias basis
- Delete a message from multiple mailboxes
- Zimbra Mobile synchronize tasks
- BlackBerry administration within Zimbra Admin Console
- Outlook Connector sync performance
- Real-time updates when online
- Outlook Connector support single sign-on
- Outlook & iSync can be disabled by COS
- Zimbra Desktop GA including support for Yahoo/Google calendar, address book synch

¿para cuando Fedora 64 bits?, ¿para cuando CentOs?, ¿para cuando un buen conector Outlook?...

acceso soap a zimbra

23 de octubre de 2008

Hace ya muchas versiones que Zimbra soporta operaciones SOAP. Eso quiere decir que podemos crear una aplicación externa a Zimbra y comunicarnos con él a través de llamadas Soap. Podemos hacer cosas como: crear una cuenta, borrarla, crear una alias, crear un dominio, modificar un password, hacer una búsqueda por la GAL, modificar parámentros del server, crear volúmenes de disco, crear/modificar listas de distribución, deshabilitar un zimlet, crear una nota en el calendario, crear un cita en el calendario, etc, etc.

Para quien no sepa lo que es SOAP (Simple Object Access Protocol), se trata protocolo diseñado para la comunicación a través de la red entre dos procesos. Toda la comunicación se basa en el intercambio de mensajes en formato XML. Es decir, si yo quiero que Zimbra haga algo; construyo un mensaje XML, se lo envío, el lo hace y me devuelve (o no) un resultado también en formato XML.

SOAP es uno de los principales protocolos para construir "web services" a través de Internet, pero hay más. Existen otros protocolos para la comunicación a través de la red como pueden ser Corba o DCOM. Ninguno de ellos es tan extendido y fácil de usar como SOAP. SOAP utiliza HTTP para ser transportado y por tanto puede hacer uso SSL (HTTPs) para añadirle una capa de seguridad de forma que todos los mensajes XMLs van cifrados. Además es posible programar llamadas SOAP con cualquier tipo de lenguaje. Al ser un protocolo sobre HTTP la mayoría de firewals lo tienen abierto y es de fácil implementación.

Para hacer este ejemplo de conexión SOAP contra Zimbra utilizaré un programa escrito en PHP. Para saber exactamente el formato de los mensajes XML que se deben construir es necesario que leáis los documentos de texto que hay dentro de /opt/zimbra/doc/soap*.txt. Todos estos archivos de texto explican como se forman los mensajes y que resultado producen.

Los mensajes SOAP en PHP se puede construir de dos maneras diferentes. Una es utilizando una librería SOAP para PHP como NuSoap o PHP:Soap. Ellas facilitan la creación de los mensajes y la lectura de las respuesta. La otra forma (que es la que yo utilizaré) es contruir los mensajes XML "a mano". Esta solución es más laboriosa pero es la mejor para entender como funciona este protocolo.

Lo primero que haremos es saber cual es la dirección URL donde está publicado el web service de Zimbra. Este web service de Zimbra esta esperando a que nosotros le enviemos peticiones XML para él ejecutarlas.

La URL que nos interesa (hay dos) en este momento es:

https://mizimbra.miempresa.com:7071/service/admin/soap/

Como veis al ser https todos los mensajes XML irán cifrados.

Ahora lo que necesitamos, antes de pedir al Zimbra que haga algo, es identificarnos. Para ello Zimbra nos proporciona la función SOAP AuthRequest que nos permite validarnos. Si miramos el archivo /opt/zimbra/doc/soap-admin.txt vemos que la petición XML tiene que tener este formato:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:Header>
      <context xmlns="urn:zimbra"/>
   </soap:Header>
   <soap:Body>
      <AuthRequest xmlns="urn:zimbraAdmin">
         <name>admin@miempresa.com</name>
         <password>mi_contraseña</password>
    </AuthRequest>
   </soap:Body>
</soap:Envelope>

Lo que hacemos es una llamada a la función AuthRequest pasándole el nombre de usuario y la contraseña del usuario administrador.

Una vez enviado este XML al web service de Zimbra, este nos contesta con otro XML:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:Header>
      <context xmlns="urn:zimbra">
      <sessionId id="2260" type="admin">2260</sessionId>
      <change token="119977"/></context>
   </soap:Header>
   <soap:Body>
      <AuthResponse xmlns="urn:zimbraAdmin">
         <authToken>0_fd180...313b</authToken>   
         <lifetime>43199999</lifetime>
         <a n="zimbraIsDomainAdminAccount">false</a>
         <sessionId id="2260" type="admin">2260</sessionId>
      </AuthResponse>
   </soap:Body>
</soap:Envelope>

De esta respuesta nos tendremos que apuntar dos datos importante como son el authToken y el sessionId que nos permitirán hacer otro tipo de peticiones a Zimbra, pero esta vez ya logeados.

Es importante comprender el formato de una petición SOAP. Toda petición SOAP va dentro de tags <envelope>...</envelope>. Luego la petición tiene una cabecera <header>...</header> y un cuerpo <body>...</body>. El resto de tags vienen especificados por el tipo de web service y debemos conocer previamente su estructura antes de hacer una petición.

Veamos ahora como se crea un mailbox o dirección de correo. Para ello primero consultamos /opt/zimbra/doc/soap-admin.txt y vemos que existe una función SOAP llamada CreateAccountRequest. Por tanto para crear un mailbox tenemos que enviar al web service esta petición:

<soap:envelope soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:header>
      <context xmlns="urn:zimbra">
      <authtoken>0_fd180...313b</authtoken>
      <sessionid id="2260">2260</sessionid>
   </context>
   </soap:header>
   <soap:body>
      <createaccountrequest xmlns="urn:zimbraAdmin">
         <name>soyunusuario@miempresa.com</name>
         <password>123456789</password>
         <a n="givenName">Francisco</a>
         <a n="sn">Rebollo</a>
      </createaccountrequest>
   </soap:body>
</soap:envelope>

Es importante que noteis como dentro del header hemos añadido los valores del authToken y del sessionId que hemos obtenido anteriormente. Esto es necesario ya que solo podemos utilizar la función CreateAccountRequest si anteriormente nos hemos identificado. El resto de parámentros que pasamos por el body son: dirección de correo, contraseña, nombre y apellido. Dentro del body podemos pasar muchos más parámetros utilizantdo el tag <a> y el atributo "n=".

Para quien no domine de PHP la manera de enviar estas peticiones XML por Internet a Zimbra es programando las funciones curl. Estas funciones lo que hacen es poder abrir conexiones con servidores http, ftp, telnet, etc.
Estos son los archivos fuentes de pruebas.

zimbraAdmin.class.php


cpdbath

21 de octubre de 2008

A veces en la vida tienes que expandir los dominios de tú CPD más allá de los confines:


la foto la encontré por Google Images


bypass zimbra antivirus

18 de octubre de 2008

Rara vez se me ha clavado el antivirus Clamav (o cualquier otro) al analizar un correo desde Zimbra, pero una vez me paso y tuve que actualizar el motor de Clamav para que todo siguiera funcionando.

La manera más elegante de deshabilitar el antivirus y/o el antispam es desde su la web de administración de Zimbra. Hay que ir a Configuración --> Servidores --> midominio.com --> Servicios.

Allí en la pestaña servicios basta con desmarcar Antivirus y Antispam. Luego grabamos el cambio y reiniciamos Zimbra con un zmcontrol.


Para quien le gusta más la linea de comandos, también se puede hacer tocando el archivo de configuración de Amavis: /opt/zimbra/conf/amavis.conf.in. No confundir y modificar el amavis.conf, ya que uno se genera a partir del otro.

Si editamos el .in y modificamos las lineas:

%%comment SERVICE:antivirus%% @bypass_virus_checks_maps = (1);
%%comment SERVICE:antispam%% @bypass_spam_checks_maps  = (1);
Por estas otras:

@bypass_virus_checks_maps = (1);
@bypass_spam_checks_maps  = (1);


la informatica y yo

17 de octubre de 2008

La canción del administrador del sr. maligno me hizo recordar que tenia perdido por la inmensidad del favoritos un de los mejores monólogos sobre informáticos:



yo y las blacklist

15 de octubre de 2008

Uno de los mayores problemas que tengo con el tema del spam es que de vez en cuando alguien de la empresa me reenvía un mail diciendo que nuestra IP está dentro de una lista de spam. El problema más grande es cuando este mail no dice el nombre de la lista de spam donde estamos metidos.


Un ejemplo típico que Postfix devuelve cuando no puede enviar el mail por este problema es:

Asunto: Mail System Error - Returned Mail

This Message was undeliverable due to the following reason:

Each of the following recipients was rejected by a remote mail server.
The reasons given by the server are included to help you determine why
each recipient was rejected.

Recipient: 
Reason: Service unavailable; Client host A.B.C.D blocked using sbl-xbl.spamhaus.org;
http://www.spamhaus.org/SBL/sbl.lasso?queryËL23442

Please reply to postmaster@miempresa.com if you feel this message to be in error.


Que te metan en las listas de spam es algo díficil de controlar y a la larga me parece que hace más daño que otra cosa.
Explícale tú a la persona, que su mail no llega porque estamos dentro de una lista "de color negro".

Así que lo único que podemos hacer es, evitar enviar spam (si es que realmente enviamos). Para ello lo primero que hago es tener todas las maquinas con antivirus y parcheadas. Lo segundo es cerrar por el firewall que alguien pueda enviar correo (puerto 25/TCP) por si solo. Es decir la única maquina que puede enviar correo es el servidor de SMTP.

Otra cosa que hago que hablar con cada departamento para ver si alguien se le ocurre hacer un mailing con cuentas de clientes o proveedores. De paso le digo que los mailings nunca se hacer desde el campo "con copia a", sino desde el campo "con copia oculta a". No es la primera vez que veo mailings con "con copia a".

En el caso que se hagan mailings una posibilidad es hacerlo desde otra dirección IP diferente a la IP que utilizamos para el correo tradicional. De esta forma si nuestra IP de generación de mailings es cazada no afectará a nuestro correo ordinario. Otra posibilidad es contratar un proveedor para que envie este los mails.

También es aconsejable leerse las políticas de postmaster de las grandes proveedores de correo como: Terra, Hotmail o Yahoo. Normalmente siempre tienen una pagina Web donde esplican sus politicas para que tú correo no sea detectado como spam (http://www.terra.com/postmaster/, http://postmaster.hotmail.com/ o http://postmaster.yahoo.com/).

Si tienes una Web o Intranet con algun formulario de envío de correo, también es aconsejable repasarlo. Pudiera ser que alguien esté utilizando algún bug de la pagina (lo normal son parámetros no validados correctamente) que permita enviar correo utilizando tú servidor SMTP. Aquí tienes algún ejemplo de como hacerlo http://foro.hospedajeydominios.com/showthread.php?t=2388.

Pudiera ser que al final de todos nuestros mecanismos para evitar estar en una lista, acabemos están ella. Si esto sucede hay que averiguar en que lista de spammers estamos y rellenar el formulario para decirle que no somos unos spammers. Si no conseguimos averiguar la lista solo nos queda tener una buena batería de blacklist e ir repasándola de vez en cuando para ver si estamos en ella.

Aquí tenéis una pequeña lista:

+ http://www.mxtoolbox.com/blacklists.aspx (busca en varias blacklist)
+ http://www.spamhaus.org/sbl/index.lasso
+ http://www.spamcop.net/bl.shtml
+ http://w3dt.net/

Más información:
+ Spam Block List Implementation
+ Wikipedia Spam
+ Postfix Spam Control
+ Postfix configure anti spam with blacklist
+ Evitar estar en listas de spam

en su día me preparé para oracle

14 de octubre de 2008

Cuando en su día me certifiqué en administración de Oracle 10g en PUE, encontré por Google este fantástico curso de Oracle 10g de la Universidad de Murcia. Para los más aventures con este curso y el libro oficial basta para certificarse en Administración Ora10g. La verdad es que me sirvió de mucho, ya que me permitió desde casa montar un Oracle y hacer las prácticas que exponen. Las prácticas son muy parecidas a las que se piden para certificarse, además todas están resueltas con los comandos necesarios. Tenéis el curso y las prácticas.

El curso se compone de dos partes en archivos PDF.

Curso básico de Ora10g:

+ Diapositivas de la primera parte (temas 1 al 5)
+ Diapositivas de la segunda parte (temas 6 al 10)
+ Práctica resuelta del tema 1 (Arquitectura de la BD)
+ Práctica resuelta del tema 2 (Arranque y parada)
+ Práctica resuelta del tema 3 (Fichero de control)
+ Práctica resuelta del tema 4 (Ficheros redo log)
+ Práctica resuelta del tema 5 (Tablespaces)
+ Práctica resuelta del tema 6 (Segmentos de rollback y espacios de undo)
+ Práctica resuelta del tema 7 (Usuarios, privilegios, roles y perfiles)
+ Práctica resuelta del tema 8 (Jobs)
+ Práctica resuelta del tema 9 (Auditoría)
+ Práctica resuelta del tema 10 (Copias de seguridad y recuperación)

Curso avanzado de Ora10g:

+ Diapositivas de la primera parte (Temas 1 al 5)
+ Diapositivas de la segunda parte (Temas 6 al 10)
+ Simulacion de la instalacion (capturas de pantalla)
+ Simulacion de la creacion de una BD con DBCA (capturas de pantalla)
+ Práctica resuelta del tema 1 (Instalación)
+ Práctica resuelta del tema 2 (Diseño y creación de la BD)
+ Práctica resuelta del tema 3 (Estructuras de almacenamiento)
+ Práctica resuelta del tema 4 (Nuevas Funcionalidades de Monitorización y Ajuste)
+ Práctica resuelta del tema 5 (Monitorización y Ajuste Tradicional)
+ Práctica resuelta del tema 6 (Net)
+ Práctica resuelta del tema 7 (Shared server)
+ Práctica resuelta del tema 8 (Archivelog)
+ Práctica resuelta del tema 9 (Copias de seguridad)
+ Práctica resuelta del tema 10 (Recuperación)

Aquí tenéis todo el curso en un Zip (15Mb).

Aunque sea una certificación en administración es muy aconsejable tener unos buenos conocimientos de SQL. Para ello, la certificación prepara una par de esquemas en Oracle llamados HR y Scott con una serie de ejercicios de consultas. Aquí tenéis un listado con muchas consultas SQL. El mayor interés de este archivo es ver como se utiliza la gran cantidad de funciones (de tiempo, de cadenas, matemáticas etc) que tiene Oracle.

Más información:
+ Instalación de los esquemas de ejemplo de Oracle
+ Descripción del esquema HR
+ El Oracle Certificarion Program para administrador

comienza asterisk (parte 3)

13 de octubre de 2008

Hoy hemos hecho las pruebas de cobertura para los teléfonos inalámbricos DECT. Se han comprado dos modelos diferentes de DECT. Un modelo robusto para la gente que esta de arriba para abajo cargando y descargando cajas (Kirk 4020), y luego, otro grupo de gente de oficina que tendrán un modelo más barato (Siemens Gigaset S450). La cobertura necesaria para toda nuestra empresa se alcanza con una antena principal Kirk Wireless Server 600 y 6 repetidores Kirk de 4 canales cada uno.

Antes de comprar los repetidores seria aconsejable hacer un estudio de cobertura para ver hasta donde llega la antena principal y a partir de allí decidir cuantos repetidores colocar. En nuestro caso con 6 repetidores ya tendremos bastantes, pero habrá uno que no podrá enlazarse a la antena principal porque no llega. Lo ideal es que todos los repetidores se enlacen con la antena principal. Nosotros tendremos un repetidor que tendrá que enlazarse con otro repetidor para llegar hasta la antena principal. Esto es un pequeño inconveniente ya que el repetidor que hace de pasarela hasta la antena principal pierde un canal de los 4 que tiene por hacer este trabajo. Es decir si tiene 4 canales tenemos ocupados: un canal para enlazar contra la antena principal, otro para enlazar con el repetidor y nos quedan dos canales libres para hacer llamadas concurrentes. Para el resto de repetidores nos quedarán tres canales libres de llamadas concurrentes.
Para hacer el estudio de cobertura, se lo puede hacer uno mismo. Con una antena y un inablambrico podemos ir recorriendo la empresa y mirando los niveles de señal que proporciona el menú de propio teléfono

También hemos instalado las nuevas ADSLs bajo un Cisco 877 en las sedes. Las sedes llevaran unos días trabajando con estas ADSLs para asegurar que todo funciona correctamente. Todas las sedes (al igual que la central), tendrán separada por VLANs, la red de datos de la red de voz. Una vez este todo funcionando, crearemos los túneles de VPN contra la central, y configuraremos el propio tftp del Cisco para proveer de configuración a los propios teléfonos de la sede. Aunque es posible proveer la conflagración (o firmware) de los teléfonos a través de la VPN ya establecida, por seguridad será el dispositivo más cercano (el router Cisco de la sede) la que proporcione la configuración. Hay que decir que tenemos pocas sedes.

Esta semana montaremos el servidor de Asterisk y comenzaremos hacer la primera configuración. También intentaremos desplegar a finales de semana todos los teléfonos por la mesas, conservando la telefonía tradicional para hacer un paralelo.

También hemos preparado (en un Asterisk de pruebas), las voces que se oirán al llamar a la empresa. Voces como "Buenos días, ha llamado a...", "Si quiere hablar con... pulse 0... si quiere...", etc. Estas voces junto con las extensiones y grupos de extensiones hay que tenerlo claro y hablado con todos los responsables de departamento antes de comenzar la instalación para no tener que estar cambian y cambiando el plan de discado.

Para grabar las voces (archivo .wav) se pude utilizar el propio teléfono haciendo un plan de discado como este. También es posible contratar una empresa para que preste una voz bonita, pero cada cambio supone pasta. Así que hemos hecho un casting en la empresa y hemos seleccionado la voz más bonita... claro está que es una mujer.
La empresa Vocesenlared.com se dedica hacer voces para centralitas como Asterisk.

Aquí tenéis un esquema de red bastante sencillo donde podéis ver como está separada la red de voz y datos a través de las VLANs de los HP Procurve y como se conectan las sedes por VPN a nuestra central. Los telefonos que manejaremos serán: Polycom 320/330, Polycom 430 (con manos libres), Polycom 650 (con tres módulos de expansión), Kirk 4020, Siemens S450. Los routers que manejaremos serán: Cisco 1801 y 877 todos con IOS que soportan QoS y seguridad ipsec. Además al ser elementos criticos para la comunicación tendremos una Smartnet 8x5x4. Una vez la red y la conectividad está estable se montará la centralita Astetisk.
Otra cosa que tenemos que conseguir es separar el tráfico de navegación que irá por una ADSL 2Mb y el tráfico de VoIP y servicios (de la DMZ) que irá por una fibra de 4Mb/2Mb. Para ello el 1801 diferenciará el tipo de tráfico (route-map y next-hop) y enrutará por una salida u otra.



Para el próximo post habrán cosas más técnicas. Versiones, configuraciones, parámetros, etc.

google la historia

8 de octubre de 2008

He terminado de leer "Google la historia" de David A. Vise (premio Pulitzer en 1990). Lo recomiendo. Explica la historia de Google desde que los pimpollos están en Stanford (1997) hasta que la empresa sale a bolsa (2004). Estas son las anotaciones:

"La norma del 20% era insólita en las empresas modernas, pero tenía un precedente. Muchos años antes la empresa 3M, que producía las cintas de la marca Scoutch, puso en práctica una norma del 15% para estimular la innovación, haciendo que sus ingenieros dedicaran el 15% de su horario a proyectos de su propia elección. Ese tiempo dedicado a soñar trajo consigo la idea de los Post-It".

"Sergey argumentaba sobre GMail: Suena alarmante, pero no lo es. Los anuncios tienen que ver con el mensaje que se está leyendo en ese momento. No se conservan mensajes ni se explotan con otros fines ni nada por el estilo. Tampoco se facilita ninguna otra información. Tenemos que proteger el correo y la privacidad de la gente. Los servicios de correo en la red escanean los mensajes. Los escanean y esos se sabe; lo hacen en busca de spam. Nosotros hacemos lo mismo para mostrar anuncios. No hay nadie observando, de modo que no creo que sea un problema de privacidad. He utilizado GMail algún tiempo y me gusta tener anuncios. No distraen. Son útiles".

"Google acepta anuncios de vinos, pero no de cerveza ni licores"

"No admite la publicidad de cigarrillos y hace una declaración política en la que rechaza de pleno el anuncio de las armas. Pero gana dinero con la venta de cierto tipo de proyectiles, silenciadores y otros artilugios para armas."

"... rechaza anuncios que promocionen productos que eliminen rastros de drogas, aditivos para análisis de orina u otros productos diseñados para facilitar a la gente pasar pruebas de detección".

"...prohibe a si mismo la publicidad de drogas, fuegos artificiales, casinos online, curaciones milagrosas, detectores de radar y diversas armas como el puño americano".

"La salida a bolsa no gustaba. Las ventajas de seguir siendo una empresa que no cotizaba en bolsa eran enormes y no les gustaba nada perderlas. Además sus rivales Microsoft y Yahoo! iban a darse cuenta de lo rentable que había llegado a ser Google y enterarse de muchos detalles relativos al alcance de sus operaciones".

"... la empresa había repartido entre los nuevos contratados muchas acciones cuando aun no cotizaba en bolsa y Larry y Sergey se sentían obligados a proporcionar a sus trabajadores un modo de transformar las acciones en dinero constante y sonante".

"... en otras palabras, practicamente todos los ingenieros contratados para trabajar tenian que ser aprobados por Brin y Page, y además insistían en ver los expedientes académicos y los resultados de los tests".

"Resultaba que la mayoría de la gente ni siquiera se daba cuenta de que los resultados de las búsquedas contenían anuncios. Ésta era una razón por la que la gente no comprendia como Google ganaba dinero".

"Al reunir los anuncios bajo el rotulo 'enlaces patrocinados' se evitaban presiones. Era un rotulo sin la carga negativa de anuncios y por eso pinchaba más gente. Alan Deutshman en un artículo decía: los anuncios de Google son insólitamente más efectivos porque la mayoría de las personas no se dan cuenta de que son anuncios, ¿no es perverso?".

En la presentación en bolsa la CMV escribió a Google y sus abogados: "por favor revisen o supriman manifestaciones como 'un gran servicio al mundo', 'gran impacto mundial', 'no ser malvado' o 'hacer del mundo un lugar mejor'. Larry y Sergey se negaron a cambiar su discurso."

La revista PlayBoy fue a Googleplex hacer una entrevista. El periodista decía: "Brin se lo estaba pasando en grande, empapado de sudor en un partido de voleibol en un recinto al aire libre. Saliendo descalzo de la cancha y sin camiseta respondió a mis preguntas mientras picaba en una ensalada".

Al cocinero de Google le dijeron una vez: "Este fin de semana vamos a tener una fiesta de cables. Yo no sabia lo que era eso. Fui al centro de datos de San Jose para hechar una mano y me vi en el suelo tirando cables. Todos arrimamos el hombro". Eran 50 trabajadores en Google.

"Las empresas privadas que combaten el fraude de los clicks en nombre de sus anunciantes tratamos de convencer a Google y a otros motores de búsqueda de que han acumulado datos que avalan la existencia del fraude y reclaman devoluciones". Google no les hace mucho caso.

El fraude de los clicks consiste en que una empresa hace click continuamente sobre los anuncios de su competencia. Cada click le cuesta dinero (entre 6 y 15 dolares) a la empresa de la competencia y como estos clicks no terminan en una compra para la empresa esta pierde dinero. Existen programas para hacer click sobre enlaces patrocinados de empresas y "gastarle" todo el dinero que han pagado por tener ese anuncio.

"Google tiene los datos pero no la motivación para aplicar los recursos suficientes para combatir el fraude de los clicks". Lógicamente no les interesa.

Google abrió un centro en la Universidad de Washington. Microsoft tenia una sede allí: "La fuga de cerebros expertos en software era una experiencia sin precedentes. Google estaba quitando titulados a Microsoft. Para los ingenieros era fácil de cambiar de barco sin tener que mudarse a otra ciudad y ni siquiera de domicilio. Microsoft incapaz de parar la fuga de talentos, el consejero Steve Balmer dijo: Voy a acabar con ese puto Google".

Más información:
+ La Google GLAT
+ Primeros servidores

hackers: rebelión en la red

5 de octubre de 2008

Hace ya mucho tiempo que "la noche temática" de la2 hizo un intensivo nocturno de hackers emitiendo dos documentales y una peli. Navegando por Internet di con uno de los documentales que me hizo recordar que yo estuve allí delante de la tele viendolo hasta las tantas de la noche.

La película que emitieron primero fue, "Los fisgones" y posteriormente estos dos documentales:

Código Linux.



Hacktivistas: los agitadores de la red.



Más documentales:
+ HACKERS: DEFCON
+ CIBERTERRORISMO ¿Mito o realidad?
+ En busca de hackers
+ The histoty of hacking

zarafa vs zimbra

1 de octubre de 2008

Hoy he estado haciendo una primera instalación de Zarafa Community (version open) para ver como es y que trae de diferente o igual que Zimbra (versión open). La instalamos para probar como era, ya que anunciaban que a final de año tendrían soporte para Blackberry, pero solo en la versión de pago.

Además la versión open de Zarafa trae soporte para que tres clientes de Outlook que se puedan conectar a Zarafa utilizando un conector proporcionado por ellos. Zimbra también tiene conectator para Outlook pero no da ni un solo conector para su versión open.

Lo primero que me ha llamado la atención es lo poco que ocupa el tar. Unos 13Mb en comparación con los 300Mb que creo que estaba el tar del Zimbra 5.x. Cuando empizas a instalar te das cuenta de porque ocupa tan poco. El motivo es que tiene un montón de prerequisitos. Tenemos que tener instalado en nuestra maquina el Apache, el MySql, el Postfix, etc. Por el contrario con Zimbra podemos hacer una instalación limpia con un Linux 'pelado' y Zimbra ya se encarga de instalar todo el soft necesario. Por eso Zimbra ocupa sus 300Mb. En este aspecto prefiero Zimbra.

Otra cosa que he notado es la poca documentación. Tiene tres tristes PDFs y una wiki que acaba de empezar. Zimbra lleva más tiempo funcionando y su wiki esta bien surtida de documentos.

Lo primero que he tenido que hacer es instalar el Mysql (yum install mysql-server)... y php... y libcurl. Como Zarafa no trae todo el software he tenido que instalarlo a mano. Una vez comienza la instalación detecta el MySql y hace unas cuantas preguntas, como el nombre de la bbdd, los puertos, la contraseña del administrador, etc.

Una vez termina la instalación ya esta todo funcionando, pero mi gran desilusión es que no hay ninguna consola web de administración. Todo la administración se hace a linea de comandos. Por ejemplo, para crear todos los usuarios, existe el comando zarafa-admin para ir creándolos. Esto en Zimbra no pasa, tenemos una consola Web y luego unos comandos de administración.

Lo que si que puedo decir que me ha gustado de Zarafa esu interfaz Web del cliente. Muy parecida al OWA (Outlook Web Access) y más elegante que Zimbra para quien este acostumbrado a los colores y formas de Windows. Otra cosa muy chula de Zarafa es la cantidad de idiomas que tiene. Incluido el catalan.



Conclusión: aun es un producto joven, pero va detrás de Zimbra...

Más información:
+ Demo de Zarafa