Archivo de la categoría: Base de Datos

Articulos y noticias sobre las bases de datos mas conocidas actualmente en el mercado (postgreSQL, mySQL, MSSQL, Oracle)

Se muda el blog

seguimos siendo napster2011 pero con otra url y haciendo enfasis en temas de seguridad informatca https://seginfo2013.wordpress.com/

SkySQL Releases Tool For Deploying And Scaling Databases To Amazon Web Services

skysql

SkySQL released its first version of a configuration tool for deploying databases to a cloud environment. To start, the company will offer its configuration tool for use on Amazon Web Services (AWS). It will later extend its service to other cloud and bare metal environments.

The SkySQL service is meant for database administrators, but in particular has the end user in mind who may lack the technical skills to deploy enterprise database environments to a cloud environment. With the service, an IT manager can use an administrative console to manage instances, isolate and reconfigure individual nodes on the network, and back up and restore. Those are sophisticated capabilities that would otherwise require deeper database administrative skills to perform.

The service is compliant with the three most used MySQL distributions, namely MariaDB, MySQL database, and Percona Server.

CEO Patrik Sallner makes the point that MySQL is growing up. It is used more for business apps that require high levels of performance. With more sophisticated use cases, companies have more specialized requirements that in-house communities may not have the capability to offer. Companies like SkySQL can provide service level agreements and the latest performance optimization technologies that go beyond what can be done in-house. In line with that, SkySQL is seeking to provide a service that models after Red Hat. It will also offer a free service that is available to use on AWS.

SkySQL has raised $4 million in Series A funding from a number of investors, including OnCorps, Finnish Industry Investment Ltd., Spintop Ventures and Open Ocean Capital.

Fuente: SkySQL

Agujero de seguridad en las bases de datos Oracle

Un fallo en el protocolo de autenticación que utiliza Oracle permite acceder a susbases de datos con tan solo conocer el nombre de un usuario. El agujero de seguridad fue descubierto por un ingeniero argentino en mayo de 2010.

La vulnerabilidad descubierta en el método de autenticación de las bases de datos de Oracle fue reparada por la compañía a mediados de 2011, pero al parecer no en todas las versiones del software, por lo que las empresas que utilizan lasbases de datos Oracle 11.1 y 11.2 podrían ser víctimas de ataques.

Según los expertos en seguridad, el agujero permite acceder a todos los contenidos de las bases de datos con solo conocer el nombre de un usuario mediante ataques de fuerza bruta, sin necesidad de utilizar la técnica de hombre en el medio (man in the middle). La recomendación para los administradores de estas bases de datos es que desarrollen alguna técnica que evite este fallo hasta que Oracle emita una actualización que lo repare.

No es la primera vez que Oracle sufre brechas de seguridad en sus productos este año. Hace pocas semanas se daba a conocer un grave fallo en Java que afectaba a todos los navegadores de casi todos los sistemas operativos.

Fuente: Information Security EOG

Configurar PostgreSQL en Debian

Buendía queridos lectores de napster2011, hace un tiempo les enseñé a configurar LDAP en linux. En esta oportunidad les dejo un pequeño tutorial de como configurar PostgreSQL en Linux Debian, espero que les sea de mucha utilidad.

Las pruebas para este pequeño instructivo las hice con la versión 8.4.

Espero que sirva, y por supuesto, cualquier comentario o mejora es bienvenido.

Saludos cordiales

1) Instalamos

$ apt-get install postgresql

2) Editamos el archivo /etc/postgresql/8.4/main/pg_hba.conf

Cambiamos la línea

# IPv4 local connections:
host all all 127.0.0.1/32 md5

por

# IPv4 local connections:
host all all 127.0.0.1/32 trust

para que no nos pida password y así poder entrar y crear usuarios
(después se puede cambiar)

3) Reiniciamos el servidor

$ /etc/init.d/postgresql-8.4 restart

4) Conectamos al servidor con psql, el interprete de comandos SQL de postgres,

$ psql -h localhost -d template1 -U postgres -p 5432

Si todo anduvo bien, no nos pedirá clave si nos conectamos desde ‘localhost’.
Desde esta pantalla se pueden realizar todas las tareas adminitrativas relativas
a PostgreSQL.

5) Creamos un usuario

Desde la línea de ordenes de psql creamos un usuario

template1=# CREATE ROLE usuario WITH CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD ‘prueba’;

6) Restauramos el archivo /etc/postgresql/8.4/main/pg_hba.conf y reemplazamos ‘trust’
por ‘md5’ para que el servidor pida clave, es decir ponemos

# IPv4 local connections:
host all all 127.0.0.1/32 md5

7) Reiniciamos el servidor para que tenga efecto la modificación anterior

$ /etc/init.d/postgresql restart

8) Editamos eñ archivo /etc/postgresql/8.4/main/postgresql.conf y modificamos la
sentencia ‘listen_addresses’ para que el servidor escuche una interface de red
determinada (en cuyo caso habrá que indicar la dirección ip) o todas (indicadas
con “‘*'”).

listen_addresses = ‘*’ # escucha todas las interfaces

8) Volvemos a reiniciar para que los cambios tengan efecto

$ /etc/init.d/postgresql-8.4 restart

10) Ahora editamos de nuevo /etc/postgresql/8.4/main/pg_hba.conf y agregamos una línea
para acceder desde el host 192.168.1.6 en este caso

host all usuario 192.168.1.6/32 md5

donde

‘host’ significa que se atienden conexiones con y sin ssl
‘all’ significa que ‘usuario’ puede conectar a cualqier base de datos. Ac se pueden
especificar los nombres de las bases de datos que a las que se autoriza a conectar al
usuario
‘usuario’ es el nombre del usuario

‘192.168.1.6/32’ especifica el host. Se puede especificar un rango como 192.168.1.0/24 etc.

‘md5’ es el modo de autenticación.

Napster2011

MySQL por línea de comandos

Acceso a un servidor MySQL y administración de la base de datos por línea de comandos.

Es muy normal que utilicemos MySQL a través de páginas PHP y para administrar la base de datos utilicemos un programa como PhpMyAdmin, pero a veces no nos queda otro remedio que acceder a la base de datos a través de la línea de comandos.

MySQL tiene un programa, que se llama con el mismo nombre de la base de datos (mysql) que sirve para gestionar la base datos por línea de comandos. Ese programa, en una instalación de Windows se encuentra en un directorio como

C:\Archivos de programa\MySQL\MySQL Server 4.1\bin

El directorio puede variar, por ejemplo, puede estar localizado en la raíz del disco C:, o en cualquier otro lugar donde podamos haber instalado MySQL. Para acceder a la consola de MySQL en Windows tendremos que estar situados dentro de ese directorio.

En Linux, por supuesto, también se puede acceder a MySQL por línea de comandos. Posiblemente desde cualquier directorio podamos acceder a la consola de MySQL, sin necesidad de situarse en el directorio donde esté instalado.

Conectar con el servidor MySQL

Lo primero que tendremos que hacer es conectar con el sistema gestor de MySQL. Para ello, desde la línea de comandos invocamos a MySQL. Para ello, simplemente tenemos que escribir el comando “mysql” e indicarle unas opciones de conexión.

% mysql

Con el “%” expresamos el principio de la línea de comandos. Ese principio es el prompt que tengamos en nuestra consola de Linux o MsDOS, que puede ser algo como c:\mysql\bin>. El carácter “%”, por tanto, no tenemos que escribirlo.

Con esa sentencia se conecta uno con la base de datos con los parámetros por defecto. Es decir, al servidor local, con usuario y password igual a cadenas vacías.

Lo más normal es que tengamos que indicar algún otro dato para conectar con la base de datos, como el usuario, la clave o la dirección del servidor con el que queremos conectar. La sintaxis sería la siguiente:

% mysql -h nombre_servidor -u nombre_usuario -p

Si deseamos conectarnos a la base de datos en local y con nombre de usuario root tendríamos que escribir:

% mysql -h localhost -u root -p

Lo primero que nos preguntará será el password para el usuario root. Una vez introducida la clave, ya estaremos dentro de la línea de comandos de MySQL. Con ello el prompt cambiará a algo como esto:

mysql>

Podríamos haber indicado la contraseña directamente en la línea de comandos para iniciar la sesión con MySQL, pero esto se desaconseja por razones de seguridad. De todos modos, la sintaxis hubiera sido:

% mysql -h localhost -u root -pmi_clave

Nos fijamos que entre -h y el nombre del host hay un espacio en blanco, igual que entre -u y el nombre de usuario. Sin embargo, entre -p y la clave no debemos poner ningún espacio.

Dentro de la consola de MySQL

Una vez dentro, tendremos a nuestra disposición todas las sentencias de MySQL para el trabajo con la base de datos y el lenguaje SQL.

Lo más normal es que primero te tengas que conectar con una base de datos en concreto, de entre todas las que puedes tener creadas en tu servidor MySQL. Eso se hace con el comando use, seguido del nombre de la base de datos que deseas conectar.

mysql> use mibasedatos;

Esto nos conectaría con la base de datos llamada “mibasedatos”.

Atención: Hay que fijarse que todas las sentencias dentro de la línea de comandos de MySQL acaban en “;”. Si no colocamos el punto y coma, lo más seguro es que no se ejecute el comando y nos vuelva a salir el prompt para que sigamos introduciendo el comando. Si lo que queríamos era ejecutar la sentencia que habíamos escrito antes, con simplemente entrar el “;” será suficiente. Es decir, no debemos escribir de nuevo la sentencia entera, sólo el “;” y volver a apretar “enter”.

Si queremos ver una lista de las bases de datos alojadas en nuestro servidor podemos escribir el comando show databases. Así:

mysql>show databases;

Con esto nos mostraría una lista de las bases de datos de nuestro servidor. Algo como esto:

mysql> show databases
-> ;

5 rows in set (0.02 sec)

Si queremos crear una base datos, podremos hacerlo con el comando “create database” seguido del nombre de la nueva base de datos.

mysql> create database miprueba;

Eso nos creará una base de datos que se llama “miprueba”. Como habíamos comentado, si queremos luego usar esa base de datos escribiríamos:

mysql> use miprueba;

Lógicamente, esta base de datos recién creada estará vacía, pero si estuviéramos usando una base de datos ya creada y queremos ver las tablas que tiene escribiríamos el comando “show tables”.

mysql> show tables;

Si no hay tablas, nos dirá algo como “Empty set”, pero si tenemos varias tablas dadas de alta en la base de datos que estamos usando, nos saldrá una lista de ellas:

mysql> show tables;

2 rows in set (0.00 sec)

Ahora, si deseamos obtener información sobre una tabla, para saber qué campos tiene y de qué tipo, podremos utilizar el comando describe seguido del nombre de la tabla.

mysql> describe administrador;

4 rows in set (0.11 sec)

Otras Sentencias SQL

Desde la consola de MySQL podemos indicar por línea de comandos todo tipo de sentencias en lenguaje SQL, como selecciones, inserciones, actualizaciones, creación de tablas, etc. El mecanismo es el que se puede deducir. Simplemente colocamos la sentencia a ejecutar seguida del punto y coma. Veamos una serie de sentencias seguidas y el resultado de ejecutarlas:

mysql> create table prueba (id_prueba int);
Query OK, 0 rows affected (0.08 sec)

mysql> insert into prueba (id_prueba) values (1);
Query OK, 1 row affected (0.00 sec)

mysql> insert into prueba (id_prueba) values (2);
Query OK, 1 row affected (0.00 sec)

mysql> insert into prueba (id_prueba) values (3);
Query OK, 1 row affected (0.00 sec)

mysql> select * from prueba;

3 rows in set (0.00 sec)

En definitiva, podemos ejecutar todas las sentencias que se han aprendido en el manual del lenguaje SQL

Para salir de la línea de comandos de MySQL

Una vez hemos terminado de trabajar con MySQL, si queremos cerrar la conexión con el servidor, simplemente escribimos “quit” desde el prompt de MySQL:

mysql> quit

Napster2011

Hacer y restaurar backup de una base de datos MySQL con un archivo .bat

Buen día amigos, les comparto éstos dos pequeños scripts con extensión .bat, lo cual quiere decir que sólo funcionan en Windows:

Script para realizar backup:

@echo off
title Creando BackUp base de datos MySQL
color 0a
set /p us=”Escriba el usuario de mysql<root>: “
set /p pa=”Escriba la contraseña de mysql: “
set /p db=”y Ahora el nombre de la base de datos: “
“C:/Archivos de programa/MySQL/MySQL Server 5.0/bin/mysqldump.exe” –user=%us% –password=%pa%  %db% > %db%_backup.sql
pause

Script para restaurar backup:

@echo off
title Restaurando base de datos MySQL
color 0a
set /p us=Escriba el usuario de mysql:
set /p pa=Ahora la password:
set /p db=Arrastre la base de datos que desea montar:
“C:/Archivos de programa/MySQL/MySQL Server 5.0/bin/mysql.exe” –user=%us% –password=%pa% < %db%
pause

Napster2011

Actualizaciones Blog Napster2011

Buen día queridos lectores del blog Napster2011, este post lo publico para informarles a todos los que han seguido con mucho entusiasmo los post de “Programacion”, que proximamente estaré publicando un post o mejor dicho, varios post dedicados a desarrollar una aplicacion que permita autenticar, crear y administrar usuarios contra un servidor LDAP, y lo mejor es que solo utilizaremos como lenguaje de programación PHP, cabe recorar que las lecciones de configuración del servidor LDAP las expliqué hace rato en este mismo blog.

Publiqué artículos de como instalar y configurar LDAP en Debian y Centos, pero recomiendo Debian porque es mucho mas sencillo a la hora de configurar el servidor LDAP.

Bueno amigos, no siendo más, les deseo a todos buen resto de día, y como siempre, gracias por leer y seguir el blog.

Importante. Como se habrán dado cuenta, actualice el blog en cuanto a los widgets ubicados en el lado derecho de la pantalla, podrán encontrar un buscador interno, un calendario con las fechas en las que se han publicado articulos, una nube de categorias, y lo más importante un pequeño formulario en el que pueden colocar su correo electrónico con el fin de suscribirse al blog y recibir todas las actualizaciones del blog en su bandeja de entrada.

Pueden enviar todos sus comentarios, solicitando artículos sobre cualquiera las categorías del blog.

Napster2011