Respaldar y Restaurar Bases de Datos en PostgreSQL

Estándar

No he podido probar si funciona con la versión 8, yo lo he probado en las versiones 9.x en adelante

Les comparto dos comandos muy utiles para realizar respaldos y posterior restauracion de Bases de Datos en PostgreSQL, para este artículo se supone que tenemos instalado el PostgreSQL 9.6 en la ruta C:\Program Files\PostgreSQL\9.6\ y que se utiliza la ruta C:\respaldos tanto para almacenar como para restaurar los respaldos.

Realizar Respaldo usando pg_dump
Este comando tardara un momento, dependiendo del tamaño actual de la Base de Datos que se esta respaldando, el mismo nos exportara el contenido de la BD llamada midominiodb, accede a la misma utilizando el usuario postgres, por tanto se deben proveer las credenciales al momento de ejecutar el mismo. Al final del proceso, obtenemos el archivo current_backup-midominio.sql en la ruta indicada con anterioridad, el cual contiene los scripts y datos necesarios para una posterior restauracion.

El comando es el siguiente:

Restaurar Base de datos usando psql
Es importante tomar en cuenta que se debe crear una Base de Datos vacía con el mismo nombre midominiodb y asignarla al usuario postgres también al iniciar el proceso las credenciales del usuario asignado serán requeridas. Tomar en cuenta que si la Base de Datos ya existe es muy probable que todo el proceso de restauración FALLE, asi que la recomendación es clara: restaurar sobre una Base de Datos vacía. Los pasos a continuación utilizando pgAdmin versión 4.x:

Primero eliminamos la anterior (no olviden realizar un respaldo utilizando pgdump, por si las dudas), hacemos click derecho en la entrada de la Base de Datos en el servidor que la contiene y seleccionamos Delete/Drop:

Confirmamos

Luego hacemos click derecho sobre la entrada Databases dentro del servidor y seleccionamos Create y luego Database…

Escribimos el nombre en el campo Database, y confirmamos que dentro del campo propietario Owner este configurado nuestro usuario postgres, luego presionamos el boton guardar save

Ahora podemos ejecutar el comando siguiente:

C:\Program Files\PostgreSQL\9.6\bin & psql.exe -U postgres midominiodb < C:\respaldos\current_backup-midominio.sqlEste comando nos restaura la Base de Datos midominiodb a partir del archivo de respaldo current_backup-midominio.sql. Este proceso tarda bastante, especialmente si nuestra base de datos a restaurar tienen información de varios meses de transacciones y operaciones.

Saludos.

Configurar SSL en Wildfly 8/9/10

Estándar

Esta configuración es para WildFly 8, pero funciona con las versiones 9 y 10. Tomar en cuenta que se debe tener las utilidades openssl y keytool instaladas y de preferencia en el path, para ejecutar los comandos descritos.

Bueno, se tiene el desafío de configurar servidores WildFly/JBoss para utilizar HTTPS. Se debe partir generando los siguientes archivos y certificados SSL que se detallan a continuación:

midominio.com.csr (Certificate Signing Request) y midominio.com.key (Llave Privada para nuestro Certificado SSL)
Este es el primer paso, se debe generar esta «Solicitud de Firma de Certificado» desde el servidor midominio.com donde se desea instalar el certificado SSL. Es recomendable utilizar como minimo una llave de 2048 bits.

Los archivos .csr y .key se generan con el siguiente comando:

Esto nos devolverá el siguiente mensaje en la pantalla:

Luego debemos proveer la información referente a nuestra organización (midominio.com)

Ahora si estamos listos para comprar nuestro certificado SSL. Un certificado estándar probablemente sera todo lo que se necesite para obtener seguridad básica. Hay distintos sitios que proveen certificados SSL a buen precio, como GoDaddy.com o SSLs.com.
Luego de comprar el certificado el siguiente paso es activarlo con el proveedor, el mismo solicitará copiar el contenido del archivo .csr creado con anterioridad.

Una vez emitido el certificado SSL en base a la información proporcionada, lo descargamos y descomprimimos
Los archivos que necesitamos del paquete son:
ssl_certificate.crt (Certificado SSL de midominio.com) y IntermediateCA.crt (Certificado del Emisor o Proveedor del certificate de midominio.com) junto con el archivo midominio.com.key generado con anterioridad.

Ahora debemos crear un archivo .jks para importarlo en el keystore. Este es un proceso de 3 pasos: primero creamos un archivo pkcs12 (con extensión .p12) a partir del certificado SSL, luego lo importamos en un archivo keystore y por ultimo tambien importamos el IntermediateCA.crt en el keystore.

Paso 1

Paso 2

* Si desean hacer la prueba también pueden generarse un certificado local e importarlo al keystore, siguiendo los pasos en este artículo: Generar un certificado local e importarlo en el keystore para habilitar SSL en WildFly.

Paso 3

Convertir el IntermediateCA.crt a .pfx

Importar el certificado .pfx a nuestro keystore.

Luego adicionar la siguiente entrada dentro del archivo standalone.xml en la sección security-realms.

Luego de tener importados los certificados, agregamos la siguiente entrada dentro del archivo standalone.xml en la sección server name.

Si deseamos redireccionar todas las peticiones http hacia https, entonces modificamos la linea adicionando redirect-socket=»https»

No olvidemos tambien verificar que nuestro puerto SSL este correctamente definido dentro la sección socket-binding-group name=»standard-sockets»

Adicionar en el archivo web.xml (Esto requiere volver a empaquetar el .war y volverlo a desplegar en WildFly)

Reiniciamos WildFly, volvemos a desplegar el .war y hacemos la prueba ingresando a midominio.com ya sea desde https o http en caso tenemos activa la redirección.

Saludos.

Generar un certificado local e importarlo en el keystore para habilitar SSL en WildFly

Estándar

Tomen en cuenta que este proceso les generará una llave keystore del servidor local, lo cual no es tan parecido a los entornos públicos o del mundo real, donde se genera a partir de los certificados SSL provistos por la Autoridad Emisora. Para ello pueden revisar este artículo: Configurar SSL en Wildfly 8/9/10.

Para generar un certificado local, debemos realizar los siguientes pasos:

Este archivo .jks lo copiamos en la carpeta de configuracion del WildFly:

Los demás pasos para integrarlo a WildFly en el artículo indicado al comienzo.

Saludos.