SafeChildren Banner

Havoc Oracle Solaris Experts

domingo, 8 de julio de 2012

SafeChildren Guardian entrevista en la radio

Introducción
Esta entrada está un poco fuera de la temática normal de mi blog, pero creo que es interesante también poder contar algunas cosas diferentes, no?

Como ya sabéis -y si no os lo cuento- soy el responsable de tecnología de Havoc Tecnologies y, entre los proyectos que llevo, está un Sistema de Control Parental de última generación y basado en análisis de Pautas de Comportamiento- de ahí muchas cosas de las que hemos hablado, como por ejemplo, Apache Hadoop, PostgreSQL y, por supuesto Solaris-.

El producto se llama SafeChildren Guardian  y fui entrevistado en Radio Aragón -en el programa de Aragón 3.0- sobre la conbinación de Internet, Menores y las soluciones existentes.

Aunque fue muy resumido, lo cierto es que fue una entrevista muy agradable y, al menos, pudimos aportar nuestro granito de arena a esos padres que, a veces, ven como sus hijos les superan en conocimientos tecnológicos.

Estoy encantado de ver como cada vez más gente se implica en el tema de los menores e Internet, y, espero, que la solución SafeChildren Guardian les aporte "ese punto de tranquilidad" a todos los padres y madres preocupados por sus hijos.





domingo, 25 de marzo de 2012

Login Incorrect al lanzar el comando zlogin sobre una zona de solaris


Introducción
Puede que alguna vez os pase que al intentar conectar a una zona de Solaris, el sistema os muestre un error diciendo que los roles sólo puede ser asumidos por usuarios autorizados.

Esto se debe a que hemos modificado el usuario "root" y ahora es un "role", por ello, si utilizamos el comando <zlogin _nombre_zona> nos denegará la conexión, por ejemplo:

havoc@h1-master-01:~$ pfexec zlogin www-test
[Connected to zone 'www-test' pts/3]
Roles can only be assumed by authorized users
Login incorrect


[Connection to zone 'www-zone' pts/3 closed]


La solución
Existen dos soluciones muy sencillas que a continuación os muestro. La primera es utilizar una opción en el comando <zlogin> y la segunda es volver a poner a <root> como usuario.

Utilizar un usuario con el role <root> en la zona
Podemos utilizar un usuario con el role <root> en la zona, y mediante la opción <-l usuario> conectarnos, por ejemplo, si tenemos el usuario "havoctec" en la zona "www-test"

havoctec@www-test:~$ id
uid=901(havoctec) gid=10(staff)
havoctec@www-test:~$ roles
root
havoctec@www-test:~$ logout

[Connection to zone 'www-test' pts/3 closed]
havoctec@hseries-master-01:~$ pfexec zlogin -l havoctec www-test
[Connected to zone 'www-test' pts/3]
Last login: Wed Mar 14 10:54:47 on pts/3
OpenIndiana (powered by illumos)    SunOS 5.11    oi_151a    September 2011
havoctec@www-test:~$

Configurar la cuenta de <root> como usuario y no como <role>
La otra solución -aunque a mi no me parece la mejor- es configurar la cuenta de <root> como usuario y no <role>, para ello, simplemente deberemos editar el archivo </etc/user_attr> y modificamos el valor de la propiedad <type=role> por <type=normal>, por ejemplo,

havoctec@hseries-master-01:~$ cat /etc/user_attr|grep ^root
root::::min_label=admin_low;lock_after_retries=no;auths=solaris.*,solaris.grant;audit_flags=lo\:no;profiles=All;clearance=admin_high;type=role

Conclusiones
Es muy sencillo seguir utilizando roles dentro de las zonas, y de esta forma, continuar con la seguridad extendida que nos proporciona RBAC.

Referencias

viernes, 20 de enero de 2012

DBLink con parametros en PostgreSQL

Introducción
Hace unos días una persona me dejó una duda a modo de comentario en la entrada de DBLinks en PostgreSQL. Esta duda es sencilla, y, a la vez interesante, por eso, he decidido crear una entrada explicando la solución.

La duda
¿Es posible crear una vista en PostgreSQL utilizando un DBLink con parámetros dinámicamente?

Es decir, lo que queremos es hacer los siguiente:
SELECT device_name FROM remote_database_v(param1, param2);
La solución
Sobre si es posible crear una Vista con un DBLink parametrizado, lo cierto es que no se puede, es decir, no podemos crear una vista pasando un argumento.

Sin embargo, podemos crear un procedimiento que nos devuelva un tipo "record" y pasarle como parámetros la cadena de conexión, por ejemplo:
CREATE OR REPLACE FUNCTION test_dblink_with_parameter(dbname character varying, dbhost character varying, dbuser character varying, dbuserpass character varying)
  RETURNS SETOF record AS
$BODY$
    SELECT t.device_name
    FROM dblink('dbname=' || $1 || '  port=5432 host=' || $2 || ' user=' || $3 ||' password=' || $4 , 'SELECT device_name FROM devices.as_device') as
     t(device_name character varying);
$BODY$
  LANGUAGE sql VOLATILE;
Y ahora podemos llamar a nuestro procedimiento como si fuese una tabla o vista.

Recordar que al ser de tipo "record" tenemos que decirle cómo es el formato del registro <AS (field1 type, field2 type, fieldn type)>, en nuestor caso devuelve el campo "as_device" que es de type "character varying".
SELECT * FROM test_dblink_with_parameter('dbname','localhost','user','password') AS (device_name character varying);
Algunas Mejoras
En función de los datos que estamos obteniendo, podemos, por ejemplo, optimizar el coste <COST> y el número de rows <ROWS> del procedimiento. En el ejemplo, hemos dejado el coste y el número de rows "por defecto",  COST 100ROWS 100.

Referencias


lunes, 2 de enero de 2012

Feliz 2012

Hemos pasado un año más, y como siempre, toca hacer un repaso a los 365 días que han transcurrido con sus buenos y malos momentos.

Puedo decir que para mi el 2011 ha sido uno de los años más gratificantes -tanto personal como profesionalmente- y, espero que el 2012 sea aún mejor.

Comencé una nueva aventura en Havoc Technologies como responsable del área de I+D e IT, todo un desafío, pero, ya estamos en la rampa de salida con los productos de Navegación Segura para Niños y Sistemas de Control de Navegación para empresas.

Todo ello basado en Solaris, PostgreSQL y Hadoop. Tecnologías que me encantan, y, aunque los comienzos no fueron fáciles, ya estamos a pleno rendimiento!

Por ello, me gustaría desear a todos los SysAdmins un Feliz 2012


Un Saludo,
Urko