Buscar

Autenticação no ib -como impedir a cópia do banco e acesso em outros servidores

nome

Andreano Lanusse

Colunista ainda sem descrição. Caro colunista, por favor envie-nos sua descrição.

Autenticação no IB
Como impedir a cópia do banco e acesso em outros servidores


Um dos grandes questionamentos que é feito hoje com relação ao banco de dados InterBase, refere-se à segurança, mais especificamente sobre a cópia de banco de dados (arquivos GDB e IB) entre servidores. O IB até a versão 7.1 tinha seu esquema de segurança centralizado no servidor, fazendo com que uma simples cópia do arquivo pudesse utilizar as configurações do novo servidor.
Uma das maiores solicitações dos usuários de IB era que não fosse possível essa cópia e que de alguma forma a segurança estivesse estabelecida em cada banco de dados. Essa solicitação foi atendida e neste artigo estarei explicando como isso é possível.

EUA - Embedded Database User Authentication
O IB 7.5 traz um novo recurso para eliminar a cópia do banco entre servidores e respectivamente o acesso ao banco de dados, chamado EUA (Embedded Database User Authentication), ou seja, autenticação de usuário no banco de dados. Com isso, a lista de usuários e senha ficaram armazenadas em cada banco de dados.

Pré-requisitos para utilização de EUA
Para utilizar o EUA é necessário ter instalado o IB 7.5, pois esse novo recurso só está disponível a partir dessa versão. O download do IB 7.5, versão trial, pode ser efetuado através do link www.borland.com/products/downloads/download_interbase.html. Especificações da versão trial: · Todas as funcionalidades estão disponíveis; · O servidor utiliza até 4 processadores; · Até 20 usuários conectados (80 conexões lógicas); · Disponível para Windows, Linux e Solaris; · A documentação em PDF é limitada nessa versão.

Configurando o banco de dados para o EUA
O EUA pode ser utilizado em bancos de dados já existentes, ou claro, em novos bancos de dados. O IB 7.5 ao receber uma solicitação de conexão, irá identificar no banco de dados qual o método de autenticação está sendo utilizado, se é o tradicional ou o EUA. Isso quer dizer que em um mesmo servidor IB você pode ter diversos bancos de dados com métodos de autenticação diferentes, o tradicional através do cadastramento de usuários no admin.ib (antigo isc4.gdb) ou pelo EUA. O método de validação pode ser alterado a qualquer hora sem a necessidade de backup/restore. Os códigos deste artigo foram implementados através do utilitário ISQL (veja no box Usando o ISQL, como trabalhar com a ferramenta). Para criar o banco de dados com EUA, utilize o seguinte código:

 create database '\PLANETA.ib'
 user
'sysdba' password 'masterkey' with admin option;

A opção with admin option habilita no banco de dados o EUA, lembrando que o usuário e senha utilizados na criação do banco de dados foi a do servidor, apenas para a criação. No código a seguir, vemos como habilitar/desabilitar o EUA em um banco de dados existente:

 alter database set ADMIN option inactive;
 alter database set ADMIN option active;

Através do IBConsole, em propriedades do banco de dados, a opção de ativação do EUA estará disponível para alteração.

Criando usuários no banco de dados
O próximo passo é criar usuários no banco de dados. Podemos ainda acessar o banco utilizando o SYSDBA, mas com a senha do SYSDBA que está dentro do banco de dados e não a do servidor.
Quando o EUA foi habilitado, uma tabela chamada RDB$USERS foi criada no banco de dados, essa é a mesma tabela que há no admin.ib, mas armazenando os usuários do banco de dados (Figura 1). Para criar um usuário temos a sintaxe mostrada na Listagem 1.
Essa mesma operação pode ser feita no IBConsole, que quando detectar o EUA ativo irá apresentar o item User em cada banco de dados. Um usuário criado no banco de dados pode estar ativo ou inativo, não é necessário executar um Drop no usuário para que o mesmo não conecte na base, basta apenas desativá-lo. Para desativar um usuário, utilize o seguinte código:

 alter user ANDREANO set inactive;

SYSDBA para cada banco, como?
Ao criar o banco, o usuário SYSDBA é criado automaticamente. O IB, ao receber uma solicitação de autenticação, e com o EUA ativo, verificará a senha do mesmo cadastrado no banco de dados.
A senha do SYSDBA com o EUA fica dentro do banco, ou seja, basta alterar a senha (padrão: masterkey) e você terá mais segurança no seu banco de dados.

O que muda nas aplicações?
Os desenvolvedores podem estar se perguntando o que será alterado nos sistemas que já estão instalados e em pleno funcionamento nos clientes. As aplicações já desenvolvidas não terão nenhuma alteração, pois todas as alterações que dizem respeito ao EUA foram implementadas na camada servidora, a única mudança será para os usuários de versões anteriores ao IB 7.1 que terão de instalar a versão 7.5.

InterBase 7.5 gratuito
O mercado hoje fala muito em software gratuitos, esse é um assunto polêmico e que leva há horas ou páginas de conversa, mas com IB temos adotado políticas diferentes de comercialização. Os usuários que adquiriram o IB desde a versão 7.0 lançada em dezembro de 2002, passaram pela versão 7.1 (Junho/2003) e agora pela versão 7.5 sem custo algum. Isso mesmo, a Borland forneceu gratuitamente aos usuários de versão 7.0 dois novos releases com inúmeros recursos que com certeza ajudaram a evoluir seus respectivos negócios.
O intuito de abordar esse tema é fazer com que todas reflitam sobre o assunto, aquela história de que “tem de pagar” e o “temos outros de graça” não é bem verdade. Se pararmos para pensar e analisarmos que os softwares, os desenvolvedores e software-house fazem não são de graça (possuem custos).
Mas se levarmos pelo lado de que o custo de um banco de dados é elevado, aí sim podemos debater sobre esse ponto, em vista disso a Borland tem um programa de parceria chamado Borland InterBase Partner que visa atender aos desenvolvedores que desejam embutir o IB em suas aplicações a um custo baixo e assim tornar suas aplicações mais confiáveis e robustas.

Futuro
InterBase 8 está chegando, novos recuros estão sendo preparados, entre eles backup incremental e suporte UniCode e não para por ai, o InterBase 8.5 está planejado para esse ano ainda.

Conclusões
A maior solicitação dos usuários de IB era com relação à segurança, vimos que a versão 7.5 atende muito bem a essa solicitação, o trial está disponível na internet para download (www.borland.com/products/downloads/download_interbase.html), faça um teste e utilize um dos novos recursos dessa versão.
Aqueles que quiserem saber mais sobre o IB podem-me contatar através de e-mail, terei o maior prazer em responder a todos.


Usando o ISQL
O utilitário ISQL está disponível na pasta Bin do diretório de instalação do InterBase. Através do prompt do DOS acesse a pasta mencionada anteriormente e utilize o seguinte código:

 isql –u SYSDBA –p masterkey; (senha do SYSDBA do banco que irá conectar)

Após, você tem a opção de conectar ou criar um banco. Para criar utilize o comando apropriado. Para conectar utilize o seguinte código:

 connect '\Meubanco.ib';

Listagem 1. Sintaxe do comando Create User

{CREATE | ALTER} USER SET

 option: PASSWORD

  [NO] DEFAULT ROLE
  [NO] SYSTEM USER NAME
  [NO] GROUP NAME
  [NO] UID
  [NO] GID
  [NO] DESCRIPTION
  [NO] FIRST NAME
  [NO] MIDDLE NAME
  [NO] LAST NAME
 ACTIVE
 INACTIVE
 DROP USER

 create user ANDREANO set password '1234';



Figura 1. Usuários e as senhas criptografadas no banco


Andreano Lanusse (andreano.lanusse@borland) é System Engineer da Borland Latin América, onde é membro do Delphi Team. Especialista em InterBase há 10 anos, possui vasta experiência em desenvolvimento de aplicações, além de obter certificado Borland Instructor, Delphi 2005 Win32 e .NET, C++ Builder, JBuilder, Together, StarTeam, CaliberRM, MCP em SQL Server e Windows 2000.


Publicidade

Vote no artigo




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes do artigo

Categoria: Banco de dados
Adicionado dia: 26/05/06
Por: Andreano Lanusse
Visualizado: 28317 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009