26.10.2013 Views

Segurança de arquivos e metadados do Firebird

Segurança de arquivos e metadados do Firebird

Segurança de arquivos e metadados do Firebird

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Segurança</strong> <strong>arquivos</strong> e <strong>metada<strong>do</strong>s</strong><br />

Existem algumas situações em que é impraticável colocar o servi<strong>do</strong>r <strong>Firebird</strong> sob uma infra-estrutura a<strong>de</strong>quadamente<br />

segura. Em perío<strong>do</strong>s em que o escritório esteja funcionan<strong>do</strong>, é bem pouco provável que alguém po<strong>de</strong>rá<br />

acessar o computa<strong>do</strong>r para copiar os <strong>arquivos</strong> <strong>do</strong> banco <strong>de</strong> da<strong>do</strong>s (ou até mesmo roubar o computa<strong>do</strong>r ou disco<br />

rígi<strong>do</strong> para obter os <strong>arquivos</strong> posteriormente). No entanto, fora <strong>do</strong> horário normal <strong>de</strong> trabalho (noites e finais<br />

<strong>de</strong> semana), a situação po<strong>de</strong> ser um pouco diferente. Alguém po<strong>de</strong>ria conseguir entrar no escritório e roubar<br />

o disco rígi<strong>do</strong> <strong>do</strong> computa<strong>do</strong>r (ou levar o computa<strong>do</strong>r inteiro) e levar a algum lugar on<strong>de</strong> possa obter acesso<br />

ao banco <strong>de</strong> da<strong>do</strong>s.<br />

Encriptação<br />

O <strong>Firebird</strong> em si não disponibiliza nenhuma ferramenta <strong>de</strong> encriptação integrada, mas existem excelentes produtos<br />

que po<strong>de</strong>m fornecer essa solução. Você po<strong>de</strong>ria instalar um software que crie uma partição virtual encriptada<br />

em seu computa<strong>do</strong>r e colocar os <strong>arquivos</strong> <strong>do</strong> banco <strong>de</strong> da<strong>do</strong>s (e qualquer outra informação confi<strong>de</strong>ncial)<br />

nessa partição. Dessa forma, toda a informação ficará armazenada em um arquivo encripta<strong>do</strong> e ninguém po<strong>de</strong>rá<br />

acessá-la a menos que tenha a senha. Sempre que você iniciar o computa<strong>do</strong>r, terá que montar a partição virtal<br />

encriptada e fornecer a senha secreta para po<strong>de</strong>r acessar as informações. Esse processo manual <strong>de</strong> inicialização<br />

po<strong>de</strong> ser um pouco inconveniente, mas po<strong>de</strong> proporcionar uma excelente segurança a computa<strong>do</strong>res que não<br />

são constantemente vigia<strong>do</strong>s.<br />

Alguns softwares com essas características são: TrueCrypt (www.truecrypt.org), Bestcrypt da Jetico (www.jetico.com)<br />

e PGPDisk (www.pgpi.org/products/pgpdisk/– note que este link te levará a uma antiga versão gratuita.<br />

Nesta mesma página existem links para as versões comerciais mais novas). Existem outros, mas estes <strong>do</strong>is<br />

últimos são os que eu mesmo usei.<br />

Por que o <strong>Firebird</strong> não possui encriptação nativa?<br />

Devi<strong>do</strong> às necessida<strong>de</strong>s <strong>de</strong>scritas anteriormente, é muito comum encontrar usuários pedin<strong>do</strong> que o <strong>Firebird</strong>, em<br />

um versão futura, tivesse a capacida<strong>de</strong> <strong>de</strong> encriptar <strong>metada<strong>do</strong>s</strong>, da<strong>do</strong>s <strong>do</strong> usuário, ou até mesmo o banco <strong>de</strong><br />

da<strong>do</strong>s to<strong>do</strong>. Como não sou um <strong>de</strong>senvolve<strong>do</strong>r <strong>do</strong> núcleo <strong>do</strong> <strong>Firebird</strong>, não posso afirmar categoricamente que não<br />

vai acontecer. Mas a questão aqui não é realmente se a encriptação é praticável ou útil, mas se o gerenciamento<br />

<strong>de</strong> senhas <strong>de</strong> encriptação proporcionaria uma solução para os problemas que estamos examinan<strong>do</strong>.<br />

A encriptação em si po<strong>de</strong> apenas ser tão boa quanto a senha <strong>de</strong> <strong>de</strong>sencriptação. Po<strong>de</strong> ser ainda pior, mas não<br />

po<strong>de</strong> ser melhor. Existem diversos excelentes algoritmos <strong>de</strong> encriptação disponíveis que po<strong>de</strong>riam ser utiliza<strong>do</strong>s.<br />

Quan<strong>do</strong> a encriptação é boa, os ataques costumam centralizar-se contra a senha e não contra a encriptação em si.<br />

Como funcionaria a encriptação?<br />

Então vamos analisar como funcionariam as coisas se o <strong>Firebird</strong> proporcionasse maneiras <strong>de</strong> encriptar <strong>metada<strong>do</strong>s</strong><br />

no banco <strong>de</strong> da<strong>do</strong>s...<br />

Antes que um banco <strong>de</strong> da<strong>do</strong>s pu<strong>de</strong>sse ser acessa<strong>do</strong>, a senha <strong>de</strong>veria ser fornecida. Dar a senha ao usuário seria<br />

irrelevante, pois nos levaria <strong>de</strong> volta ao problema original. Então po<strong>de</strong>mos presumir que, sempre que o cliente<br />

reiniciar o servi<strong>do</strong>r, teria que chamar o <strong>de</strong>senvolve<strong>do</strong>r, que po<strong>de</strong>ria então entrar com a senha. Mesmo que isso<br />

fosse praticável, não necessariamente resolveria o problema. Por exemplo: o cliente po<strong>de</strong>ria instalar algum tipo<br />

<strong>de</strong> software para monitorar o servi<strong>do</strong>r e roubar a senha.<br />

Existem soluções baseadas em hardware para proporcionar a senha para o processo <strong>de</strong> <strong>de</strong>sencriptação. Mas novamente,<br />

este dispositivo precisaria ficar sob a posse <strong>do</strong> cliente, e se não confiamos nele, não po<strong>de</strong>mos impedí-lo<br />

<strong>de</strong> obter acesso ao banco <strong>de</strong> da<strong>do</strong>s em outro computa<strong>do</strong>r on<strong>de</strong> a senha <strong>do</strong> usuário SYSDBA é conhecida.<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!