Archive

Posts Tagged ‘Seguridad’

Oracle MCS como proveedor de autenticación en Oracle MAF

Oracle Mobile Application Framework (MAF) no sólo nos proporciona un desarrollo rápido y funcional, sino que nos ofrece una autenticación robusta y en un marco de autorización.

Screen-Shot-2014-07-20-at-10.32.21-pm1.png

MAF nos permite autenticarnos contra varios tipos de autenticación, en este caso nos centraremos en HTTP Basic y nos apoyaremos en Oracle Mobile Cloud Service (MCS) como servidor de autenticación.

Captura de pantalla 2016-03-20 a las 19.47.13

Oracle Mobile Cloud Service

 

Creación de un dominio y un rol

Accedemos a nuestra consola de Mobile Cloud Service.

Dentro del menú podremos ver todas las opciones que nos permite MCS, en nuestro caso seleccionamos la opción de “Aplicaciones” -> “Gestión de usuarios móviles”.

En la pantalla de gestión de usuario móviles, se pueden gestionar los dominios, roles o los usuarios que usaran MCS, en nuestro caso crearemos un nuevo dominio y posteriormente asignaremos ese dominio a nuestro MBE.

Captura de pantalla 2016-03-26 a las 18.17.55.png

Leer más…

Categorías:MAF / ADF Mobile Etiquetas: , ,

Intercambio seguro de datos con Oracle Database

Uno de los puntos de seguridad que se suelen olvidar a menudo es el intercambio de datos entre servidores. Se dedican muchos esfuerzos a proteger los datos en la misma base de datos (con políticas de usuarios y contraseñas, herramientas de cifrado de datos, segregación de funciones, auditoría, etc.) pero por otro lado se permite que estos datos circulen libremente y en texto plano por la red, cuando existen múltiples herramientas para capturar y modificar esta información.

Un usuario malintencionado podría capturar datos en tránsito, modificarlos y retransmitirlos. Por ejemplo, podría capturar todos los datos de las tarjetas de crédito para usarlos posteriormente. También podría capturar un depósito de cierta cantidad en una cuenta bancaria, modificar el importe y/o la cuenta de destino y retransmitir esta información, o retransmitir de manera continua la información de este depósito para multiplicar el importe recibido.

Debido a esto, es muy recomendable añadir seguridad en las comunicaciones si queremos tener un entorno más protegido. Esta seguridad puede implicar controles de cifrado e integridad de los datos: de cifrado para que la información viaje sin que terceras partes puedan verla tal cual y de integridad para que nadie pueda modificarla.

Para configurar el cifrado y la integridad de los datos en las comunicaciones entre servidor de base de datos y clientes, es necesario modificar el fichero ‘sqlnet.ora’. Esto se puede hacer manualmente o mediante la herramienta Oracle Net Manager como se muestra en las siguientes capturas:

cifrado Leer más…

Escalado de privilegios – Apache/OHS, permisos y granularidad insuficiente

escalera El errante viaje del profesional que se dedica a la consultoría esta repleto de curiosidades, poder ver tantas casas diferentes, métodos, preocupaciones y un sinfín de quehaceres hace que las pequeñas partes homogéneas resalten dentro de esa heterogeneidad. Normativas, estándares, auditorías de seguridad, cada cual más ensortijada.

En lo que a la parte de seguridad atañe, la costumbre más global es:

  • Acceso root prohibido.
  • Auditar todos los accesos o “switch” entre usuarios.
  • Guardar todo el historial.
  • Bits uid, gid, desactivados (muchas veces no puedes ni usar el ping).
  • Particiones “comunes” montadas con noexec.
  • etc.

La mayoría de estos aspectos son razonables, de hecho, particularmente opino que todavía podría elevarse el modo “paranoico”; pero en muchas ocasiones los árboles no nos dejan ver el bosque. En abundantes sistemas nos podemos encontrar que por un lado, se lleva una excelente tarea de auditoría, prevención y seguridad, pero por el otro se descuidan aspectos muy básicos: las ‘capabilities‘ de seguridad que nos proporciona el sudo y su dejada configuración.

Desventuradamente he tenido la ocasión de encontrarme, de manera recurrente, una configuración insuficientemente granulada de las reglas de sudo que permiten autenticas “atrocidades”; éstas quizá pueda atribuirse a descuidos, desidia, comodidad, desconocimiento…

Presentamos un escenario real, donde un usuario sin prácticamente permisos, puede llegar a maximizarlos de una manera mayúscula a partir de una mala configuración del sudoers.

Como de costumbre, adentrémonos a la parte práctica:

Sistema con usuario de servicio sin privilegios (o por ejemplo, operador), sin posibilidad de root, en una máquina con un apache corriendo por el puerto 80, sin privilegios para modificar la configuración del servicio pero con la posibilidad de levantar, parar o reiniciar el proceso.

La primera cosa sobrante a destacar, es que se debería evitar utilizar servicios que tengan que asociarse a puertos privilegiados (inferiores a 1024) ya que esto obliga a levantar el proceso de escucha con usuario privilegiado; maneras de evitarlo hay varias, establecer una capa frontal con un balanceador (o similar), mapeo de puertos, iptables, etc.

Comprobamos como está el apache (httpd):

986345609-apache_root_proc

Vemos que el proceso padre con PID 1725 está levantado con un uid de root y los procesos hijo como apache. Esto es necesario, como se ha comentado, para poder hacer el bind al puerto 80:

2459772857-listen_80_apache

Leer más…

Revista Oracleando nº 6 (SPOUG, diciembre 2015)

diciembre 14, 2015 Deja un comentario

06-avanttic-Oracleando-10112015 Se ha publicado el número 6 de la Revista Oracleando, editada por SPOUG – Spain Oracle Users Group.

avanttic (socio institucional de SPOUG) ha colaborado en este número con publicidad (contraportada) sobre la capacidad de avanttic para realizar desarrollos corporativos, utilizando el framework Oracle más adecuado para cada necesidad: en Java con ADF y MAF; en JavaScritpt con JET; en PL/SQL con Forms y APEX; en Cloud con ABCS y MCS/MAX.

Además hemos publicado un artículo titulado Novedades en las plataformas y frameworks de desarrollo web y mobile de Oracle, en el que Rubén Rodríguez (Java & ADF Specialist en avanttic) explica las novedades presentadas en San Francisco el pasado mes de Octubre. Este artículo forma parte de un monográfico especial sobre Oracle OpenWorld 2015, en el que podréis ver un resumen de las novedades más importantes en Infraestructura (con los nuevos servidores SPARC M7), Cloud, Seguridad, etc. Al principio del monográfico encontraréis una introducción con las 8 claves esenciales de la estrategia de Oracle para el futuro y un resumen del discurso de inauguración de Larry Ellison.

En breve se realizará una edición impresa de este número de la revista.

Categorías:avanttic Etiquetas: , , , , , , ,

Restauración y mantenimiento de backups de Oracle Database en “la nube”


En este post anterior vimos cómo configurar los backups en el servicio de Cloud de Oracle. En esta entrada veremos cómo restaurar ficheros a partir de uno de estos backups y como administrar nuestros backups (básicamente como eliminar los que ya consideremos obsoletos).

Restauración de un backup

En este caso la única diferencia entre hacer una restauración de cinta o disco y hacerlo desde la nube será que deberemos especificar la clave de cifrado, tener configurado el Wallet de TDE o ambos según lo hubiéramos hecho durante el backup.

Partiendo del de backup usado en el anterior post (cifrado con una clave) lanzaremos una restauración de un fichero.

En primer lugar eliminamos el fichero de la BBDD, seleccionamos un tablespace y lo ponemos “offline”.


[oracle@centos1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 14 04:32:24 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SYS @ one > select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME
------------------------------
FILE_NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
USERS
+DATOS/one/datafile/users.257.848555587

UNDOTBS1
+DATOS/one/datafile/undotbs1.258.848555587

SYSAUX
+DATOS/one/datafile/sysaux.259.848555585

SYSTEM
+DATOS/one/datafile/system.265.848555585


SYS @ one > alter tablespace users offline;

Tablespace altered.

Nos conectamos a la instancia ASM y eliminamos el fichero.

Leer más…

Backup de Oracle Database en “la nube”

Desde hace ya un tiempo es posible contratar el servicio Database Backup en el Cloud de Oracle, que nos permite almacenar nuestros backups de BBDD en “la nube”.

Esto es una oportunidad para todos aquellos que o bien no tienen un sistema de backup de BBDD con el que se sientan cómodos (backups únicamente a disco, backups copiados de una maquina a otra, gestión de cintas manual, etc.) o para los que los backups a cinta automatizados empiecen a ser un problema, por complejidad de administración y costes.

Es más, no tenemos por qué plantear el cambio de manera rompedora ya que podemos disponer de manera simultánea del actual sistema de backup a disco o cinta y del backup en la nube. A todo esto podemos añadir que este servicio puede ser el punto de entrada perfecto de nuestra empresa en los servicios de tipo Cloud.

A nivel práctico tendremos a nuestra disposición todas las copias almacenadas desde cualquier lugar (ideal para duplicar BBDD en datacenters remotos) y al momento, sin tener que esperar el traslado de las cintas desde su ubicación de almacenamiento (en muchos casos una empresa de custodia externa).

Los backups en la nube se encuentran multiplexados entre diferentes centros de storage cloud de Oracle para evitar pérdidas de datos, se enviaran comprimidos para minimizar el consumo de ancho de banda y cifrados (con una llave de cifrado privada custodiada por el cliente) para securizar el acceso a los datos.

mqdefault

 

El funcionamiento del backup en la nube es idéntico al de un backup a cinta, la puesta en marcha de este backup consiste básicamente en la instalación de una Media Management Library idéntica a la que estemos usando actualmente para cintas físicas, con la diferencia que ésta va a comprimir, cifrar y enviar las copias por red a la nube.

Los comandos RMAN usados para las copias son los mismos, por lo que los scripts de copia y restauración de que dispongamos siguen siendo válidos.

Al adquirir el producto de backup en la nube, Oracle proporciona una licencia de uso limitado de la compresión y el cifrado de backups (opciones que on-premise implicarían tener que licenciar Enterprise Edition, Advanced Security y Advanced Compression). Esta licencia limitada es tanto para BBDD Enterprise Edition como para Standard Edition. En el caso de las BBDD Standard Edition es necesario instalar un parche en la BBDD que permite activar estas funcionalidades.

Podemos usar Oracle Backup en la nube desde la versión 10gR2 en adelante en la gran mayoría de plataformas, proporcionando Oracle una librería de gestión de medios apropiada al sistema operativo de que dispongamos.

Después de esta introducción al servicio vamos a realizar una demostración de configuración y backup de una BBDD Oracle en la nube.

Leer más…

Transparent Data Encryption – Cifrar por columna o tablespace

Transparent Data Encryption (TDE) es la opción de seguridad que proporciona Oracle para cifrar los datos a nivel de sistema operativo. En este post hice una pequeña introducción de este producto y dentro del Oracle Security Tour hablamos más en profundidad sobre él, en concreto en el webinar desde la óptica de la regulación.

Cuando se desea cifrar los datos de la base de datos con TDE, una de las primeras cuestiones que se plantea es qué tipo de cifrado aplicar.

TDE puede cifrar a nivel de columna o de tablespace.

Tipos de cifrado

Tipos de cifrado

 

En el cifrado a nivel de columna se elige qué columna o columnas, de qué tabla o tablas se desean cifrar, y se aplica el cifrado. En el cifrado a nivel de tablespace se crea un tablespace cifrado y todos los objetos que se creen o se muevan ahí estarán cifrados. Cada uno tiene sus ventajas, inconvenientes y puntos a tener en cuenta, que se resumen en la siguiente tabla:

CIFRADO DE COLUMNA CIFRADO DE TABLESPACE
Se conoce dónde está la información sensible Se desconoce dónde está la información sensible
Menos del 5% de las columnas de la aplicación son candidatas a cifrarse La mayoría de los datos de la aplicación se han definido como sensibles o aplica algún tipo de legislación vigente
El tipo de datos y la longitud están soportados por cifrado de columna No todos los tipos de datos que contiene está soportados por cifrado de columna
Las columnas candidatas a ser cifradas no son claves ajenas Las columnas candidatas a ser cifradas son claves ajenas
Los índices sobre las candidatas son índices b-tree normales Los índices de las candidatas a ser cifradas son índices funcionales
La aplicación no realiza escaneos de rango sobre los datos cifrados La aplicación realiza búsquedas por rangos sobre los datos sensibles
Es aceptable un incremento de almacenamiento de 1 a 52 bytes por valor cifrado No es aceptable un incremento en la ocupación de almacenamiento
El impacto en el rendimiento depende del porcentaje de columnas cifradas, con qué frecuencia los valores cifrados son seleccionados o actualizados, el tamaño de los datos cifrados y otras variables Se desea tener un impacto constante de rendimiento por debajo del 10%
Se desea beneficiarse de aceleración de cifrado por hardware
Se desea beneficiarse de cifrado y compresión al mismo tiempo