Você está na página 1de 85

Segurana em Banco de Dados

Arthur Henrique Atade de Azevedo Edkarla Andrade de Castro Paulo Roberto de Lima Serro

Segurana em Banco de Dados

Aspectos

erais de se!uran"a#

Evitar viola"o de consist$ncia dos dados# Se!uran"a de acesso%usu&rios e aplica"'es(# Se!uran"a contra )alhas%recover*(# +anuten"o de hist,rico de atualiza"'es backups do -.#
%Lo!( e

Segurana em Banco de Dados

Se!uran"a com -anco de dados livres %m*sql(# Se!uran"a com -anco de dados propriet&rios %/racle(#

Consequencias de no ter um ambiente se!uro# Recomenda"'es para um ambiente se!uro# Re)er$ncias0

Aspectos Gerais de Segurana


Porque devemos ter segurana em um Banco de Dados?
Possuir in)orma"o ho1e 2 !anhar a!ilidade3 competitividade3 previsibilidade3 dinamismo3 portanto3 possuir in)orma"o 2 o mesmo que possuir um di)erencial3 uma vanta!em competitiva0

4ma in)orma"o 5til pode ser usada a )avor ou contra voc$ ou sua empresa0 Por isso 2 importante que se possua in)orma"'es corretas e uma )orma e)iciente de prote!$6las3 1& que se al!um dado crtico )or alterado3 destrudo3 ou divul!ado sem autoriza"o pode acarretar em pre1uzos tanto para a empresa ou institui"o3 como para seus clientes ou usu&rios0

Aspectos Gerais de Segurana


Os princpios da segurana da informa o s o:

confidencialidade: !arantia de que a in)orma"o 2 acessvel somente por pessoas autorizadas a terem acesso#

integridade: a in)orma"o 2 alterada somente pelas pessoas autorizadas#

disponibilidade: !arantia de que as pessoas autorizadas obtenham acesso 7 in)orma"o e aos ativos correspondentes sempre que necess&rio0

.essa )orma3 !arantir a se!uran"a da in)orma"o 2 )azer com que as in)orma"'es permane"am con)idenciais3 inte!ras e disponveis para a pessoa certa na hora certa0

Aspectos Gerais de Segurana


.e acordo com S8+/LA %9::;3 p0<9(3 os principais motivos para se prote!er uma in)orma"o so =
o seu valor3 o impacto de sua aus$ncia3 o impacto resultante de seu uso por terceiros3 a import>ncia de sua e?ist$ncia e a rela"o de depend$ncia com a sua atividade3 e a in)orma"o deve ser prote!ida em todo o seu ciclo de vida3 desde sua cria"o3 manuseio3 armazenamento transporte e descarte0

/s S -.s para !arantir a se!uran"a das in)orma"'es3 devem possuir controles de redundancia3 concorrencia e a capacidade de manter os dados inte!ros3 aplicando as restri!es de integridade"

#ontrole de $edund%ncia

A redund>ncia 2 caracterizada pela presen"a de um elemento de in)orma"o duplicado0 Sistemas de banco de dados devem ter capacidade de !arantir que os dados no se1am redundantes0 Esse controle 2 usualmente conhecido como inte!ridade re)erencial0 / controle de redund>ncia no permite incluir dois re!istros com a mesma chave prim&ria e e?cluir um re!istro que possua relacionamento com outras tabelas %chave estran!eira(0 Com isto3 o controle de redund>ncia evita a inconsist$ncia de dados0 Este padro de inte!ridade 2 o )undamento do modelo relacional3 por isso 2 necess&rio que o banco de dados tenha a capacidade de !erenciar o controle de redund>ncia0

#ontrole de #oncorr&ncia

@ um esquema usado para !arantir que as transa"'es so e?ecutadas de )orma se!ura0


4ma das qualidades dos sistemas desenvolvidos 2 a multipro!rama"o que permite a e?ecu"o de diversas transa"'es visando o compartilhamento do processador0 Aesse ambiente multipro!ramado diversas transa"'es podem e?ecutar concorrentemente0 Por isso os sistemas precisam controlar a intera"o entre transa"'es concorrentes com o ob1etivo de prevenir a viola"o da consist$ncia do banco de dados0

Esse controle 2 )eito por um con1unto de mecanismos de)inidos como esquemas de controle de concorr$ncia0 Buando as transa"'es so e?ecutadas concorrentemente a consist$ncia do banco pode ser violada mesmo que cada transa"o individual este1a correta0
Cabe ressaltar que nesse ambiente 2 importante o conceito da seriabilidade0 @ necess&rio que qualquer escalonamento produzido ao se processar um con1unto de transa"'es concorrentemente se1a computacionalmente equivalente a um escalonamento produzindo e?ecutando essas transa"'es serialmente em al!uma ordem0

.iz6se que um sistema que !arante esta propriedade asse!ura a seriabilidade0

#ontrole de #oncorr&ncia

/s escalonamentos podem ser seriais e no6seriais0 Escalonamentos seriais consistem de uma seqC$ncia de instru"'es de v&rias transa"'es onde as instru"'es pertencentes a uma 5nica transa"o aparecem 1untas0 Ao escalonamento no serial as opera"'es de uma transa"o so e?ecutadas intercaladas com opera"'es de outra transa"o0 /s mecanismos de controle de concorr$ncia so classi)icados em mecanismos otimistas e pessimistas0 /s mecanismos de controle de concorr$ncia pessimistas so aqueles que buscam impedir antecipadamente os tipos de acesso concorrente a dados que podem !erar inconsist$ncias0 Dsso pode ser )eito bloqueando temporariamente o acesso de dados a al!umas aplica"'es enquanto outra est& acessando0 /s mecanismos de controle de concorr$ncia otimistas3 ao inv2s de tentar evitar antecipadamente acessos inconsistentes permitem o livre acesso0 Ao )inal da e?ecu"o das aplica"'es 2 iniciado um processo que e?amina a incid$ncia de inconsist$ncia nos dados !ra"as ao acesso concorrente0

$estri o de 'ntegridade

As restri"'es de inte!ridade o)erecem meios de asse!urar que mudan"as )eitas no banco de dados por usu&rios autorizados no resultem em perda de consist$ncia dos dados0 As restri"'es de inte!ridade podem res!uardar o banco de dados contra danos acidentais0 4ma restri"o de inte!ridade pode ser um predicado arbitr&rio que reaplica ao banco de dados0 Ao entanto3 os predicados arbitr&rios podem ser custosos para testes0 .essa )orma 2 preciso limitar6se em restri"'es de inte!ridade que possam ser testadas com um mnimo custo adicional0 A )orma mais elementar de restri"o de inte!ridade 2 a restri"o de domnio0 Em um sistema 2 possvel que diversos atributos tenham um mesmo domnio0 A de)ini"o de restri"o de domnio no somente permite testar os valores inseridos no banco de dados como possibilita testar as consultas asse!urando que as compara"'es )a"am sentido0

$estri o de 'ntegridade

A inte!ridade re)erencial 2 usada para !arantir que um valor que aparece em uma rela"o para um dado con1unto de atributos tamb2m apare"a para um certo con1unto de atributos em outra rela"o0 Ao modelo E6R %Entidade E Relacionamento(3 o esquema do banco de dados relacional derivado de dia!ramas E6R resulta em um con1unto de relacionamentos que possui re!ras de inte!ridade re)erencial0 /utro ponto de ori!em de restri"'es de inte!ridade re)erencial so os con1untos de entidades )racas0 Dsto porque o esquema relacional para cada con1unto de entidades )racas inclui uma chave estran!eira que leva a uma restri"o de inte!ridade re)erencial0 As modi)ica"'es em banco de dados podem violar as re!ras de inte!ridade re)erencial0

(vitar viola o de consist&ncia dos dados


Para evitar a viola"o dos dados e !arantir a consist$ncia3 con)iabilidade3 podemos adotar al!ums mecanismos de se!uran"a entre esses mecanismos podemos destacar=

)ecanismos de controles fisicos

portas F trancas F paredes F blinda!em Fetc000

)ecanismos de controles l*gicos

+ecanismos de cripto!ra)ia Assinatura di!ital +ecanismos de !arantia da inte!ridade da in)orma"o +ecanismos de controle de acesso e etc000

Dentre os mecanismos de controle l*gico+ vamos destacar a criptografia"

#riptografia

A Cripto!ra)ia 2 a t2cnica pela qual a in)orma"o pode ser trans)ormada da sua )orma ori!inal para outra ile!vel3 de )orma que possa ser conhecida apenas por seu destinat&rio3 o que a torna di)cil de ser lida por al!u2m no autorizado0 Assim sendo3 s, o receptor da mensa!em pode ler a in)orma"o com )acilidade0

A criptografia principais :

tem

quatro

ob.etivos

confidencialidade da mensagem= s, o destinat&rio autorizado deve ser capaz de e?trair o conte5do da mensa!em da sua )orma ci)rada0 Al2m disso3 a obten"o de in)orma"o sobre o conte5do da mensa!em %como uma distribui"o estatstica de certos caracteres( no deve ser possvel3 uma vez que3 se o )or3 torna mais )&cil a an&lise cripto!r&)ica0 integridade da mensagem= o destinat&rio dever& ser capaz de determinar se a mensa!em )oi alterada durante a transmisso0 autentica o do remetente= o destinat&rio dever& ser capaz de identi)icar o remetente e veri)icar que )oi mesmo ele quem enviou a mensa!em0 n o,rep-dio ou irretratabilidade do emissor= no dever& ser possvel ao emissor ne!ar a autoria da mensa!em0

#riptografia

Aem todos os sistemas ou al!oritmos cripto!r&)icos so utilizados para atin!ir todos os ob1etivos listados acima0 Aormalmente3 e?istem al!oritmos espec)icos para cada uma destas )un"'es0 +esmo em sistemas cripto!r&)icos bem concebidos3 bem implementados e usados adequadamente3 al!uns dos ob1etivos acima no so pr&ticos %ou mesmo dese1&veis( em al!umas circunst>ncias0 Por e?emplo3 o remetente de uma mensa!em pode querer permanecer anGnimo3 ou o sistema pode destinar6se a um ambiente com recursos computacionais limitados0 Hipos de Cripto!ra)ia3 +.93 +.I3 SHA3 Hash3 +.J3 +.K %no utilizav2l(0 /s mais indicados e comuns so o +.J3 o SHA e o Hash

#riptografia

+.J %)essage,Digest algorit/m 0( 2 um al!oritmo de hash de <9L bits unidirecional desenvolvido pela $SA Data Securit1+ 'nc03 descrito na $2# 34533 e muito utilizado por so)tMares com protocolo ponto6a6ponto %P5P+ ou Peer,to,Peer+ em ingl&s( na veri)ica"o de inte!ridade de arquivos e lo!ins0 Noi desenvolvido em <OO< por $onald $ivest para suceder ao )D6 que tinha al!uns problemas de se!uran"a0 Por ser um al!oritmo unidirecional3 uma hash md0 no pode ser trans)ormada novamente no te?to que lhe deu ori!em0 / m2todo de veri)ica"o 23 ento3 )eito pela compara"o das duas hash %uma da mensa!em ori!inal con)i&vel e outra da mensa!em recebida(0 / )D0 tamb2m 2 usado para veri)icar a inte!ridade de um arquivo atrav2s3 por e?emplo3 do pro!rama mdJsum3 que cria a hash de um arquivo0 Dsto pode6se tornar muito 5til para doMnloads de arquivos !randes3 para pro!ramas P5P que constroem o arquivo atrav2s de peda"os e esto su1eitos a corrup"o dos mesmos0 Como autentica"o de lo!in 2 utilizada em v&rios sistemas operacionais uni? e em muitos sites com autenti)ica"o0

#riptografia

SHA %Secure Hash Al!orithm( est& relacionada com as )un"'es cripto!r&)icas0 A )un"o mais usada nesta )amlia3 a SHA6<3 2 usada numa !rande variedade de aplica"'es e protocolos de se!uran"a3 incluindo HLS3 SSL3 P P3 SSH3 SF+D+E e DPSec0 SHA6< )oi considerado o sucessor do +.J0 Ambos t$m vulnerabilidades comprovadas0 Em al!umas correntes3 2 su!erido que o SHA69JK ou superior se1a usado para tecnolo!ia crtica0 /s al!oritmos SHA )oram desenhados pela Aational Securit* A!enc* %ASA( e publicados como um padro do !overno Aorte6Americano0 / primeiro membro da )amlia3 publicado em <OO;3 )oi o)icialmente chamado SHA# no entanto3 2 )requentemente chamado SHA6: para evitar con)us'es com os seus sucessores0 .ois anos mais tarde3 SHA6<3 o primeiro sucessor do SHA3 )oi publicado0 .esde ento quatro variantes )oram lan"adas com capacidades de sada aumentadas e um desi!n li!eiramente di)erente= SHA699I3 SHA6 9JK3 SHA6;LI3 e SHA6J<9 P por vezes chamadas de SHA69 0

Segurana de acesso
7usu8rios e aplica!es9
A preocupa"o com a cria"o e manuten"o de ambientes se!uros t$m sido tare)as cruciais de administradores de redes3 de sistemas operacionais e de bancos de dados0 Pesquisas mostram que boa parte dos ataques3 roubos de in)orma"'es e acessos no6autorizados so )eitos por pessoas que pertencem 7 or!aniza"o alvo0 Dsso )az com que estes pro)issionais se desdobrem para criar e usar arti)cios para eliminar os acessos no6autorizados ou minimizar as chances de sucesso das tentativas de invaso %internas ou e?ternas(0 /s controles de acesso em sistemas de in)orma"o devem asse!urar que todos os acessos diretos ao sistema ocorram e?clusivamente de acordo com as modalidades e as re!ras pr26estabelecidas3 e observadas por polticas de prote"o0

Segurana de acesso
7usu8rios e aplica!es9

A )i!ura abai?o apresenta um sistema de controle de acesso incluindo assuntos %usu&rios e processos( que alcan"am ob1etos %dados e pro!ramas( com as opera"'es %ler3 escrever e e?ecutar(0

Segurana de acesso
7usu8rios e aplica!es9
A )i!ura mostra um sistema de controle de acesso composto basicamente de dois componentes=

as Polticas de Acesso+ que indica as modalidades e tipos de acesso a serem se!uidas3 e os Procedimentos de Acesso3 que3 com base nas re!ras de acesso3 os pedidos de acesso podem ser permitidos3 ne!ados ou podem ser pedidas modi)ica"'es no pedido de acesso0

rande parte dos S -.s atuais controla o acesso aos dados armazenados atrav2s de :istas de #ontrole de Acesso %Access Control List, ACL( 0 As ACLs so tabelas especiais que possuem in)orma"'es sobre os privil;gios que cada usu&rio pode ter em determinado banco de dados0

Segurana de acesso
7usu8rios e aplica!es9

Buando um usu&rio se conecta ao banco de dados Qsua identidadeR 2 determinada pela m&quina de onde ele conectou e o nome de usu&rio que ele especi)icou0 / sistema concede privil;gios de acordo com sua identidade e com o que ele dese1a )azer0 Assim 2 possvel que usu&rios provenientes de di)erentes lu!ares da internet possuam o mesmo nome de usu&rio e privil2!ios totalmente di)erentes um do outro0 / controle de acesso 2 )eito em duas etapas= primeiramente o servidor con)ere se voc$ pode ter acesso ou no3 em se!uida3 assumindo que voc$ pode conectar3 o servidor veri)ica cada requisi"o )eita para saber se voc$ tem ou no privil2!ios su)icientes para realizar a opera"o0 Por e?emplo3 se voc$ tentar selecionar linha de uma tabela em um banco de dados ou apa!ar uma tabela do banco de dados3 o servidor se certi)ica que voc$ tem o privil2!io select para a tabela ou o privil2!io drop para o banco de dados0

S<: in.ection
O que ; ?
A Dn1e"o de SBL3 mais conhecida atrav2s do termo americano SBL Dn1ection3 2 um tipo de amea"a de se!uran"a que se aproveita de )alhas em sistemas que intera!em com bases de dados via SBL0 A in1e"o de SBL ocorre quando o atacante conse!ue inserir uma s2rie de instru"'es SBL dentro de uma consulta %quer*( atrav2s da manipula"o das entrada de dados de uma aplica"o0

S<: in.ection

Para ilustrar o conceito de SBL Dn1ection3 a se!uinte simula"o pode ser realizada0 Dma!inemos que um script de valida"o de acesso de usu&rios tenha sido desenvolvido como se!ue=

Aas linhas ; e I3 as vari&veis Susuario e Ssenha3 respectivamente3 recebem o conte5do submetido por um )ormul&rio atrav2s do m2todo P/SH0 Eis a )onte do problema0 Suponha que a se!uinte entrada tenha sido in)ormada no campo usu&rio no )ormul&rio chamador do script de valida"o0

S<: in.ection

Lo!o3 a quer* strin! resultante ser&=

Se nenhuma outra valida"o )or realizada3 o usu&rio mal intencionado ter& e)etuado lo!in no sistema3 sem ao menos in)ormar um usu&rio contido na tabela0 Dsto )oi possvel pois o valor de entrada in)ormado no recebeu o tratamento devido3 sendo adicionado 7 instru"o para ser e?ecutado0 Tale ressaltar que as valida"'es apresentadas no e?emplo so apenas ilustrativas3 havendo a necessidade de checa!ens mais e)icazes para um script de valida"o de acesso0

S<: in.ection
'mpossibilitando o uso de S<: 'n.ection

Para que se este1a livre da utiliza"o da SBL Dn1ection3 certas provid$ncias devem ser tomadas0 Al!umas das a"'es sero realizadas no servidor de banco de dados3 outras devem ser !arantidas pelo c,di!o )onte0 .eve6se tomar cuidado com a con)i!ura"o do usu&rio que estabelece a cone?o com o banco de dados0 / ideal 2 que as permiss'es de acesso deste usu&rio este1am restritamente limitadas 7s )un"'es que ir& realizar3 ou se1a3 para a e?ibi"o de um relat,rio3 a cone?o com o banco de dados deve ser realizada por um usu&rio com permiss'es de leitura e acesso somente 7s tabelas necess&rias para sua opera"o0

S<: in.ection

Hodos os valores ori!inados da coleta de dados e?ternos3 devem ser validadas e tratadas a )im de impedir a e?ecu"o de eventuais instru"'es destrutivas ou opera"'es que no se1am as esperadas0 4m tratamento b&sico para a e?ecu"o de quer*s com vari&veis contendo valores in)ormados pelo usu&rio=

S<: in.ection

Com a utiliza"o da )un"o addslashes%( ser& adicionada uma barra invertida antes de cada aspa simples e aspa dupla encontrada3 processo conhecido como escape0 Se a diretiva de con)i!ura"o do PHP ma!icUquotesU!pc estiver ativada3 o escape 2 realizado automaticamente sobre os dados de C//VDES e dados recebidos atrav2s dos m2todos EH e P/SH0 Aeste caso3 no deve ser e)etuado o tratamento com addslashes%(0 A )un"o !etUma!icUquotesU!pc%(3 disponvel nas vers'es do PHP a partir da ;0:0K3 retorna a con)i!ura"o atual da diretiva ma!icUquotesU!pc0 Abai?o3 a quer* strin! resultante da aplica"o do tratamento mencionado=

S<: in.ection

Em muitos bancos de dados3 e?istem )un"'es espec)icas para o tratamento de vari&veis em quer* strin!s3 o que diminui a compatibilidade do c,di!o )onte para opera"o com outros sistemas de banco de dados0 /utra dica importante 2 evitar a e?ibi"o das mensa!em de erro em um servidor de aplica"o em produ"o3 pois !eralmente nos erros ou alertas so e?ibidos caminhos de diret,rios do sistema de arquivos e in)orma"'es 7 respeito do esquema do banco de dados3 podendo comprometer a se!uran"a do sistema0

Segurana contra fal/as 7recover19

A recupera"oFtoler>ncia a )alhas tem por ob1etivo restaurar o -. para um estado de inte!ridade3 ap,s a ocorr$ncia de uma )alha# /s mecanismos de recupera"o baseiam6se na utiliza"o de )ormas de redund>ncia que quase duplicam o -.3 utilizando= Backup e transaction log

)anuten o de /ist*rico de atuali=a!es7:og9 e bac>ups do BD

/s backups so c,pias de se!uran"a do -.3 que so e?ecutados periodicamente e constituem um ponto de partida para a recupera"o do -. ap,s a ocorr$ncia de uma )alha3 independentemente da sua !ravidade# Re)letem uma situa"o passada3 donde a reposi"o a partir de um backup implica perder todas as atualiza"'es posteriores 7 realiza"o do mesmo0

)anuten o de /ist*rico de atuali=a!es7:og9 e bac>ups do BD

4ma )orma de minimizar esta situa"o 2 aumentando a periodicidade dos backups3 o que 2 um processo pesado3 consumidor de recursos e que pode obri!ar a paradas dos sistemas# A periodicidade dos backups depende do valor dos dados3 do seu volume e da )requ$ncia com que so acedidos e alterados#

)anuten o de /ist*rico de atuali=a!es7:og9 e bac>ups do BD

/ backup 2 um mecanismo de reposi"o do -.0 /s transaction logs so mecanismos de repeti"o das transac"'es ocorridas desde o 5ltimo backup (rollforward); Aormalmente para se re)azer uma transa"o 2 necess&rio o )icheiro de transaction log3 onde est& !uardada uma identi)ica"o da transa"o e uma c,pia dos dados atualizados por ela % after image(#

)anuten o de /ist*rico de atuali=a!es7:og9 e bac>ups do BD

Sendo esta a )orma mais comum de resolver os problemas provocados por uma )alha3 t$m que e?istir outros mecanismos que permitam o roll back das transac"'es no terminadas3 ocorridos durante a e?ecu"o no sucedida das mesmas# .onde o )icheiro transaction log necessita i!ualmente de !uardar os dados anteriores ao incio da e?ecu"o da transac"o %beforeimages)

)anuten o de /ist*rico de atuali=a!es7:og9 e bac>ups do BD


@ da con1u!a"o destes dois mecanismos 6 backups e transaction logs 3 que se !arantem duas das caractersticas )undamentais das transa"'es= Atomicidade %des)azendo uma transa"o no sucedida( Persist&ncia %re)azendo os e)eitos de uma transa"o bem sucedida(

?ipo de 2al/as
2al/a de disco 6 o%s( disco%s( onde o -. est& armazenado )ica%m( inutilizado%s(0 @ a )alha considerada mais !rave e que obri!a 7 reconstru"o de todo o S -.# 2al/a de sistema 6 pode resultar de problemas de hardMare ou so)tMare3 no sendo possvel !arantir a validade dos dados0 Dmplica repor a -. a partir do seu 5ltimo estado de inte!ridade0

?ipo de 2al/as
2al/a de transa o 6 2 a mais ino)ensiva e recupera6se recorrendo ao )icheiro transaction log e 7s before images da transa"o que no )oi bem sucedida0
Em qualquer processo de recupera"o recorre6 se ao rollback das transa"'es e)etuadas at2 ao momento em que os transaction log e os )icherios da base esto sincronizados3 para se poderem des)azer todas as transa"'es decorridas desde ento0

?ipo de 2al/as
Esse momento coincide com o 5ltimo backup3 o qual se muito a)astado no tempo3 obri!a a um processo moroso e comple?o de recupera"o do -.0
?n ?nA3 ?nA5 ?nA4

@ltimo bac>up

2al/a de disco

?ipo de 2al/as
Para evitar este tipo de situa"'es3 recorre6 se a marcas de se!uran"a3 conhecidas por checkpoints0 -asicamente3 para reduzir o n5mero de acessos aos discos3 nos )icheiros de transaction log as atualiza"'es so realizadas na mem,ria RA+3 em buffers3 sendo posteriormente escritos em disco#

?ipo de 2al/as
Buando ocorre uma )alha3 o conte5do desses buffers pode perder6se3 ou pelo menos pode no e?istir uma !arantia de validade do seu conte5do# Assim os checkpoints re!istram os momentos em que o conte5do dos buffers )oi escrito nos discos3 de)inindo6se um momento em que o transaction log e o -. esto sincronizados0

?ipo de 2al/as

?n

?nA3

?nA5 ?nA4

@ltimo bac>up

2al/a de Sistema

Auditoria em Banco de Dados

@ o con1unto de a"'es para veri)icar o que os usu&rios esto )azendo0 +uitas empresas )azem isso para os )ins de se!uran"a0 Dsso 2 para !arantir que usu&rios no autorizados no esto acessando uma parte do banco de dados ou a estrutura principal que no 2 permitida0 A maioria das in)orma"'es crticas de uma empresa3 O:W ou mais3 2 mantida no banco de dados0 @ por isso que a auditoria do banco de dados 2 to crucial para a prote"o da se!uran"a0 Se determinada in)orma"o 2 comprometida3 ela pode ser crtica para suas opera"'es0

Segurana em Banco de dados :ivres 7)1sql9

/ +*SBL sem d5vida nenhuma3 2 o banco de dados open source mais conhecido do mercado e provavelmente o mais utilizado0 Ele 2 r&pido3 simples3 )uncional e ho1e implementa recursos que o colocam pr,?imo a !randes nomes como /racle0 At2 pouco tempo um recurso e?tremamente 5til e que era )ator que impedia utiliza"o em v&rias empresas3 2 o suporte 7 transa"o0 .esde o lan"amento da verso +AX3o +*SBL 1& d& suporte a transa"'es3 derrubando este impeclio 7 sua utiliza"o0 +ais tarde3 com a introdu"o das tabelas Dnno.-3 o +*SBL !anhou mais um poderoso recurso= inte!ridade re)erencial0 Assim o +*SBL passa a implementar os principais conceitos que aprendemos nos livros sobre banco de dados3 )azendo6o ser uma alternativa vi&vel para ser adotado no desenvolvimento de aplicativos0

Segurana no sistema 7)1sql9

Antes mesmo de pensar como um administrador de banco de dados %.-A(3 devemos pensar na se!uran"a do sistema0 Al!umas considera"'es devem ser analisadas para evitar que3 mesmo implementando controles de acessos a tabelas3 banco de dados3 o administrador se1a surpreendido pela perda de dados pelo )ato de al!u2m ter YacidentalmenteY apa!ado o reposit,rio do +*SBL0 Apesar de implementar um sistema de valida"o robusto3 o +*SBL no tem como controlar acessos que deveriam ser bloqueados pelo sistema operacional0 Acesso a arquivos3 permiss,es de usu&rios do sistema3 ou mesmo do usu&rio sob o qual roda o servidor devem ser especialmente preparados para evitar que ha1a corrup"o ou quebra da privacidade dos dados0 Resumindo3 apenas o banco de dados +*SBL deve ter acesso 7 aos arquivos de dados do +*SBL0

Sistema de arquivos 7)1sql9

Como 1& )oi )alado anteriormente3 apenas o banco de dados deveria ter acesso aos arquivos onde so armazenados os dados0 Ao mundo Linu?3 esta restri"o 2 bem simples de ser implementada3 1& que ele tem um esquema bem )orte de autentica"o que restrin!e o poder dos usu&rios do sistema0 Apenas o usu&rio root no pode ter o acesso bloqueado3 1& que ele pode rede)inir as restri"'es estabelecidas0 Para evitar qualquer tipo de problemas3 apenas o usu&rio sob o qual o servidor vai rodar3 deve ter acesso ao diret,rio onde o +*SBL !uarda os arquivos de dados0 Bualquer outro usu&rio deve ter o acesso a este diret,rio bloqueado tanto para leitura como para escrita0 / acesso de escrita deve ser bloqueado por motivos ,bvios= nin!u2m3 a no ser o pr,prio banco de dados deve escrever nos arquivos de dados0

Sistema de arquivos 7)1sql9


B8 a permiss o de leitura merece uma eCplica o mais detal/ada"

Ao bloquear o acesso 7 escrita nos arquivos do +*SBL3 !arantimos que nin!u2m poder& )azer altera"'es nos arquivos3 por2m no conse!uimos !arantir o si!ilo destes dados0 Ao 2 preciso nem deci)rar o conte5do dos arquivos para ler os dados ali armazenados3 basta pe!ar os arquivos e3 em outra m&quina copiar os arquivos no diret,rio do +*SBL e pronto0 Toc$ tem acesso a tudo que o outro banco de dados !uardou0 Para preservar o si!ilo nos dados portanto3 o acesso de leitura tamb2m deve ser bloqueado para os outros usu&rios que no o respons&vel pelo banco de dados0

Dsu8rios do sistema 7)1sql9

Para acessar o banco de dados3 no 2 necess&rio criar uma conta no sistema operacional3 pois o +*SBL tem sua pr,pria estrutura de valida"o desvinculando os usu&rios do banco de dados dos usu&rios do sistema0 / 5nico usu&rio do sistema que deve ter um tratamento especial 2 o que possui o processo servidor0 / +*SBL3 como qualquer processo no Linu? possui um dono e conseqCentemente ele vai ter os mesmos privil2!ios que este dono tem no sistema0 Assim a poltica adotada para este usu&rio 2 como em qualquer outra= a do menor privil2!io0 Se o servidor acessa s, o banco de dados3 por que dar poder ao dono do processo servidor para ler ou escrever arquivos e?ternos ao banco de dadosZ Se o prop,sito do dono do banco de dados 2 apenas )azer o servidor )uncionar3 por que dar acesso de lo!in a eleZ

Dsu8rios do sistema 7)1sql9

E?istem al!umas situa"'es que o admistrador deve dar acesso ao sistema de arquivos para o dono do banco de dados3 pois al!umas )un"'es no +*SBL precisam deste acesso %L/A. .AHA por e?emplo(0 Se este )or o caso3 o administrador deve ter o cuidado para no dei?ar aberto acesso a arquivos importantes0 @ ,bvio3 mas e?istem administradores que esquecem deste detalhe0 Com um banco de dados preparado e um comando L/A. .AHA 2 possvel pe!ar3 por e?emplo3 os dados do arquivo FetcFpassMd para tentar obter as senhas dos usu&rios0 4ma observa"o importante 2 que o dono do banco de dados EDE#A deve ser o root0 / motivo 2 ,bvio= este usu&rio tem acesso a tudo3 e acabamos de ver acima que este acesso indese1ado 2 e?tremamente peri!oso ao sistema0

Dsu8rios do sistema 7)1sql9

4m administrador ine?periente poderia pensar que apenas o super6 usu&rio do sistema pode ter acesso ao banco de dados e assim ele estaria se!uro3 mas o que acontece 2 que do outro lado3 e?iste al!u2m desconhecido que vai enviar uma consulta ao banco de dados que est& )uncionando como super6usu&rio e que pode )azer qualquer coisa0 / ideal portanto 2 que e?ista um usu&rio apenas para o banco de dados3 sem direito a )azer mais nada que no se1a manipular os dados do pr,prio banco de dados0 Aplicando estes procedimentos no servidor3 estaremos !arantindo a inte!ridade do sistema3 pois o usu&rio dono do servidor +*SBL no tem privil2!ios0 Hamb2m !arantimos o si!ilo dos dados3 pois nenhum outro usu&rio vai ter acesso aos arquivos do banco de dados0 Assim estamos implementando se!uran"a no +*SBL antes mesmo de )azer o servidor +*SBL )uncionar0

Sistema de autentica o 7)1S<:9

/ +*SBL implementa um sistema de autentica"o bastante robusto que 2 realizado em dois est&!ios0 / primeiro veri)ica se o usu&rio pode conectar ao banco de dados e o se!undo veri)ica se o usu&rio tem privil2!ios para realizar opera"'es no banco de dados0 / se!undo est&!io3 portanto3 2 veri)icado a cada opera"o realizada pelo usu&rio0

Este sistema de privil2!ios 2 armazenado usando a pr,pria estrutura do sistema em um banco de dados especial chamado m*sql0 Pela natureza dos dados que este banco de dados armazena3 ele deve ter o acesso permitido apenas para o usu&rio root do +*SBL0 /s usu&rios comuns no necessitam de acessar este banco de dados3 principalmente a tabela user3 onde esto armazenadas as senhas dos usu&rios0

Sistema de autentica o 7)1S<:9

Para aceitar a cone?o de um usu&rio3 o +*SBL no considera apenas o pr,prio usu&rio3 mas tamb2m a m&quina de onde o usu&rio est& conectando0 .essa )orma3 voc$ pode permitir o acesso de um determinado usu&rio somente de al!umas m&quinas espec)icas3 bloqueando seu acesso de outros hosts que podem no ser con)i&veis0 E?istem duas maneiras de conceder privil2!ios aos usu&rios= 4sando os comandos G$AE? e $(FOG(+ ou Alterando diretamente as tabelas do banco de dados m*sql0

A melhor escolha 2 usar os comandos G$AE?H$(FOG(3 pois o +*SBL 1& altera as tabelas automaticamente3 no sendo necess&rio entender em detalhes o si!ni)icado de cada tabela e suas respectivas colunas0 Se voc$ alterar os privil2!ios manualmente al2m do risco de manipular dados de )orma errada3 voc2 pode se esquecer de e?ecutar o comando 2:DSI P$'F':(G(S para tornar as altera"'es ativas0

Sistema de autentica o 7)1S<:9

Ao criar um novo banco de dados3 dei?e que apenas o administrador do banco de dados tenha acesso completo0 Aos usu&rios comuns permita apenas acesso aos dados3 evitando o acesso 7 estrutura do banco de dados0 Assim um usu&rio comum com acesso YcompletoY deveria ter acesso aos comandos 'ES($?+ D(:(?(+ DPDA?( e S(:(#?0 Apenas o administrador do banco de dados deve ter acesso a comandos como D$OP+ #$(A?( ou A:?($0 .essa )orma voc2 est& permitindo a cada um apenas o que ele necessita para o processamento de dados0 E?empli)icando3 vamos de)inir um certo YAl)redoY como administrador do banco de dados Ye?pedicaoY que vai ter como usu&rios um tal YLucianoY que3 por ser desenvolvedor3 pode alterar a estrutura do banco de dados e o YHhia!oY que 2 o usu&rio )inal3 ou se1a3 ele apenas precisa manipular os dados armazenados0

Sistema de autentica o 7)1S<:9

Para de)inir estes tr$s usu&rios3 basta e?ecutar a se!uinte seqC$ncia de comandos SBL= [ RAAH ALL PRDTDLE ES /A e?pedicao0\ H/ Al)redo]localhost D.EAHDNDE. -^ _senhaUdoUal)redo_# [ RAAH SELECH3DASERH34P.AHE3.ELEHE3.R/P3ALHER /A e?pedicao0\ H/ Luciano]localhost D.EAHDNDE. -^ _senhaUdoUluciano_# [ RAAH SELECH3DASERH34P.AHE3.ELEHE /A e?pedicao0\ H/ Hhia!o]localhost D.EAHDNDE. -^ _senhaUdoUthiado_# Aote que no e?emplo acima3 todos os usu&rios cadastrados t$m acesso ao banco de dados apenas se estiverem conectando da m&quina local3 ou se1a diretamente na m&quina onde o servidor +*SBL est& rodando0 Para permitir acesso de outros hosts basta repetir a consulta para um usu&rio alterando localhost para o nome ou endere"o DP da m&quina de onde ser& permitido ao usu&rio conectar ao banco de dados0

Sistema de autentica o 7)1S<:9

Toc$ poderia ainda usar o curin!a _W_ indicando que o usu&rio pode se conectar de qualquer host3 mas isto no 2 recomendado3 pois a priori voc$ no deve con)iar em m&quinas 7s quais voc$ no tem in)orma"'es0 @ muito importante que o administrador entenda pelo menos basicamente o )uncionamento do sistema de privil2!ios do +*SBL para evitar conceder a um usu&rio mais poder do que ele necessita0 So v&rios tipos de privil2!ios que um determinado usu&rio pode ter al2m de SELECH3DASERH34P.AHE3.ELEHE3.R/P e ALHER mostrados acima0 @ altamente recomendado )azer uma leitura no manual do +*SBL para ver os privil2!ios disponveis e como utiliz&6los de )orma correta0

#oneC o via rede 7)1S<:9

Ao conectar ao servidor +*SBL localmente3 tendo um sistema bem con)i!urado o +*SBL 1& pode ser considerado bem se!uro0 Ao disponibilizar o acesso via rede3 por2m3 criamos mais um ponto de vulnerabilidade dei?ando o sistema 7 merc$ de ataques dos mais variados tipos0 / simples )ato de dei?ar uma porta aberta 1& a!u"a a curiosidade de certos usu&rios para tentar usar esta porta aberta como entrada para derrubar servi"os ou outras )ormas de YatrapalharY o )uncionamento do sistema0 Em sua instala"o padro3 o +*SBL inicia permitindo cone?'es locais e cone?'es via rede0 Aa se"o anterior3 vimos como permitir que um usu&rio se conecte a partir de um host0 / simples )ato de no permitir a cone?o de um usu&rio no si!ini)ica que no teremos mais problemas porque a porta continua aberta para a rede0 Pensando nesta Yporta abertaY3 2 necess&rio implementar mecanismos para que os dados que tra)e!am por esta porta no se1am lidos por al!u2m que no o servidor e o cliente0

#oneC o via rede 7)1S<:9

Para a1udar a decidir como YesconderY os dados de crackers3 devemos ter em mente como ser& desenvolvido o aplicativo que vai usar o banco de dados0 Se )or um ambiente Meb3 onde o servidor Meb e o +*SBL este1am na mesma m&quina3 no h& motivos para liberar o acesso via rede0 Aeste caso o servidor deve ser iniciado com a op"o 66skip6 netMorkin! que )az com que o +*SBL )uncione apenas com cone?'es locais via sockets0 Se o aplicativo estiver em uma m&quina e o servidor em outra como em ambientes clienteFservidor3 ou mesmo Meb onde o servidor Meb est& em uma m&quina e o servidor +*SBL em outra3 esta op"o no pode ser utilizada0 Aos casos onde o acesso a rede deve ser necess&rio3 a primeira provid$ncia a ser tomada 2 permitir cone?'es aos usu&rios apenas das m&quinas de onde eles t$m permisso para acessar o banco de dados0 Dsto deve ser )eito atrav2s dos comandos RAAH e RET/VE vistos anteriormente0

A se!unda provid$ncia 2 estabelecer uma cone?o se!ura com o servidor0 A senha no momento da autentica"o no 2 transmitida em te?to plano3 por2m o al!oritmo de cripto!ra)ia no 2 )orte e pode ser )acilmente quebrado0 /utro problema com a cone?o estabelecida entre cliente e servidor 2 que todos os dados %requisi"'es SBL e retorno dos dados( tra)e!am em te?to plano e qualquer um rodando um sni))er pode ver o di&lo!o entre o servidor e o cliente0 E?istem pelo menos duas solu"'es para este problema0 A partir da verso I0:0:3 o +*SBL tem suporte a SSL3 que 2 um protocolo que utiliza di)erentes al!oritmos de cripto!ra)ia para asse!urar que os dados recebidos por uma rede p5blica so con)i&veis0 /utra solu"o 2 criar uma TPA usando aplicativos como SSH que criam um t5nel cripto!r&)ico entre dois hosts e o host remoto passa a en?er!ar o servidor como se estivesse rodando localmente0 4sando o +*SBL com suporte a SSL3 voc$ pode3 ao criar um usu&rio3 in)ormar ao servidor que este usu&rio precisa ser autenticado usando tamb2m atributos do SSL al2m dos dados padro %usu&rio3 senha3 nomeFDP do host(0 -asta para isto acrescentar a cl&usula REB4DRE no comando RAAH0

E?empli)icando3 vamos )azer com que a autentica"o do usu&rio Al)redo se1a )eita com SSL0 [ RAAH ALL PRDTDLE ES /A e?pedicao0\ H/ Al)redo]localhost D.EAHDNDE. -^ _senhaUdoUal)redo_ REB4DRE SSL# / manual do +*SBL d& todas as in)orma"'es passo a passo para criar certi)icados para o +*SBL e como con)i!urar o +*SBL para utilizar acesso se!uro via SSL0 Recomendamos a sua leitura para implementar este recurso0 Se o servidor +*SBL deve ser visto apenas na rede local3 o acesso e?terno deve ser bloqueado0 Toc$ pode )azer isto com o pr,prio esquema de privil2!ios do +*SBL3 mas assim apenas o acesso ao banco de dados estar& restrito e a porta continuar& aberta para a rede e?terna0

A melhor alternativa para evitar este acesso indese1ado 2 com a implementa"o de um )ireMall0 Se a rede e?terna no deve acessar o +*SBL o pr,prio )ireMall se encarre!a de )iltrar o acesso0 .essa )orma a porta de acesso ao +*SBL ser& )echada para cone?'es e?ternas0

Segurana em Banco de dados Propriet8rio 7Oracle9

A se!uran"a do banco de dados pode ser classi)icada em duas cate!orias distintas= segurana de sistema e segurana de dados" A segurana de sistema cont2m os mecanismos que controlam o acesso e o uso do banco de dados em um determinado nvel do sistema0 /s mecanismos de se!uran"a do sistema veri)icam se um usu&rio est& autorizado a se conectar ao banco de dados3 se a auditoria do banco de dados est& ativa e quais opera"'es de sistemas um usu&rio pode e?ecutar0 A se!uran"a de sistema inclui combina"'es v&lidas de nome de usu&rios e senha3 a quantidade de espa"o em disco disponvel para os ob1etos de esquema de um usu&rio e os limites de recurso de um usu&rio0

Segurana em Banco de dados Propriet8rio 7Oracle9

A segurana de dados inclui os mecanismos que controlam o acesso e o uso do banco de dados no nvel de ob1eto de esquema incluindo quais usu&rios t$m acesso a um ob1eto e a tipos espec)icos de a"'es que cada um pode e?ecutar0 E?istem )erramentas adicionais que incrementam a se!uran"a do /racle Server3 possibilitando um ambiente multiplata)orma de maior escala0 Entre elas podemos citar = Oracle (nterprise )anager %conhecido como /E+( Oracle Securit1 Server )anager %conhecido como /SS(0

Segurana em Banco de dados Propriet8rio 7Oracle9


/ Oracle (nterprise )anager % /E+( 2 um con1unto de utilit&rios que so disponibilizados numa inter)ace !r&)ica em modo usu&rio % 4D(3 que prov$m meios para !erenciar uma ou mais bases de dados de um 5nico computador0 / /E+ 2 composto por=

4m con1unto de )erramentas administrativas# 4m monitor de eventos que pode ser con)i!urado para inspecionar situa"'es espec)icas em sua base de dados# 4m a!endador de tare)as para e?ecutar tare)as de manuten"o em hor&rios de)inidos# 4ma inter)ace !r&)ica para o Recover* +ana!er Hools0

Segurana em Banco de dados Propriet8rio 7Oracle9

/ Oracle Securit1 Server )anager %/SS( pode ser utilizado para implementar uma estrutura mais comple?a de se!uran"a para dados mais sensveis3 com os se!uintes aspectos= Autentica"o de usu&rio atrav2s de credenciais eletrGnicas# Assinatura .i!ital# Single Sign n (SS ) !

Segurana em Banco de dados Propriet8rio 7Oracle9

Por se tratar de um banco de dados multiplata)orma3 sua se!uran"a no pode ser res!uardada na se!uran"a do sistema operacional em que )oi instalado0 Para isso3 a instala"o do /racle se!ue uma poltica de depender o mnimo possvel do sistema operacional3 atrav2s da implementa"o de diversas medidas de se!uran"a0 A primeira3 e tamb2m mais b&sica3 2 a altera"o das senhas dos usu&rios padro do banco0 4su&rios como S*stem %senha= mana!er(3 S*s %senha= chan!eUonUinstall( e .-SA+P %senha= dbsnmp( so instalados com tais senhas padro e t$m um alto nvel de acesso ao banco3 o que pode comprometer por completo a se!uran"a do mesmo0

Segurana em Banco de dados Propriet8rio 7Oracle9

/ servidor /racle )ornece controle arbitr&rio de acesso3 o que 2 um meio de restrin!ir o acesso 7s in)orma"'es privile!iadas0 / privil2!io apropriado deve ser atribudo por um usu&rio para que ele acesse um ob1eto de esquema0 /s usu&rios com privil2!ios apropriados podem conced$6los a outros se!undo o seu crit2rio0

/ /racle !erencia a se!uran"a do banco de dados usando diversos recursos di)erentes0 Entre eles= usu8rios+ domnio de segurana+ privil;gios+ Papeis e auditoria"

Op!es de Autentica o 7Oracle9

Para acesso ao banco de dados3 e?istem quatro )ormas de autentica"o= Atrav2s de um arquivo de senhas# Autentica"o herdada do sistema operacional %usu&rio autenticado previamente no sistema operacional(# Arquivo de senhas e do sistema operacional# Autentica"o nativa do banco de dados0

As tr$s primeiras vo herdar con)iabilidade do sistema operacional3 o que pode vir a causar problemas0 A poltica 2 sempre con)iar no banco de dados3 autenticando somente por ele e implementando uma boa poltica de senhas0 Hal m2todo de autentica"o consta na vieM FJSKS?()LPA$A)(?($

Dsu8rios 7Oracle9

Abran!e usu&rios e esquema do banco de dados onde cada banco de dados tem uma lista de nomes de usu&rios0 Para acessar um banco de dados3 um usu&rio deve tentar uma cone?o com um nome de usu&rio valido0 Cada nome de usu&rio tem uma senha associada para evitar o uso sem autoriza"o0 So implementados ainda di)erentes per)is de usu&rio para di)erentes tare)as no /racle3 tendo em vista que cada aplica"oFusu&rio tem a sua necessidade de acesso0 E?iste ainda a possibilidade de prote!er os per)is com senha3 o que 2 uma e?celente medida0 Al2m dessas medidas3 e?iste o uso de cotas que aumenta a restri"o de espa"o em disco a ser utilizado por usu&riosFaplicativos0

Domnio de Segurana 7Oracle9

Con1unto de propriedades que determinam restri"'es como = A"'es %privil2!ios e papeis( disponveis para o usu&rio# Cota de tablespaces %espa"o disponvel em disco( do usu&rio# Limites de recursos de sistema do usu&rio0

Cada usu&rio tem um domnio de se!uran"a3 As tabelas %tablespaces( do sistema3 como a s1stem3 devem ser prote!idas de acessos de usu&rios di)erentes dos usu&rios de sistema0 A libera"o de escrita e altera"o de dados em tais tabelas 2 totalmente desaconselh&vel em ambientes de produ"o0

Privil;gios 7Oracle9

4m privil2!io 2 um direito para e?ecutar um determinado tipo de declara"o SBL0 Al!uns e?emplos de privil2!ios incluem= .ireito de conectar6se ao banco de dados# .ireito de criar uma tabela em seu esquema# .ireito de selecionar linhas da tabela de outra pessoa# .ireito de e?ecutar o procedimento armazenado de outra pessoa0

/s privil2!ios so concedidos aos usu&rios para que eles possam acessar e modi)icar os dados do banco de dados0

Privil;gios 7Oracle9
/s privil2!ios de um banco de dados /racle podem se dividir em duas cate!orias distintas=

Privil;gios de sistema Permitem que os usu&rios e?ecutem determinada a"o no nvel de sistema ou em determinado tipo de ob1eto de esquema0 Altera"o de qualquer linha de uma tabela por e?emplo3 so privil2!ios do sistema0

Privil;gios do ob.eto de esquema Permitem que os usu&rios e?ecutem determinada a"o em um ob1eto de esquema tamb2m especi)ico0 / privile!io de e?cluso de uma linha em uma tabela especi)ica por e?emplo3 2 um privile!io de ob1eto0

Pap;is 7Oracle9

/s pap2is so !rupos nomeados de privil2!ios relacionados que so concedidos aos usu&rios ou a outros papeis0

/ /racle )ornece o !erenciamento )&cil e controlado dos privil2!ios por meio dos pap2is0

Auditoria 7Oracle9

Atividade que tem como )im o e?ameFavalia"o das opera"'es3 processos3 sistemas e responsabilidades !erenciais de uma determinada entidade3 com intuito de veri)icar sua con)ormidade com certos ob1etivos e polticas institucionais3 or"amentos3 re!ras3 normas ou padr'es0

/ /racle permite a auditoria seletiva %monitoramento re!istrado( das a"'es do usu&rio para au?iliar na investi!a"o de um suposto uso suspeito do banco de dados0

Auditoria 7Oracle9

A auditoria pode ser e?ecutada em tr$s nveis di)erentes= Auditoria de declara o : Naz a auditoria nas instru"'es SBL pelo tipo de instru"o independente dos ob1etos de esquema espec)ico que esto sendo acessados Auditoria de privilegio : Audita os privil2!ios de sistema3 como por e?emplo3 CREAHE HA-LE ou ALHER DA.EX0 Auditoria de ob.eto de esquema: Audita as instru"'es espec)icas que operam em um espec)ico ob1eto de esquema

Auditoria 7Oracle9

Para todos os tipos de auditoria3 o /racle permite a auditoria seletiva das e?ecu"'es bem6sucedidas das declara"'es3 das e?ecu"'es que )alharam ou de ambas0 Dsso permite o monitoramento de declara"'es suspeitas3 independente do usu&rio que a emite ter os privil2!ios apropriados ou no para produzi6la0 / uso de disparadores %triggers( para !ravar in)orma"'es personalizadas adicionais que no esto includos automaticamente nos re!istros de auditoria 1unto com a auditoria do sistema so indispens&veis para manter o sistema sempre otimizado e res!uardado de acessos indevidos0

Auditoria 7Oracle9

Para habilitar a auditoria3 2 necess&rio mudar o par>metro de inicializa"o auditUtrail3 para que o /racle inicie e possa reconhecer o tipo de auditoria0 Como o auditUtrail no 2 um par>metro din>mico3 2 necess&rio que ele se1a mudado em nvel de SPNDLE0 Ele suporta os se!uintes valores3 cada um com a se!uinte )un"o= OS= Auditoria Habilitada3 os re!istros vo ser !ravados em diret,rios do sistema em arquivos de auditoria0 DB ou ?$D(= Auditoria 2 habilitada3 os re!istros de auditoria sero armazenadas no database %SKS"ADDJ( M):= Auditoria 2 habilitada3 os re!istros sero armazenados em )ormatos X):0 EOE( ou 2A:S(= Auditoria 2 desabilitada0 DBL(M?(ED(D= Hrabalha i!ual ao par>metro DB3 mais as colunas S<:LB'ED e S<:L?(M? so preenchidas0

Buando se seleciona os modos /S ou X+L3 arquivos so criados com os re!istros de auditoria3 eles se localizam no par>metro auditU)ileUdest0

Auditoria 7Oracle9
2ases de uma Auditoria Plane.amento Analisar e estabelecer os recursos necess&rios para a e?ecu"o dos trabalhos %auditoria(3 a &rea de veri)ica"o3 metodolo!ias3 os ob1etivos de controle e os procedimentos a serem adotados0

(Cecu o `un"o de evid$ncias que se1am su)icientemente con)i&veis3 relevantes e 5teis para a realiza"o dos ob1etivos da auditoria0

$elat*rio Dn)orma"o sobre a or!aniza"o auditada3 que contenham comprova"'es3 recomenda"'es eFou determina"'es0

Auditoria 7Oracle9
Para veri)icar ou ativar a auditoria devemos )azer o se!uinte= Conectar ao banco como s*s = connect H as s1sdbaN Checar se a auditoria est& ativada = s/oO parameter auditN Se A4.DHUHRADLaA/AE no est& ativa3 ento e?ecutamos= alter s1stem set auditLtrailPdb S#OP(PspfileN

-ai?ar o banco = s/utdoOn immediateN Levantar de novo = startup openN Consultar os par>metros novamente = s/oO parameter auditN

Dicas de Segurana 7Oracle9


A /racle indica J principais itens de se!uran"a b&sica para aumentar o nvel de se!uran"a em -ancos de .ados /racle <: = Proteger o dicion8rio de dados#
Con)i!urar o valor do par>metro de sistema /bU.DCHD/AAR^UACCESSD-DLDH^ para NALSE0 Dsso impede que usu&rios com privil2!ios AA^ HA-LE acessem tabelas do dicion&rio de dados3 al2m de )or"ar o usu&rio S^S a se conectar como S^S/PER ou S^S.-A0

Dicas de Segurana 7Oracle9

$evogar privil;gios p-blicos em pac>ages que oferecem riscos de segurana#


Revo!ar os privil2!ios de e?ecu"o p5blica nas packa!es 4HLUS+HP3 4HLUHCP3 4HLUHHHP3 4HLUNDLE e .-+SU/-N4SCAHD/AUH//LVDH0 Dsso impede que usu&rios maliciosos e?ecutem essas packa!es de )orma indevida3 reduzindo deste modo3 os riscos de se!uran"a0

$estringir privil;gios administrativos aos usu8rios do BDN


Se um ou mais usu&rio%s( possuir%em( a role .-A eFou o privil2!io de sistema S^S.-A3 sem necessidade ou indevidamente devem ter esse privil2!io retirado0

Dicas de Segurana 7Oracle9

$estringir acesso aos diret*rios do Sistema Operacional #


Teri)icar o valor do par>metro de sistema 4HLUNDLEU.DR0 Se este par>metro tiver um valor apontando para um ou mais diret,rio%s( do sistema de arquivos3 con)i!ure no Sistema /peracional3 privil2!ios de !rava"o reduzidos %valor de cota m&?ima de !rava"o em disco( neste%s( diret,rio%s( para o usu&rio do S/ que e?ecuta os processos do /racle %normalmente usu&rio YoracleY(0 Se isso no )or possvel3 pode6se con)i!urar no par>metro 4HLUNDLEU.DR um diret,rio em um volume l,!ico separado do volume l,!ico em que esto os arquivos e so)tMare /racle0 Dsso reduz o risco de um script malicioso ser e?ecutado no -. para !ravar arquivos nesta pasta at2 estourar o limite de tamanho do volume l,!ico e YpararY o -anco de .ados quando o volume l,!ico YestourarY0

Dicas de Segurana 7Oracle9

Desativar autentica o remota do Sistema Operacional


Aa con)i!ura"o padro do /racle <: 3 o -anco de .ados permite que usu&rios autenticados no sistema operacional )a"am cone?o local sem )ornecer usu&rio e senha do -anco de .ados0 Para permitir esse modo de cone?o somente para usu&rios locais do Sistema /peracional3 deve6se con)i!urar o valor do par>metro RE+/HEU/SUA4HHEAH para NALSE0 Essa con)i!ura"o evita que usu&rios remotos %usu&rios de qualquer computador em uma rede( se conectem no -anco de .ados sem )ornecer usu&rio e senha0

#onsequencias

Sabe o que essas empresas tem em comum Z

#onsequencias de Banco de Dados n o seguros"


'nvas o em banco de dados coloca em risco 5 mil/!es de clientes da Ionda

Clientes da Honda esto correndo risco0 Ao3 no se trata de um recall nos autom,veis )abricados3 mas sim uma invaso no banco de dados de e6mails dos clientes da empresa0 Cerca de dois milh'es de endere"os )oram roubados3 al2m de in)orma"'es pessoais como endere"o3 senha e modelo e identi)ica"o do veculo0 A empresa est& investi!ando como o crime aconteceu e tentando identi)icar os principais culpados0 At2 a!ora3 quem est& na mira da investi!a"o 2 a empresa de marketin! Silverpop S*stems3 respons&veis pelas neMsletters da )abricante0 A Honda avisou todos os clientes em um comunicado o)icial enviado ao e6mail de cada um0 A)inal3 com posse de todos esses dados3 2 simples receber um comunicado como se )osse o representante Honda local3 com todos os seus dados e pedindo mais in)orma"'es pessoais0 4m peri!o0 Nonte= http=FFbit0l*F!`o4cc

#onsequencias de Banco de Dados n o Seguros"


4tilizando t2cnica de in1e"o de SBL3 dupla de invasores obteve lista de credenciais de acesso de diversos domnios li!ados ao produto da /racle0 / site +*SBL0com3 para clientes do banco de dados adquirido pela /racle com a compra da Sun3 )oi aparentemente comprometido no )im de semana por uma dupla de hackers que publicaram nomes de usu&rios 6 e3 em al!uns casos3 senhas 6 dos usu&rios dos site0 Ddenti)icando6se como YHinVodeY e YAe:hY3 os hackers a)irmaram ter utilizado 6 ironicamente 6 um ataque de in1e"o SBL3 mas no )orneceram detalhes sobre a opera"o0 /s domnios vulner&veis )oram listados como MMM0m*sql0com3 MMM0m*sql0)r3 MMM0m*sql0de3 MMM0m*sql0it e MMM61p0m*sql0com0 .e acordo com um post da lista de discusso de bu!s Null .isclosure3 o +*SBL0com mant2m diversos bancos de dados internos em um servidor Meb Apache0 A in)orma"o postada incluiu diversos c,di!os hash de senhas 6 al!umas das quais 1& )oram quebradas0

#onsequencias de Banco de Dados n o Seguros"


Entre as credenciais que constavam de uma lista de dados publicada no Pastebin estavam senhas para diversos usu&rios dos bancos de dados +*SBL instalados no servidor3 e as senhas admin para blo!s corporativos de dois e?6)uncion&rios da +*SBL= o e?6diretor de !erenciamento de produtos Robin Schumacher e o e?6vice6 presidente de rela"'es com a comunidade3 Va1 Arnd0 Schumacher 2 atualmente diretor de estrat2!ia de produtos na Enterprise.-3 enquanto Arnd trabalha como vice6presidente e?ecutivo de produtos na Sk*SBL0 / blo! de Schumacher no )oi tocado desde 1unho de 9::O# o de Arnd est& inativo desde 1aneiro de 9:<:0 A /racle3 que obteve o controle da +*SBL com a aquisi"o da Sun +icros*stems em abril de 9::O3 no comentou o incidente0 4ma empresa de se!uran"a que monitora ataques )eitos a sites3 Sucuri3 aconselhou aos usu&rios com uma conta no +*SBL0com a mudar suas senhas o mais rapidamente possvel3 especialmente se eles usam a mesma senha em v&rios sites0 Nonte= http=FFbit0l*Fe4;CAK

$ecomenda!es para um ambiente seguro

Aunca )ornecer a nin!u2m %e?ceto aos usu&rios administrativos( acesso a tabela da ACL3 caso uma pessoa tenha acesso as senhas de acesso da ACL3 ela poder& )acilmente se conectar ao banco com qualquer conta# Conceder apenas os privil2!ios necess&rios para cada usu&rio3 nunca mais do que isso# Ao manter senhas em te?to puro no banco de dados3 em vez disso3 utilizar al!uma )un"o de cripto!ra)ia de via 5nica3 com SHA< ou +.J# Ao escolher senhas que contenham palavras e?istentes em dicion&rios# 4tilizar um firewall# Ao con)iar em nenhum dado inserido pelos usu&rios3 muitos deles podem tentar atacar o sistema inserindo caracteres especiais nas entradas dos )ormul&rios contendo al!um0

$efer&ncias
V/RHH3 Henr* N0# SDL-ERSCHAHe3 Abraham0 Sistemas de -anco de .ados0 ; ed0So Paulo0 +akron -ooks3 <OOO0 +AA4AL .E RENER8ACDA ./ +^SBL0 Como o Sistema de Privil2!ios Nunciona0 9::Lb .isponvel em f http=FFdev0m*sql0comFdocFre)manFI0<FptFprivile!es0html[0 Acesso em :< abr0 9:<<3 +arcos S8+/LA 0 A import>ncia da !esto de se!uran"a da in)orma"o0 9::;0 .isponvel em fhttp=FFMMM0linor!0cirp0usp0brFSSDFSSD9::;FPalestFP:;6Apresentacao0pd)[0 Acesso em :< abr0 9:<<0 SBL Dn1ection NAB0 .isponvel em fhttp=FFMMM0sqlsecurit*0comFNABsFSBLDn1ectionNABFtabidFJKF.e)ault0asp?[0 Acesso em :< abr0 9:<<0 +aico VRA4SE0 Se!uran"a em -anco de .ados0 .isponvel em fhttp=FFbit0l*FiOdiim[0 Acesso em 9: mar0 9:<<0 cikip2dia0 Se!uran"a da in)orma"o0 .isponivel em fhttp=FFpt0Mikipedia0or!FMikiFSe!uran WC;WAbaUdaUin)ormaWC;WAbWC;WA;o[0 Acesso em 9J mar0 9:<<0 SBL Dn1ection0 .isponivel em fhttp=FFimasters0com0brFarti!oFJ<bOFsqlUin1ectionUnoUphpUoUqueUeUeUcomoUseUprote!er [0 Acesso em :< abr0 9:<<0 Q Alguns dos lin>s est o usando encurtador de D$:sQ

Você também pode gostar