Fórum Tamanho do registro no Firebird e rotina de segurança #60835
31/08/2009
0
1) Gostaria de saber se tem uma maneira de retornar o tamanho do registro de uma tabela, pode ser no firebird ou na aplicação em delphi.
Ex: Qual o tamanho do registro do CLIENTEID 27 na tabela de clientes sendo que a tabela tem os campos CLIENTEID e NOME?
2) Estou implementando uma arquitetura de segurança para meus bancos de dados que é a seguinte:
1) Revogação de todos os direitos de acesso do usuário SYSDBA, ou seja, uso um outro usuário e senha para construção e manipulação do banco de dados
atribuindo os direitos do SYSDBA para este usuário.
2) Uso do zebedee para criar uma conexão segura entre os terminais e o servidor.
Estou usando esta arquitetura já faz um bom tempo com total sucesso, mas agora quero incrementear uma rotina no banco de dados para impedir que o
usuário tente acesso o banco bloqueando o banco caso o número se tentativas seja maior ou igual a 3 e com isso não permitindo mais tentativas.
Será que alguém pode me ajudar?
Developer1978
Curtir tópico
+ 0Posts
31/08/2009
Builder
2) Sugestão para segurança:
Inclua dois campos no cadastro de usuários:
DATA_ACS Date
ACS_NEG smallint
Ao acessar, seu sistema deverá sempre pegar a data do servidor, do contrário alterar a data do terminal iria sabotar a rotina abaixo:
Use o comando:
select CURRENT_TIMESTAMP as DATAEHORA from RDB$DATABASE
Se a data do servidor for diferente de DATA_ACS, gravar em DATA_ACS e zerar ACS_NEG. Se senha for inválida, incrementar ACS_NEG
Se ACS_NEG for maior que 3 então bloquear o acesso do usuário. Desta forma você bloqueia o acesso do usuário até o próximo dia. Pode-se gerar logs destes incidentes de segurança reportando a origem da tentativa de acesso (por exemplo, gravando o IP e ainda uma assinatura do hardware da máquina do usuário - endereço MAC + alguma coisa) além da data e hora do servidor.
Bloquear por completo o acesso pode ser um tiro no pé, pois se for o usuário legítimo que fez confusão na hora de acessar, alguém (você provavelmente) vai ter que ir lá destravar o banco de dados (e até isto acontecer o usuário fica de braços cruzados reclamando - mesmo a culpa sendo dele).
Gostei + 0
31/08/2009
Developer1978
O objetivo de saber o tamanho do registro é para verificar o tamanho do registro e com isso gravar o campo dtalt da tabela.
Gostei + 0
01/09/2009
Builder
Se refinar mais um pouco ainda, poderá registrar no LOG o que foi alterado pelo usuário (ex.: Preço de venda alterado de 10,50 para 8,76). E nas exclusões, há registro (tabela com o LOG de exclusões)?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)