SQL Server - Cómo ofuscar datos sensibles en servidores propios para enviar base de datos a Finnegans

Consulta:

¿Cómo ofuscar datos para enviar un backup de la base de datos a Finnegans?


Respuesta:

Para ofuscar datos sensibles, ejecutar el script correspondiente en una base de datos de prueba y hacer un backup nuevo con los datos codificados.
Para realizar esta tarea se debe utilizar Microsoft SQL Server Management Studio

Nota: Este artículo es exclusivamente para personal técnico.

Para realizar los siguientes pasos se necesitan conocimientos de administración de SQL Server. También se debe contar con los permisos para acceder a las bases y poder realizar modificaciones.

Al no ser productos comercializados por Finnegans, todo lo relacionado a seguridad lo debes resolver con el responsable de administración del servidor. En este caso, dejamos a disposición la documentación oficial del proveedor del producto.

Por favor, no ejecutar el procedimiento si se tienen dudas y comunicarse con Finnegans.


Pasos a seguir:

  1. Crear una nueva base de datos de prueba. Luego realizar un backup de la base de datos de producción y restaurarlo en la base de datos creada.

Para hacerlo seguir los pasos de la documentación oficial de Microsoft.

  1. Ejecutar el script realizando los siguientes pasos:
  • Abrir SQL Server Management Studio
    SSMS

  • Seleccionar Nueva Consulta
    newQuery

  • Seleccionar en el combo la nueva base de datos creada
    SelectBD

  • Copiar el siguiente script y pegarlo en la pestaña abierta en el SQL Server Management Studio

update BSOrganizacion
set Nombre = 'Organizacion '+ convert(varchar,OrganizacionID), 
Codigo = 'ORG'+convert(varchar,OrganizacionID),
Descripcion = case when Descripcion <> '' then 'Descripcion Empresa '+ convert(varchar,OrganizacionID) else '' end ,
RazonSocial = 'Organizacion '+ convert(varchar,OrganizacionID) ,
CUIT = left(CUIT,3)+
replace(replace(replace(replace(replace(replace(replace(right(CUIT,10),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
	ClaveBancaria = replace(replace(replace(replace(replace(replace(replace(ClaveBancaria,
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
	OrganizacionImagen = ''	

update FAFEmpresa
set Nombre = 'Empresa '+ convert(varchar,EmpresaID) , 
Codigo = 'EMP'+convert(varchar,EmpresaID) ,
Descripcion = case when Descripcion <> '' then 'Descripcion Empresa '+ convert(varchar,EmpresaID) else '' end ,
CUIT = left(CUIT,3)+
replace(replace(replace(replace(replace(replace(replace(right(CUIT,10),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
NroIIBB = replace(replace(replace(replace(replace(replace(replace(NroIIBB,
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	Logo = '' ,
	CodigoCertificado = case when CodigoCertificado <> '' then 'CODIGO '+ convert(varchar,EmpresaID) else '' end ,
	CBUFacturaCredito = replace(replace(replace(replace(replace(replace(replace(CBUFacturaCredito,
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
	Email = case when Email <> '' then 'empresa'+ convert(varchar,EmpresaID)+'@mail.com' else '' end 
	
update BSpersona
set Nombre = 'Nombre'+ convert(varchar,PersonaID)+ ' Apellido'+ convert(varchar,PersonaID), 
Codigo = 'PER'+convert(varchar,PersonaID),
Descripcion = case when Descripcion <> '' then 'Descripcion Persona '+ convert(varchar,PersonaID) else '' end ,
Email = case when Email <> '' then 'persona'+ convert(varchar,PersonaID)+'@mail.com' else '' end,
PersonaNombre = 'Nombre'+ convert(varchar,PersonaID),
PersonaApellido = 'Apellido'+ convert(varchar,PersonaID), 
IdentificacionTributariaNumero = left(IdentificacionTributariaNumero,3)+
replace(replace(replace(replace(replace(replace(replace(right(IdentificacionTributariaNumero,10),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
	FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) 

update BSProducto
set Nombre = 'Producto '+ convert(varchar,ProductoID), 
Codigo = 'PROD'+convert(varchar,ProductoID)

update BSSucursal
set Nombre = 'Sucursal '+ convert(varchar,SucursalID), 
Codigo = 'SUC'+convert(varchar,SucursalID)
  • Ejecutar el script
    Execute
  1. Realizar un backup de la base de datos de prueba generada y enviar el archivo generado mediante el FTP de Finnegans, utilizando las credenciales que le han sido entregadas por Finnegans.
1 me gusta