sábado, 6 de agosto de 2011

Mundo Hacker TV

Ayer por la mañana, como todos los días a primera hora estuve leyendo las últimas publicaciones en www.barrapunto.com, y di con una página llamada Mundo Hacker TV, que era un programa de radio y TV por internet (GlobbTV), que pues ahora dará el salto a la TV Nacional española, por el Canal Telecinco.
Me pareció interesante, dado que tocan temas de seguridad informática, internet, redes, novedades tecnológicas, entre otros temas, pero lo hacen con una dosis de humor que los hace auténticos.

A continuación el link para que puedan ver algunos de los capítulos de esta serie que promete.




Disfrútenlo.

jueves, 28 de julio de 2011

Los ingresos económicos de Facebook


Facebook cuenta con cerca de 600 millones de usuarios repartidos por todo el mundo, y siete años después de su creación genera cientos de millones de dólares en ganancias al año, según un informe elaborado por el banco estadounidense Goldman Sachs.
De acuerdo a estadísticas divulgadas por la red social en el Social Media World Forum en Londres, Reino Unido, el 50 por ciento de sus usuarios en el mundo regresan todos los días al sitio. Y 200 millones ingresan a él vía un teléfono celular.
Pero ¿de dónde vienen sus ingresos económicos?
La red social cuenta con un grupo de inversionistas privados que han inyectado cientos de millones de dólares a la empresa y la han hecho valuarse, según Goldman Sachs, en una cifra superior a los 50 mil millones de dólares .
Sin embargo, Facebook asegura que ya es capaz desde hace un par de años se hacerse cargo de sus gastos -obteniendo ganancias- sin ayuda de nadie. La inversión , dicen, sólo sirve para crecer.
Tres son las joyas de la corona que están llenando los bolsillos del sitio: publicidad, acuerdos con terceras empresas y monedas virtuales.
Publicidad social. La mayor parte de la contribución a las finanzas de la empresa proviene de los avisos.
Facebook maneja tres diferentes tipos de anuncios en su sitio. Uno de esos recursos es la publicidad dirigida, en donde los anunciantes escogen a quién llegar.
Otro de los anuncios tienen una modalidad interactiva, en donde las empresas piden a los usuarios que hagan algo en su publicidad. Asimismo, como tercera opción, también existen los avisos contextuales, en los que se muestra cuáles de nuestros amigos gustan de cierta marca o producto.
Se estima que tan sólo en 2010 -y sólo incluyendo las dos primeras modalidades- la red social logró captar cerca de 800 millones de dólares por este concepto.
Pero la publicidad contextual -que fue introducida hace poco- podría pronto superar esa cifra, según los datos que compartió el director de ventas de Facebook en el Reino Unido, David Parfect, que asegura que dicha modalidad es doblemente efectiva porque los usuarios confían más en sus amigos que en las empresas.
"Si el usuario ve que un amigo gusta de un producto suele inclinarse más por hacer clic en él", dijo.
Muchas empresas están usando los anuncios publicitarios en la red social para llevar a los usuarios a su comunidad dentro de las paredes de Facebook y no sólo redirigiéndolos a su sitio.
Algunas han comenzado a implementar comercio electrónico dentro de la red social o integran sus productos al sitio para que la gente no vea una diferencia entre visitar su página o permanecer en Facebook.
Otra parte de sus ingresos proviene de acuerdos con terceras empresas como Microsoft, que vende publicidad dentro de la red social a partir de un acuerdo que ambas compañías firmaron en 2007. Dicho trato le redituó a Facebook cerca de 50 millones de dólares en 2009.
Moneda virtual. Pero la red social está extendiendo sus brazos a más terrenos. Uno de los que más está creciendo es su sistema Credits , que permite a los usuarios trasladar su dinero real a una divisa virtual que les permite comprar suscripciones en juegos, adquirir bienes virtuales, alquilar películas (en la reciente medida que implementó Warner de forma experimental) o regalos para sus amigos.
La red social no ha revelado cuánto dinero le deja este modelo de negocio, pero los analistas estiman que el presente año (2011) podría redituarle más de 100 millones de dólares.
Parfect deja en claro además que esperan que Deals -el servicio que permite a sus usuarios recibir descuentos en negocios cercanos tras registrar su presencia en el servicio Lugares- siga creciendo, abriendo la puerta a más ingresos.
El director de ventas británico de la empresa aclara que la empresa no otorga la tecnología a las empresas para que realicen sus campañas de mercadotecnia. Simplemente les presta su plataforma, convirtiendo después esa presencia en anuncios publicitarios.
Esas son sólo unas muestras de los modelos de negocio de la red social más grande del mundo. Parfect recuerda las palabras del fundador de su empresa, Mark Zuckerberg, que hace poco dijo: "Sólo llevamos recorrido un 1% de nuestro camino".
Facebook parece saber que en Internet ninguna empresa tienen su futuro asegurado, por lo que están diversificando su negocio para generar ingresos en varias áreas de la esfera social que están construyendo y que, hasta ahora, les está dejando dinero.
A la búsqueda del asesor de Obama. Facebook quiere contratar a Robert Gibbs, ex vocero del mandatario estadounidense , como uno de los directivos de su departamento de comunicaciones. La compañía incluso busca acelerar la decisión del saliente funcionario para que deje de lado sus proyectos políticos lo más rápido posible y se sume a la firma, según la agencia ANSA.Al dejar la Casa Blanca en febrero último, Gibbs dijo que se uniría al equipo de campaña para la reelección de Obama en los comicios del año próximo. "Un empleo para el ex funcionario en Facebook puede valer millones de dólares" para el hombre que fue el vocero durante dos años del actual mandatario estadounidense, dijo The New York Times. El diario dijo que los detalles del eventual paquete salarial de Gibbs "todavía deben ser discutidos", pero afirmó que fuentes cercanas a la negociación dijeron que el ex portavoz "recibiría un salario en efectivo además de acciones de la compañía antes de la oferta pública inicial" en programa.

viernes, 22 de julio de 2011

CentOS 6

La versión 6 de CentOS, ya esta disponible, luego de casi 8 meses de que Red Hat Enterprise Linux 6 (RHEL) sea presentada. Hay algunos cambios importantes en esta versión en comparación con las versiones anteriores de CentOS y es muy recomendable la lectura de las notas de esta versión en
http://wiki.centos.org/Manuals/ReleaseNotes/CentOS6.0.

CentOS6 Disponible CentOS 6

A continuación listo los links de los archivos torrent del DVD de instalación de CentOS 6:


Esta versión trae predeterminada la versión de Samba 3.5.4, versión que ya permite configurar un Servidor de Dominio para clientes Windows Seven. Samba puede trabajar con clientes W7 desde la versión 3.4 hacia adelante.

 

sábado, 14 de mayo de 2011

El Gestor de Base de Datos, Firebird

Firebird, es un sistema de administración de base de datos relacional (o RDBMS) SQL de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. 


Características

  • Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.
  • Ejecutable pequeño, con requerimientos de hardware bajos.
  • Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
  • Soporte de transacciones y claves foráneas.
  • Es medianamente escalable.
  • Buena seguridad basada en usuarios/roles.
  • Diferentes arquitecturas, entre ellas el Firebird empotrado (embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.
  • Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms.
  • Existencia de controladores ODBC, OLEDB y JDBC.
  • Controlador nativo para PHP.
  • Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad y restauraciones periódicas.
  • Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.
  • Completo lenguaje para la escritura de disparadores (triggers) y procedimientos almacenados.
  • Capacidad de almacenar elementos BLOB (binary large objects).
Tipos de servidor
Existen dos tipos de servidor Firebird para ser instalados: “Classic” y “Super Server”. Si bien tienen varias diferencias menores entre si, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos.
Los propios desarrolladores de Firebird recomiendan lo siguiente a la hora de decidirse por uno de estos servidores:

•     En plataformas Windows seleccionar el Superserver.
•     En Linux simplemente elegir cualquiera, según las conexiones estimadas. En la mayoría de las situaciones no se notará diferencias en la ejecución.

Podría considerarse un tercer tipo, el Embedded. Éste consiste en una única DLL (de unos 2 MB de tamaño) que contiene todo el servidor. De esta forma se puede tener un DBMS completo disponible y distribuíble junto con aplicaciones de usuario.

Conceptos básicos
Para empezar, hay que entender que un servidor de base de datos -como Firebird/InterBase- es un proceso -es decir, un programa- ejecutándose en la computadora que se utiliza como servidor. Este proceso servirá de "intermediario" entre el programa cliente -que puede estar hecho con Power Builder, Java, Delphi, C++Builder, etc- y la base de datos física -en este caso, el archivo de base de datos, generalmente con extensión gdb-.
Este programa -Firebird/InterBase-, debe atender todas las órdenes que le hacen los programas cliente. Estas órdenes tienen que ver con alguna base de datos, por ejemplo: insertar un registro, modificar el valor de una columna de una tabla, modificar la estructura de una tabla, eliminar un registro, obtener un conjunto de registros, etcétera.
En el caso de los servidores de base de datos SQL, las órdenes deben ser escritas en ese lenguaje (SQL), pues es el único que el servidor entiende. Por ejemplo, para insertar un registro se debe escribir una orden INSERT, para eliminar uno o más registros se le debe dar una orden DELETE, etc.

Diferencias entre formatos de archivos y servidores SQL
Cuando utilizamos un formato de archivos (Paradox, dBase, Access), el programa cliente (hecho con Delphi/C++ Builder) utiliza una interfaz prefabricada de acceso a los archivos, como la BDE. Menciono el término prefabricada porque son bibliotecas de funciones precompiladas (DLL) las cuales al ser utilizadas por el programa cliente, permiten abrir, modificar y obtener datos de los archivos de datos (los archivos DB, DBF, MDB). Cuando utilizamos programas cliente que acceden a una base de datos localizada en un servidor de archivos, lo que estamos haciendo es que todos los programas cliente abren físicamente el archivo de datos, mediante un proceso que se ejecuta en cada computadora cliente.

Esta situación conlleva algunas “desventajas” como las siguientes:
  • Si alguna conexión de red o programa cliente tiene un problema, puede dañar el archivo de datos, ya que lo está abriendo directamente.
  • Las consultas a datos pueden llegar a ser muy lentas, ya que para seleccionar los registros de una consulta, cada programa cliente debe de pedir todo el archivo al servidor de archivos y toda esta información debe viajar por la red.
  • No se están aprovechando los recursos del servidor, solamente aquellos que optimizan el acceso a los archivos, dado que la máquina que ejecuta la consulta es la máquina cliente, además de que se crean cuellos de botella en la red, como se explica en el punto anterior.
Ahora veamos las “ventajas” de utilizar un servidor SQL:
  • Se minimizan los daños a la base de datos cuando falla uno de los programas clientes, pues lo peor que puede pasar es que se quede abierta una o más transacciones, las cuales posteriormente se pueden recuperar o eliminar.
  • Se aprovecha al máximo las capacidades del hardware del servidor, debido a que el proceso de consulta de datos es ejecutado por el servidor SQL, el cual corre sobre el servidor de hardware.
  • Se optimiza el tráfico en la red, debido a que cuando el servidor SQL devuelve los datos de una consulta al programa cliente, solamente envía el conjunto de datos producto de la consulta, y no el total de los datos de la tabla, como sucede cuando se utiliza un servidor de archivos.
  • Estas son únicamente las ventajas a nivel de acceso y transmisión de datos, ya que a nivel de seguridad e integridad tiene muchas más ventajas.
Programa para Administración de la Base de Datos
Personalmente utilizo IBExpert versión 2006.12.13, el cual es un gran Administrador para manejar las bases de datos de Firebird, es intuitivo y permite una gestión rápida de los objetos de la BD. En cuanto a la programación de disparadores y procedimientos almacenados presenta seguimiento paso a paso para identificar errores (debug).







domingo, 17 de octubre de 2010

Recrear la consola de Administracion de Oracle con EMCA

Al instalar el nuevo servidor de base de datos Oracle 11g, sobre un CentOS 5.4, se puede acceder a la consola de administración por la siguiente dirección.     


Pero luego de reiniciar el servidor posiblemente tengamos un problema al tratar de iniciar el Administrado, y veremos un mensaje como el siguiente, que nos indica que el inicio ha fallado.




Si nos sucede esto, entonces podemos usar el emca (Asistente de Configuracion del EM), así primero debemos editar el archivo portlist.ini

[root@oracleserver ~]# su oracle
[oracle@oracleserver alex]$ cd $ORACLE_HOME/install/
[oracle@oracleserver install]$ vi portlist.ini


Y debemos cambiar la segunda línea al puerto que se 1158, o el que ustedes deseen utilizar, en este caso usaremos el 1158.

Número de puerto HTTP para Ultra Search =5620
Puerto HTTP de la Consola de Enterprise Manager (orcl) = 1158
Puerto del Agente de Enterprise Manager (orcl) = 3938


Para salir de la edición damos ESC y escribimos ":wq" y damos enter. 

Ahora podremos recrear la consola, para esto escribimos lo siguiente, e ingresamos los datos que el asistente nos solicitará.   Para obtener el puerto del listener podemos visualizarlo con: lsnrctl status.


[oracle@oracleserver alex]$ emca -deconfig dbcontrol db -repos drop

EMCA iniciado en 17-oct-2010 18:46:49
Asistente de Configuración EM, Versión 11.1.0.5.0 Producción
Copyright (c) 2003, 2005, Oracle. Todos los Derechos Reservados.

Introduzca la siguiente información:
SID de Base de Datos: orcl
Número de Puerto del Listener: 1521
Contraseña de Usuario SYSMAN:
Contraseña de Usuario SYSMAN:
¿Desea continuar? [sí(Y)/no(N)]: y^H^H
17-oct-2010 18:47:47 oracle.sysman.emcp.EMConfig perform
INFO: Esta operación se está registrando en /usr/app/oracle/cfgtoollogs/emca/ORCL/emca_2010_10_17_18_46_49.log.
17-oct-2010 18:47:48 oracle.sysman.emcp.util.DBControlUtil stopOMS
INFO: Parando Database Control. Puede tardar unos minutos...
17-oct-2010 18:47:55 oracle.sysman.emcp.EMReposConfig stopDBMSJobs
ADVERTENCIA: Error al iniciar la conexión SQL. No se pueden realizar las operaciones SQL
17-oct-2010 18:47:55 oracle.sysman.emcp.EMReposConfig invoke
ADVERTENCIA: No se han podido eliminar los trabajos DBMS.
17-oct-2010 18:47:55 oracle.sysman.emcp.ParamsManager checkListenerStatusForDBControl
ADVERTENCIA: Error al iniciar la conexión SQL. No se pueden realizar las operaciones SQL
17-oct-2010 18:47:55 oracle.sysman.emcp.EMReposConfig invoke
INFO: Borrando el repositorio de EM. Puede tardar unos minutos...
17-oct-2010 18:47:58 oracle.sysman.emcp.EMReposConfig invoke
INFO: El repositorio se ha borrado correctamente
La configuración de Enterprise Manager se ha realizado correctamente
EMCA terminado en 17-oct-2010 18:48:07



Y luego:

 [oracle@oracleserver alex]$ emca -config dbcontrol db -repos create

EMCA iniciado en 17-oct-2010 18:48:26
Asistente de Configuración EM, Versión 11.1.0.5.0 Producción
Copyright (c) 2003, 2005, Oracle. Todos los Derechos Reservados.
Introduzca la siguiente información:
SID de Base de Datos: orcl
Número de Puerto del Listener: 1521
Contraseña de Usuario SYSMAN:
Contraseña de Usuario SYSMAN: Dirección de Correo Electrónico para Notificaciones (opcional):
Servidor de Correo Saliente (SMTP) para Notificaciones (opcional):
-----------------------------------------------------------------
Ha especificado los siguientes valores
ORACLE_HOME de Base de Datos ................ /usr/app/oracle/product/11.1.0/db_1
Nombre de Host Local ................ localhost
Número de Puerto del Listener ................ 1521
SID de Base de Datos ................ orcl
Dirección de Correo Electrónico para Notificaciones ...............
Servidor de Correo Saliente (SMTP) para Notificaciones ...............
-----------------------------------------------------------------
¿Desea continuar? [sí(Y)/no(N)]: y
17-oct-2010 18:49:21 oracle.sysman.emcp.EMConfig perform
INFO: Esta operación se está registrando en /usr/app/oracle/cfgtoollogs/emca/ORCL/emca_2010_10_17_18_48_26.log.
17-oct-2010 18:49:22 oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creando el repositorio de EM. Puede tardar unos minutos...
17-oct-2010 18:53:16 oracle.sysman.emcp.EMReposConfig invoke
INFO: El repositorio se ha creado correctamente
17-oct-2010 18:53:18 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
INFO: Cargando los datos de configuración en el repositorio de EM. Puede tardar unos minutos...
17-oct-2010 18:53:53 oracle.sysman.emcp.EMReposConfig invoke
INFO: Los datos de configuración se han cargado correctamente
17-oct-2010 18:53:53 oracle.sysman.emcp.ParamsManager getLocalListener
ADVERTENCIA: Error al recuperar el listener para localhost
17-oct-2010 18:53:54 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
INFO: La biblioteca de software se ha configurado correctamente.
17-oct-2010 18:53:54 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
INFO: Desplegando archivos de provisionamiento...
17-oct-2010 18:54:01 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
INFO: Los archivos de provisionamiento se han desplegado correctamente.
17-oct-2010 18:54:01 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Protegiendo Database Control. Puede tardar unos minutos...
17-oct-2010 18:54:11 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Database Control se ha protegido correctamente.
17-oct-2010 18:54:11 oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Iniciando Database Control. Puede tardar unos minutos...
17-oct-2010 18:54:36 oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control se ha iniciado correctamente
17-oct-2010 18:54:36 oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> La dirección URL de Database Control es https://localhost:1158/em <<<<<<<<<<<
17-oct-2010 18:54:38 oracle.sysman.emcp.EMDBPostConfig invoke
ADVERTENCIA:
************************  WARNING  ************************
El repositorio de gestión se ha colocado en el modo seguro en el que se cifrarán los datos de Enterprise Manager. La clave de ci
frado se ha colocado en el archivo: /usr/app/oracle/product/11.1.0/db_1/localhost_orcl/sysman/config/emkey.ora. Asegúrese de que
se ha realizado una copia de seguridad de este archivo ya que los datos cifrados no se podrán utilizar si éste se pierde.
***********************************************************
La configuración de Enterprise Manager se ha realizado correctamente
EMCA terminado en 17-oct-2010 18:54:38


Y con esto tendremos nuestra consola reconstruida y funcionando correctamente. 
Escribamos en nuestro navegador: https://ipserveroracle:1158/em





lunes, 4 de octubre de 2010

Programar backup Oracle 11g en Centos 5

A continuación se realizará un script que generará un backup de Oracle utilizando el utilitario de exportacion EXP


Script del archivo 1 (backup1.bat):



#!/bin/bash
###########################################################
## Script para realizar backup Oracle
## ver 1.0
## Alex Echavarría
###########################################################
XBACKUP="/backups/oracle"
XDIA=`date +'%Y%m%d-%H%M'`
XDIA_BACKUP=$XBACKUP/$D_DIA
XDIA_F=`date +'%d-%m-%Y %H%M'`
echo "***Proceso de Backup iniciado: " $D_DIA_F


##Creamos el directorio para realizar el backup
mkdir $XDIA_BACKUP
echo "  -> Carpeta creada..."
chmod 777 $XDIA_BACKUP
echo "  -> Generando backup..."


##Seteamos variables de Entorno
export ORACLE_SID=nombre_instancia_oracle
export ORACLE_HOME=/usr/app/oracle/product/11.1.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_OWNER=oracle


##Lanzamos exportacion de ORACLE
exp system/1234 file=$XDIA_BACKUP/archivo_data.dmp owner=pruebas, administracion, conta1, conta2 log=/tmp/export_orasite.log buffer=1000000
echo "  -> Comprimiendo el Backup..."


##Comprimimos el archivo generado
gzip -8 $XDIA_BACKUP/archivo_data.dmp
echo "  -> Backup Generado en " $XDIA_BACKUP 




Ahora necesitamos un script para ejecutar el archivo 1 y que todas las salidas de este se guarden en un archivo log. Para esto simplemente escribimos lo siguiente:


Script del archivo 2 (backup2.bat) :


#!/bin/bash
cd /home/oracle
./backup_oracle.bat >> /tmp/oracle.log


Lo que hará el segundo script es ejecutar el bat 1 y enviar todas las salidas del mismo al archivo oracle.log.

Si consultamos el archivo podremos visualizar algo así:


Ahora que ya tenemos ambos archivos debemos ejecutarlos indicarle al S.O. que lo ejecute en las horas que nosotros deseemos, para esto utilizamos el crontab (Programador de Tareas de Linux). Este es un archivo ubicado en /etc/crontab.

Editamos el archivo con vi:  # vi /etc/crontab

Y agregamos una línea como esta al final:


Donde 45 indica el minuto, y 12,18 la hora, es decir este script se ejecutará a las 12:45 pm. y a las 6:45 p.m.



jueves, 30 de septiembre de 2010

Crear un usuario con privilegios de root en Linux

Tenia problemas para realizar algunas operaciones a nivel de root, y siempre tenia que loguearme y prácticamente para mi era una pérdida de tiempo, así que necesitaba hacer todo en la consola y al mismo tiempo conservar mi usuario.


Entonces primero al loguearnos como root, crearemos un usuario de la siguiente manera:


adduser -u 0 -o -g 0 alex


Debes cambiar "alex" por el usuario que tu requieras crear.


Luego para cambiar la contraseña al usuario creado debes ingresar:


passwd alex


Y el sistema te pedirá ingresar tu clave 2 veces para confirmarla.


Ahora cierra la consola, y vuelve a ingresar con tu usuario, y tendrás todos los privilegios.


Si deseas puedes comprobarlo en el archivo /etc/passwd.
Entonces de la consola escribimos:


cat  /etc/passwd


Y podrás visualizar que tu usuario se mantiene como 


usuario:x:0:0


Los ceros indican que tu usuario tiene privilegios de root.




Listo.