Oracle corrige 129 vulnerabilidades en su actualización de seguridad de octubre

octubre 17, 2013 § Deja un comentario

Siguiendo su ritmo de publicación trimestral de actualizaciones, Oracle publica su boletín de seguridad de octubre. Contiene parches para 129 vulnerabilidades diferentes en múltiples productos pertenecientes a 15 familias diferentes, que van desde el popular gestor de base de datos Oracle Database hasta Solaris o MySQL.

A continuación se presenta un resumen del número de vulnerabilidades reportadas por familia:

  • 4 vulnerabilidades corregidas en Oracle Database Server.
  • 17 en Oracle Fusion Middleware.
  • 4 en Oracle Enterprise Manager Grid Control.
  • 1 en Oracle E-Business Suite.
  • 2 en Oracle Supply Chain Products Suite.
  • 8 en Oracle PeopleSoft Products.
  • 9 en Oracle Siebel CRM.
  • 2 en Oracle iLearning
  • 6 en Oracle Industry Applications.
  • 1 en Oracle Financial Services Software.
  • 2 en Oracle Primavera Products Suite.
  • 51 en Oracle Java.
  • 12 en Oracle y Sun Systems Products Suite, entre ellos Solaris.
  • 2 en Oracle Virtualization.
  • 8 en Oracle MySQL.

La mayoría de las vulnerabilidades que contiene este boletín se catalogan en importancia media-baja, sin embargo cabe destacar algunas. El boletín de Oracle Java, además de ser el más extenso aloja las vulnerabilidades más importantes: solventa 24 vulnerabilidades de ejecución de código (12 de ellas con la mayor valoración CVSS posible 10.0).

Igualmente el CVE-2013-2251, incluido en el boletín de Oracle MySQL, permitiría la ejecución de código remoto.

Fuente: Hispasec

Migrar a SQL Server 2008 R2

octubre 4, 2013 § 1 comentario

Muchas veces en tecnología me encuentro con situaciones en donde valido que versión de SQL Server está usando alguien y cuando escucho la respuesta “SQL Server 2000”, de inmediato cuestiono el por qué. La cantidad de respuestas es amplia y diversa, como podrán imaginar, y yo respetuosamente replico que aunque entiendo la situación, les recomiendo que actualicen su versión de SQL Server ya que la versión 2000 la soporta Microsoft pero en algo que se llama “Extended Support” y solo para el SP4 de SQL Server 2000 hasta el 9 de abril de 2013. Mayores detalles aquí.

Aunque esto da algo de tranquilidad, en mi concepto no mucha, mi recomendación va orientada hacia aprovechar el esfuerzo que hace Microsoft para reforzar su plataforma de base de datos con nuevas funcionalidades que demandan las aplicaciones de negocio hoy día, además de reforzar temas como seguridad, alineación con otros productos Microsoft e incluso de terceros y por supuesto, mejoras en desempeño, disponibilidad y confiabilidad. Entiendo el tema de la inversión en licencias y en este punto siempre digo que es mejor invertir en algo moderno y pagar un poco más para obtener mayores beneficios, dentro de ellos soporte por parte del fabricante.

Yo generé tres posts sobre este el tema “Actualizándose hacia SQL Server 2008 R2”, parte 1, parte 2 y parte 3. Además, hay un excelente eBook gratuito de SolidQ sobre el tema e incluso este artículo en TechNet Magazine.

Sin embargo, el recurso esencial a tener en cuenta para esto es la guía de actualización hacia SQL Server 2008 R2. Este documento en formato Word, de 490 páginas, trata todo lo que hay que saber sobre como pasar de versiones anteriores, particularmente desde 2000 y desde 2005, hacia la versión 2008 R2 y cómo usar estrategias de “in-place upgrade” y “side-by-side upgrade” para lograr lo requerido de acuerdo con el escenario de cada uno de ustedes. La guía es muy completa y trata temas como alta disponibilidad, tanto failover como mirroring, qué hay que tener en cuenta para elementos como Analysis Services, Integration Services y Reporting Services, así como implicaciones a otros productos como SharePoint, System Center y Microsoft Dynamics.

Fuente: Guillermo Taylor @ The Cloud

Qué es una base de datos NoSQL

septiembre 19, 2013 § 2 comentarios

Por William Díaz Sepúlveda

Resumen: Las bases de datos NOSQL aparecieron como una necesidad para el manejo de información voluminosa y distribuida en los grandes sitios web pero serán soluciones para las grandes empresas y las medianas empresas? solucionan los problemas que las bases de datos Relacionales solucionan?. Que tipo de problemas solucionan? Este artículo presenta este modelo y sus actuales logros y resultados.

Las bases de datos (BD) tradicionales son las relacionales que usan un lenguaje Estándar para su manipulación y gestión , el SQL que nace en 1974 basado en Modelo de EF COD. SQL tiene más de 37 años de vida. Son ejemplos de bases de datos relacionales: ORACLE, MYSQL, SQL Server, POTGRESS, DB2, etc..Su éxito se basó en que son una solución para los problemas de gestión y estructuración de la información de las organizaciones, con un fundamento matemático muy fuerte, lenguaje estandarizado (aceptado y adoptado) para su gestión (SQL) , con metodologías estructuradas formales para el diseño de los sistemas de información de las organizaciones y con principios de diseño como la regla ACID (atómica consistente aislada y Durable) . estas plataformas tienen muchas herramientas desarrolladas.

Las bases de datos NOSQL son un conjunto de bases de datos que no se ajustan al modelo de bases de datos relacionales y sus características, estas no tienen esquemas , no usan SQL ni permiten joins, no garantizan la propiedad ACID, escalan horizontalmente, hacen uso amplio de la memoria principal del computador, resuelven el problema de los altos volúmenes de información y la inmensa cantidad de consultas y transacciones diarias, en resumen no son relacionales.

Pero ¿en qué consisten? ¿Por  qué surgieron? ¿cuál es la mejor solución para un problema determinado? ¿para qué tipo de problemas se debe considerar las alternativas NoSQL? ¿Se debería usar una Solución NoSQL para un problema que tradicionalmente se ha resuelto con bases de datos relacionales? ¿Qué se debe tener en cuenta? ¿Reemplazarán las bases de datos relacionales?

A continuación se muestra cómo instalar MongoDB, una de las bases de datos NoSQL más reconocidas sería la siguiente:

$ sudo pecl install mongo
$ sudo apt-get install pecl
$ sudo apt-get install php5-dev php5-cli php-pear
$ pecl install mongo
 

$ nano /etc/php5/apache2/php.ini
  - extension=mongo.so

Una aplicación en PHP sobre MongoDB, sería la siguiente:

//Conecta Mongo
$m = new MongoClient();

//Selecciona la DB [comedy]
$db = $m->comedy;

//Selecciona una Coleccion [cartoons]
$collection = $db->cartoons;

//Agrega un registro
$document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert( $document );

//Agrega otro registro con formato distinto
$document = array( "title" => "XKCD", "online" => true );
$collection->insert( $document );

//Busca todas las colecciones
$cursor = $collection->find( );

//Busca una coleccion especifica [XKCD]
$query = array( 'title' => 'XKCD' );
$cursor = $collection->find( $query );

//Escribe cada uno de los titulos encontrados
foreach ( $cursor as $document ) {

    echo $document["title"] . " - ";
}

?>

Este trabajo pretende dar algunas respuestas a estas inquietudes que genera la tecnología de bases de datos NOSQL que vienen en vertiginoso desarrollo , especialmente desde el 2009.

Contenido completo en fuente original el Blog de William Díaz Sepúlveda y en el Blog de Manuel Pereira Gonzalez

Actualización de Oracle de Julio

julio 18, 2013 § Deja un comentario

Ayer se ha publicado la nueva actualización crítica de Oracle del mes de julio. El paquete contiene parches para 89 vulnerabilidades diferentes en múltiples productos pertenecientes a 12 familias diferentes.

En este paquete de actualizaciones aparecen productos de base de datos de Oracle y MySQL, Solaris, productos de virtualización, PeopleSoft, Fusion Middleware, Hyperion, HTTP Server, y muchos otros de la familia. Oracle recomienda aplicar los parches tan pronto como sea posible ya que se debe tener en cuenta que los productos de Sun se incluyen en esta actualización crítica.

Cristian de la Redacción de Segu-Info

SQL Injection en Oracle

mayo 24, 2013 § Deja un comentario

Les sonará un post llamado SQL Injection hasta la cocina – MS SQL Server que fue publicado hará algo más de dos años, y en el que usábamos diferentes herramientas para comprometer una base de datos Microsoft SQL Server a través de una SQL Injection.

En este caso, vamos a intentar repetir el proceso pero esta vez con una base de datos Oracle 11g. Al contrario de lo que sucede con MS SQL Server, en Oracle no existe un comando equivalente a “xp_cmdshell” que nos permita directamente ejecutar comandos del sistema operativo, pero sí que existen algunas funciones y procedimientos de las que podemos abusar para conseguir nuestro objetivo.

Para este primer post vamos a suponer que tenemos una inyección sql con un usuario con todos los privilegios del mundo, y veremos como conseguiríamos ejecutar comandos. En el próximo post veremos como podemos elevar privilegios en el caso de que no seamos tan afortunados de encontrar unos privilegios tan mal asignados.

Contenido completo en fuente original Pentester I y II

Las 10 grandes amenazas de seguridad en las bases de datos

mayo 15, 2013 § 1 comentario

El 96% de los datos sustraídos durante 2012 provenían de bases de datos, según un informe de Verizon (Data Breach). Además, durante el año pasado, 242 millones de registros resultaron potencialmente comprometidos, indica la Open Security Foundation. Se trata de dos preocupantes datos que la compañía Imperva, especializada en seguridad, recuerda en un informe que ha elaborado sobre las diez principales amenazas que existen contra las bases de datos y en el que se pone de manifiesto que éstas son el objetivo prioritario para hackers e insiders maliciosos.

En el informe asevera que esto es así debido a que las bases de datos representan el corazón de cualquier organización, ya que almacenan registros de clientes y otros datos confidenciales del negocio. Y afirma además que esta vulnerabilidad de las bases de datos mejoraría si no hubiera la actual falta de inversión en soluciones de seguridad adecuadas para protegerlas. Y es que, como señala IDC, menos del 5% de los 27.000 millones de dólares invertidos en 2011 en productos de seguridad se destinaron a la salvaguarda de los centros de datos.

Éste es, según Imperva, el top 10 en amenazas en el entorno de bases de datos:

  1. Privilegios excesivos e inutilizados. Cuando a alguien se le otorgan privilegios de base de datos que exceden los requerimientos de su puesto de trabajo se crea un riesgo innecesario. Los mecanismos de control de privilegios de los roles de trabajo han de ser bien definidos o mantenidos.
  2. Abuso de Privilegios. Los usuarios pueden llegar a abusar de los privilegios legítimos de bases de datos para fines no autorizados, por ejemplo, sustraer información confidencial. Una vez que los registros de información alcanzan una máquina cliente, los datos se exponen a diversos escenarios de violación.
  3. Inyección por SQL. Un ataque de este tipo puede dar acceso a alguien y sin ningún tipo de restricción a una base de datos completa e incluso copiar o modificar la información.
  4. Malware y spear phising. Se trata de una técnica combinada que usan los cibercriminales, hackers patrocinados por estados o espías para penetrar en las organizaciones y robar sus datos confidenciales.
  5. Auditorías débiles. No recopilar registros de auditoría detallados puede llegar a representar un riesgo muy serio para la organización en muchos niveles.
  6. Exposición de los medios de almacenamiento para backup. Éstos están a menudo desprotegidos, por lo que numerosas violaciones de seguridad han conllevado el robo de discos y de cintas. Además, el no auditar y monitorizar las actividades de acceso de bajo nivel por parte de los administradores sobre la información confidencial puede poner en riesgo los datos.
  7. Explotación de vulnerabilidades y bases de datos mal configuradas. Los atacantes saben cómo explotar estas vulnerabilidades para lanzar ataques contra las empresas.
  8. Datos sensibles mal gestionados. Los datos sensibles en las bases de datos estarán expuestos a amenazas si no se aplican los controles y permisos necesarios.
  9. Denegación de servicio (DoS). En este tipo de ataque se le niega el acceso a las aplicaciones de red o datos a los usuarios previstos. Las motivaciones suelen ser fraudes de extorsión en el que un atacante remoto repetidamente atacará los servidores hasta que la víctima cumpla con sus exigencias.
  10. Limitado conocimiento y experiencia en seguridad y educación. Muchas firmas están mal equipadas para lidiar con una brecha de seguridad por la falta de conocimientos técnicos para poner en práctica controles de seguridad, políticas y capacitación.

Para la firma de seguridad, la clave para evitar estas amenazas es una defensa multicapa que permita localizar y evaluar dónde se ubican las vulnerabilidades en la base de datos y en qué sitio residen los datos críticos; gestionar los derechos de usuario para identificar derechos excesivos sobre los datos sensibles; hacer monitorización y bloqueo para proteger las bases de datos de ataques, pérdida de datos y robo; realizar auditorías y proteger los datos. 

Fuente: TicBeat

Instalar MariaDB en Linux en 10 pasos

mayo 14, 2013 § Deja un comentario

En los últimos días he estado considerando la migración desde MySQL a MariaDB, un sistema de gestión de bases de datos derivado de MySQL con licencia GPL. Ante todo la compatibilidad es total y las comparativas son más que prometedoras (otra, otra) pero sobre todo porque el tratamiento que ha hecho Oracle de MySQL deja mucho que desear y es cuestión de tiempo hasta que dejen morir el proyecto.

MariaDB es un fork de MySQL creado por el propio fundador de MySQL, Ulf Michael “Monty” Widenius tras la adquisición de Sun por parte de Oracle. Ultimamente ha decidido unir fuerzas con la base de datos SkySQL. SkySQL y Monty Program Ab se han fusionado en una única compañía, que tendrá por nombre SkySQL.

MariaDB en una base de datos Open Source interoperable e incorpota “NewSQL”, término que se refiere a bases de datos SQL que tratan de tener el rendimiento de las bases de datos NoSQL pero que siguen contando con transacciones y mantienen las garantías ACID.

La última versión 10 de MariaDB aún se encuentra en etapa Alpha de prueba por lo que decidí utilizar la versión anterior y estable. Para comenzar la instalación lo primero que hice fue acceder a la descarga de MariaDB 5.5 para la última versión de Ubuntu.

Aquí comienzan los problemas porque la instalación varía considerablemente de una distribución a otra de Linux e incluso entre distintas versiones de la misma distribución: no es lo mismo instalar Maria en Debian o Ubuntu 10, 11, 12 o 13 e incluso para esta última versión no hay un procedimiento definido.

Luego de probar innumerable cantidad de alternativas sobre Ubuntu 12.04 LTS y 13.04, de seguir varios tutoriales con archivos .GZ y .DEB, finalmente (creo) que he llegado a una forma más o menos confiable de instalar MariaDB sobre estas versiones de Ubuntu. Seguramente los pasos no variarán demasiado sobre Debian.

Nota: se asume que se tiene permisos de “root” o bien se puede hacer con el “su”.

1. Ante todo comenzamos con la instalación de Apache:

apt-get install apache2
/etc/init.d/apache2 restart

Si todo está bien, deberemos ver Apache encendido con el siguiente comando:

netstat -tap | grep apache2

Y el http://localhost” debería responder con “It’s Working”.

2. Mismo procedimiento para MySQL Server. En teoría no debería ser necesario instalarlo antes de MariaDB pero no he logrado instalar este último sin este paso previo. Al instalar la base de datos, se debe prestar atención al usuario “root” y a la contraseña que se coloque, ya que se usará luego.

apt-get install mysql-server
/etc/init.d/mysql restart
netstat -tap | grep mysql

3. Adicionalmente (no es obligatorio), se puede hacer un fortalecimiento de la instalación de MySQL con:

mysql_secure_installation

4. A partir de ahora se comienza con la instalación de MariaDB propiamente dicha. Inicialmente se debe agregar los repositorios mediante los siguientes comandos:

add-apt-repository 'deb http://mirrors.fe.up.pt/pub/mariadb/repo/5.5/ubuntu quantal main
add-apt-repository 'deb-src http://mirrors.fe.up.pt/pub/mariadb/repo/5.5/ubuntu quantal main

También se puede modificar el archivo “/etc/apt/sources.list” manualmente.

5. Se debe agregar las llaves al repositorio para que los paquetes firmados de MariaDB sean correctamente verificados:

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

6. En este momento es recomendable hacer una actualización y si es necesario reiniciar el sistema operativo:

apt-get update

Hasta aquí todo el procedimiento debería ser transparente y desarrollarse sin problemas.

Ahora, si se desea, se puede probar instalar desde el paso 8 directamente y, si se obtiene el siguiente error (conocido) de dependencias, volver al paso 7:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

The following packages have unmet dependencies:
libdbd-mysql-perl : Depends: libmysqlclient18 (>= 5.5.13-1) but it is not going to be installed
libmariadbclient18 : Depends: libmysqlclient18 (= 5.5.30-mariadb1~quantal) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

7. Para evitar posibles incompatibilidad de paquetes y errores de dependencia con la libreria “libmariadbclient18” se hace un purge de módulos:

apt-get purge libmariadbclient18 mariadb-server mariadb-client-5.5 libmysqlclient18 mysql-common

8. Se instala MariaDB y sus dependencias. Se deberá utilizar el usuario “root” y la contraseña utilizada al instalar MySQL inicialmente.

apt-get install libmysqlclient18=5.5.30-mariadb1~quantal mysql-common=5.5.30-mariadb1~quantal mariadb-server mariadb-client

9. Si todo es correcto, la instalación debería terminar y ahora sería posible conectarse a la base de datos de MariaDB de la siguiente manera:

/etc/init.d/mysql restart
mysql -u root -p
Enter password: PASSWORD_UTILIZADA

Como se puede apreciar en la imagen, deberíamos ver la conexión de MariaDB:

10. Adicionalmente, si se desea también se puede instalar phpmyadmin para facilitar la administración de las bases de datos.

apt-get install phpmyadmin

La conexión y el uso de MariaDB no cambia nada con respecto a MySQL y si se tiene una aplicación funcionando, la misma debería seguir haciéndolo sin cambiar el código fuente de la misma.

Como mencioné, el procedimiento descripto ha funcionado correctamente en Ubuntu 12 y 13 y debería ser posible adaptarlo a otras distribuciones, siempre y cuando se solucione el problema de las dependencias con las librerías “libmysqlclient18”.

Cristian de la Redacción de Segu-Info

¿Dónde estoy?

Actualmente estás explorando la categoría base de datos en Seguridad Informática.