Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dirigido a: Administradores de Bases de Datos | rea: Bases de Datos Autor: Pablo F. Dueas | Servicios Profesionales Danysoft
Introduccin
UnadelasprincipalespreocupacionesdelosDBAesquepuedansalirdatosdelaempresa.Eltpicoejemplo esqueseguardendatosdetarjetasdecrdito,cuentasbancariasocualquierotrainformacinpersonal. Inclusolosdatosdesalariosodepreciospodranserbastanteproblemticos,yesolotienentodaslas empresas.Estoesalgoquesesueledejaralcentrarseenlacorrupcindedatos,problemasdehardware, redesycualquiercosaquepuedapararelservidorSQL.Sinembargoahoraesmsrelevantequenuncapor laLeydeProteccindeDatos. ApartirdeSQLServer2005,seimplementaroncambiossignificativosparaasegurarsequeSQLServeres msseguroquelasversionesanteriores.Entreloscambiosseincluyeunaestrategiadeseguridadpor diseo,seguridaddeformapredeterminadayseguridadenlaimplementacinproyectadaparaayudara protegerlainstanciadelservidorysusbasesdedatosdelosataquesdeseguridad.Elcifradotransparente dedatosseaadealarespuestadeMicrosotenSQLServer2008.
Elcifradodedatostransparente
HastaquesaliSQLServer2008nohabaunmtodonativodeasegurarlosficherosfsicosdelabasede datos.Sepodausarelsistemaoperativoparaasegurardirectoriosoficherososepodanasegurarceldas usandoelcifradodelaversin2005.Tambinexistaalgunaherramientaparaelcifradodeficheros,pero eranadicionalesyexternosaSQLServer. Podramosdefinirelcifradocomoelprocesodetransformarinformacindirectamenteinteligible,usando unalgoritmoquelohaceininteligibleacualquierotrapersonaquenotengalaclave.Hayvariosmtodos (algoritmosmatemticos)decifrado,algunosmejoresqueotros.Aunquenosonperfectos,enseguridad hayunprincipiomuyimportante:sabercuntocuestaromperlaclaveycuntoseobtendradesuruptura. Esdecir,siobtenerlosdatosestancostosoentrminosdeprocesamiento,hardware,redes,etc.,quenose vaaobtenerelbeneficiosuficiente,losdatosestnseguros. Paradefinircorrectamenteelcifradodedatostransparente(TDEporsunombreeningls:Transparent DataEncryption)recurriremosasuscreadores,Microsoft:Elcifradodedatostransparente(TDE)realiza elcifradoydescifradodeE/Sentiemporealdelosdatosylosarchivosderegistro.Elcifradoutilizauna clavedecifradodelabasededatos(DEK),queestalmacenadaenelregistrodearranquedelabasede datosparaqueestdisponibledurantelarecuperacin.LaDEKesunaclavesimtricaprotegidautilizando uncertificadoalmacenadoenlabasededatosmaestradelservidorounaclaveasimtricaprotegidaporun mduloEKM.TDEprotegelosdatosenreposo,esdecir,losarchivosdedatosyderegistro. Laprincipalventajarespectoaotrastecnologas,esquenonecesitacambiosenlaaplicacinquesetenga desarrollada.EstepermitealosDBAcodificarlabasededatosusandoAESo3DESsintenerquehacer ningncambioalaaplicacinclientenialosobjetosdebasededatos.
Cifradodedatos
CuandosehabilitaelTDE,SQLServeriniciaunhiloensegundoplanoqueexaminatodoslosficherosdela basededatosyloscodifica.Estehilocreaunbloqueocompartidoenlabasededatos.Elhilode codificacinseejecutaasincrnicamenteimpidiendonicamentelamodificacindelaestructurade archivosyponerlabasededatosfueradelnea.Esdecir,seefectadeformatransparentemientraslos usuariosaccedenalabasededatos.Lacodificacintambinactasobreelficherovirtualderegistropara quelassiguientesescriturasalregistroestncodificadas.
Implementacin
ComenzaratrabajarconelTDEesmuysencillo: Secreaunaclavemaestra. Secreaoseobtieneuncertificadoprotegidoporlaclavemaestra. Secreaunaclavedebasededatosqueseprotegeconelcertificado. Sehabilitalabasededatosparausarcifrado.
Veamosestospasosunoauno.Paracrearlaclavemaestra,seejecutalainstruccinCREATEMASTERKEY enlabasededatosmaster.Siqueremosversiexistenyaclaves,tenemosanuestradisposicinlavista:
ComovemoshayunaclavepordefectoparaelserviciodeSQLServer,peronoeslaquebuscamos,porlo quecrearemosnuestraclavemaestra:
Directivadecontraseas
Antesdeseguir,vamosarecordarcmoesunacontraseadeSQLServer:puedecontenerhasta128 caracteres,entrelosquesepermiteincluirletras,smbolosydgitos. ComosesuponequeestastareaslasejecuteunDBA,nodeberasernecesarioinsistirsobreelusode contraseasseguras.SvamosarecogerlasrecomendacionesdeMicrosoft: Debetenerunalongitudde8caracterescomomnimo. Debecontenerunacombinacindeletras,nmerosysmbolos.Enestepuntoaadirqueno esconvenientesustituirlaiconel1,laoconelcero,etc. Noesunapalabraquepuedaencontrarseeneldiccionario.Estoincluyelasrecomendaciones siguientes:Noeselnombredeuncomando,unapersona,unusuarioounequipo. Secambiaconfrecuencia.Estarecomendacinparalascontraseasdeusuario,avecesnoes posibleparaloscertificados. Presentadiferenciasnotablesconrespectoacontraseasanteriores.
ParasistemasoperativosWindows2003yposteriores,lasexigenciassonmsacordesconlas recomendacionesexpuestasanteriormente:
Nopuedecontenerparteotodoelnombredelacuentadelusuario.Unapartedeunnombre decuentasedefinecomotresomscaracteresalfanumricosconsecutivosdelimitadosen ambosextremosporunespacioenblancoqueincluyeademsdelespacio,latabulacin,el retorno,etc.,oporalgunodelossiguientescaracteres:coma(,),punto(.),guin(),carcter desubrayado(_)osignodealmohadilla(#). Debetenerunalongituddeochocaracterescomomnimo. Debecontenercaracteresdetresdelassiguientescategoras: o o o o LetrasenmaysculasdelalfabetoLatn(delaAalaZ). LetrasenminsculasdelalfabetoLatn(delaaalaz). Dgitosenbase10(del0al9). Caracteresquenoseanalfanumricos,comosignodeadmiracin(!),signode moneda($),signodealmohadilla(#)oporcentaje(%).Encasodequeseuseuna conexinODBC,debetenerseencuentaquealgunoscaracteresnosepuedenusar enconcreto[]{}(),;?*!@porqueseutilizanparainiciarunaconexinopara separarvaloresdeconexin.
Clavemaestra
Ahorayanospodemosponeracrearlaclavemaestra: Valor aadido Danysoft | www.danysoft.com 3
Creacincertificado
Elsegundopaso,comohemosindicado,escrearuncertificadoprotegidoporlaclavemaestra.Estosehace delamanerasiguiente:
Veamoslosdetallesdelnuevocertificado:
Clavedecifrado
Ahoraquetenemosconquprotegerlaclavedecifradoqueseutilizaparacifrardeformatransparente unabasededatos,podemoscrearla:
Comoenelpasoanteriornohemoscreadounacopiadeseguridaddelcertificado,nosdalaadvertencia: noseharealizadounacopiadeseguridaddelcertificadousadoparacifrarlaclavedecifradodelabasede datos.Deberahacerinmediatamenteunacopiadeseguridaddelcertificadoydelaclaveprivadaasociada conelcertificado.Sielcertificadollegaraanoestardisponibleosituvieraquerestauraroasociarlabasede datosenotroservidor,necesitarcopiasdeseguridadtantodelcertificadocomodelaclaveprivada.Delo contrario,nopodrabrirlabasededatos. Despusdecrearlacopiadeseguridaddelcertificado,podemosproseguir.Convendrasealarqueantesse haestadotrabajandoconlabasededatosmaster,porquetantolaclavemaestracomoelcertificadoes obligatorioqueestnenella.Peroparacifrarunabasededatos,laclavecorrespondientedebeestaren dichabasededatos,poresohemoscambiadoaAdventureWorks. Porqunohacemoscopiadeseguridaddelaclavedecifrado?Porquenosepuedeexportardelabasede datos:Soloestdisponibleparaelsistema,paralosusuariosquetienenlospermisosdedepuracinenel servidoryparalosusuariosquetienenaccesoaloscertificadosquecifranydescifranlaclavedecifradode labasededatos. Paraverlascaractersticasdelaclavecreada:
VemosquelaclaveperteneceaAdventureWorks,comohemosmencionado,quenoestcifradatodava (encryption_state=1)yelalgoritmodecodificacinespecificado.
Cifrado
Yaporfinpodemoscifrarlabasededatos.Tengamosencuentaqueningunadelasetapasquenosexige SQLServeresgratuita.Esdecir,laclavedecifradoladebetenerlabasededatosparaqueelcifradosea transparente.Porlotanto,necesitaunmedioseguroparaguardarla.Comotienequeserunaclave asimtricaocertificadoquedebeestartambinenSQLServerparaquesigasiendotransparente,hayque guardarestecertificadobajollave.Paraactivarelcifradousamos:
Cmopodemossabersiseestcifrandolabasededatos?Yahemosvistolaconsulta:
Verificacin
UnaformafcildeverificarsisehacifradolabasededatosespararlosserviciosdeSQLServeryabrirel ficherodedatos.Silohacemosconunabasededatossincodificar,veremosquehaydatosquesepueden leerasimplevista,aquelloscontexto.Silabasededatosestcifradaveremosquetodoesbasura, imposibledeleer,inclusoelrellenodelabasededatos. Tambinpodemosprobarhacercopiadeseguridadyrestaurarlabasededatos.Primerohacemoslacopia deseguridad:
AcontinuacinvamosatratarderestaurarestabasededatosenotroservidoroinstanciadeSQLServer:
Estainstruccin,comoesperbamos,fallaconelsiguientemensaje:
Comoeradeesperar,nosdaelmismoerrorquealrestaurar:
Restaurarunabasededatoscifrada
Yahemosvistoque,unavezcifradaunabasededatos,nohayaccesoalosdatosdeformaclaraniatravs delosficherosdedatos,deregistro,datostemporalesocopiadeseguridad.Luegolanicaformade restauraroadjuntarlabasededatoscifradaenotroservidoroinstanciaesaadiendoelmismocertificado. Paraelloprimerotenemosquehacerunacopiadeseguridaddelcertificadoydesuclaveprivada:
Comohemoscreadoelcertificadoylaclaveprivadaenelnuevoservidoroinstancia,yasepuederestaurar labasededatoscifrada:
Qutenerencuenta
HayunproblemaconocidoqueafectaaTDEyalosgruposdearchivosdeslolectura.Nosepuede habilitarTDEcuandohaygruposdearchivosdeslolectura,locualeslgico,porquedejarandeser archivosdeslolectura.Elestadodelabasededatossequedaencifradoenprogresoynotermina.Por lotanto,primerohayquepermitirlaescrituraentodoslosgruposdearchivos,luegocifrarlabasededatos yporltimo,volveraponercomoslolecturalosgruposdearchivoscorrespondientes. RespectoaltipodedatosFileStream,sepuedecifrarlabasededatos,perolosdatosreales(losficheros)en elsistemadearchivosnosecifran.Paraestohayqueusaralgnsistemadecifradodesistemaoperativo porqueenrealidadeslquienseencargadeestosficherosodatosFileStream. Porltimo,cualquieraccinqueimpliquerestaurarlabasededatos,moverlaohacerunespejovaa necesitar,obviamente,elcertificado.Es,portanto,muyimportantequeseguardencorrectamentelas copiasdeseguridaddeloscertificados,sino,lascopiasdeseguridaddelosdatosnosirvennisepuede hacerunespejo.
Efectossecundarios
ElbeneficiofundamentaldeTDEeselcifradonativodetodoslosdatosenelnivelfsico.Nosenecesitan programasexternosdecifrado,niprocedimientosalmacenadosoCLR,nielsistemaoperativo:esnativode SQLServer.Ademsprotegenoslociertosdatos,sinolosficheroscompletos. Perotambintienesusproblemas.Elprimeroyalohemosvisto:secifralabasededatostempdb,quees usadaportodaslasbasesdedatosdelainstancia.Aunqueelcifradonosuponemuchadegradacindela respuestadelservidor,cadavezqueunabasededatosabierta(nocifrada)usedatostemporales,vana tenerquesercifradosydescifrados,loqueafectaasurendimiento. Otroproblemasonlascopiasdeseguridadcomprimidas.Unabasededatoscifradacomprimemuypoco. Estoesdeesperarsiaceptamosqueloquehayenlosficherosdebesercompletamentealeatorio,sin patronesqueindiquenquhaydetrsy,portanto,sinpatronescomprimibles.Adems,noslonovaa haberprcticamentediferenciaentamaoentreunacopiadeseguridadcomprimidaysincomprimir,sino quetambinvaahaberporcadiferenciaentiempo. Porltimo,unaadvertenciaquesehalanzadoenlosforosesque,unavezquesecifraunabasededatos, aunqueluegosequiteelcifrado,siemprehayunareferenciaalcertificadoysevaanecesitarenlainstancia dondeserestaure.Deotromododarerror.Porsiacasolaversinqueseusatieneesteproblema,mejor comprobarloantesconuntest,ytenerlopresenteparanoperderlacopiadelcertificado.
Conclusin
Hemosvistoqueelcifradotransparentededatostrabajabienyesmuyfcildeinstalar.Nosdacifrado nativocompletamentetransparenteparaelusuario,detodoslosdatosindependientedelsistema operativooserviciosdeterceros.Cifratodoslosdatossinpreocuparnossicambiamosdesitioocreamos
algnfichero.Deestamanerasepuedencumplirconlosrequisitosdeprivacidaddelestadoointernosdela compaa,conclavesycertificadosfuertes,sinaumentareltamaodelabasededatos. Peronodebemosolvidarquetieneunallavesinlacuallosdatossepuedenconvertirenbasura.Portanto, lomejorestenervariascopiasdelcertificadoalmacenadasenlugaresseguros:nosloporquenolopuedan robaronosepuedaperderenunincendio,sinotambinporqueelmediodondeestalmacenadonose degradeysevuelvailegible.Deestamanera,sitenemosvariascopiasrepartidas,encasodeperderalguna porlacausaquesea,siempredispondremosdeotra. Porltimounpensamiento:Estoesmuytilparabasesdedatosporttiles,peroslovieneenlaedicin Enterprise. Paramsinformacin. Danysoft,esGoldcertifiedPartnerdeMicrosoftofrecindoletantolaslicenciasdeSQLServerenlas mejorescondicionescomolosserviciosdeformacinyconsultoranecesariosparasucorrectouso.Puede contactarconDanysoftenel902123146,overmsinformacinenwww.danysoft.com