İnterbase (xxx.gdb) Şifreleme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
Ademkoysuren
Üye
Mesajlar: 83
Kayıt: 26 Ağu 2003 03:07
Konum: KIRŞEHİR
İletişim:

İnterbase (xxx.gdb) Şifreleme

Mesaj gönderen Ademkoysuren »

Selamünaleyküm

Interbasede oluşturdugu database'i (xxx.gdb) şifrelemem lazım. Şu an herkesin bildiği "masterkey" şifresini değiştirmek istiyom. (server i şifreleme değil. database xxx.gdb şifrelemem gerekli)
hayırlı çalışmalar
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

bildigim kadari ile malesef siz ne yaparsanız yapın. sysdba ve masterkey ile baglanılan bir server altindan o veritabanına her halukarda ulasilabiliyor...

epey ugrasmitim 1-2 yil once durum değişmemişti....
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

freeudflib icerisinde changepassword.sql isimli bir dosya vardı
ilgimi cekmisti bir zamanlar ama hic denemedim
asagıya gonderiyorum
/*
BEGIN WARNING SECTON

What you are about to do works, but it is ENTIRELY unsupported
by Borland!

This is also ENTIRELY UNSUPPORTED BY ME!!!!

I have tested this with IB 4.2 and it works just fine, but I'm just
warning you that you had better know what you are doing if you are
going to run this!

This is A BIG FAT UNSUPPORTED WARNING!!!!!

DON'T DO THIS IF YOU WANT BORLAND SUPPORT FOR YOUR ISC4 FILE!!!

Now that I've warned you....

ANOTHER BIG FAT WARNING:

Although IB is not known as the most secure DB in the industry,
this _could_ make your system less secure than it already
is. Conceptually, it is not a problem allowing a user to change
his/her own password; however, I can't make any guarantees that
my script below doesn't open any gaps to allow unwanted intruders
in.

Once again, I am just warning you that you had better understand
the underlying code before you use it; otherwise, you risk getting
_yourself_ into trouble, and you CANNOT BLAME ME OR BORLAND OR
ANYBODY ELSE BUT YOURSELF!

I know that my disclaimer of any express or implied warranties,
guarantees, or fitness for a particular use has been verbose, but
it is absolutely essential that you understand that messing around
with known methods for maintaining user names and passwords is
DANGEROUS.

With all that said here you go...

END WARNING SECTON

Change the DB name, user and password appropriately below, and the
script should run just fine...

After all is said and done, users should be able to change only
their own passwords using the "ChangePassword" procedure, and
SYSDBA should be able to ADD/DELETE/Change user's using the three
procedures below. */

connect "c:\Program Files\Borland\IntrBase\Isc4.gdb"
user "SYSDBA"
password "masterkey";

declare external function f_IBPassword
cstring(32)
returns
cstring(32)
entry_point "IBPassword" module_name "FreeUDFLib.dll";

create exception exc_not_permitted "Action not permitted";

set term ^ ;

create procedure AddUser
(user_name varchar(128), passwd varchar(32))
as
begin
if ((USER != "SYSDBA") or
(:user_name is null) or
(:user_name = "") or
(:passwd is null) or
(:passwd = "")) then
exception exc_not_permitted;

insert into users (user_name, passwd)
values (UPPER(:user_name), f_IBPassword(:passwd));
end ^

create procedure ChangePassword
(user_name varchar(128), passwd varchar(32))
as
begin
if (((USER != "SYSDBA") and (USER != :user_name)) or
(:user_name is null) or
(:user_name = "") or
(:passwd is null) or
(:passwd = "")) then
exception exc_not_permitted;

update users
set passwd = f_IBPassword(:passwd)
where user_name = UPPER(:user_name);
end ^

create procedure DeleteUser
(user_name varchar(128))
as
begin
if ((USER != "SYSDBA") or
(:user_name is null) or
(:user_name = "")) then
exception exc_not_permitted;

delete from users
where user_name = UPPER(:user_name);
end ^

set term ; ^

grant execute on procedure ChangePassword to public;
grant update (passwd) on users to procedure ChangePassword;

exit;
bunun calısması icin sanırım freeudflib deki fonksiyonları ilkin eklemek lazım galiba...
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

yazan kişi bu işlemin Borland ve kendisi tarafından desteklenmediğini üstüne basa basa belirtmiş. Yedek almadan denemeyin :)

Kolay gelsin.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

ben firebird uzerinde yapmaya calıstım ama SQL dialect 1 binde ki isc4.gdb de
ve sql scripti calıstırırken bir cok yerde hata veioyr
acaba bundanmı kaynaklanıyor
dialect 3 ile baglanıp deniyorum yine hatalar var
seytan diyor scriptteki herseyi elle yap dene:)

not:freeudf.dll olmadan bi sey calıstıramazsınız
isteyen buradan indirebilir
http://www.mers.com/download/freeudflib.zip
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

google sen cok yasa emi
change sysdba pasword firebird dedim ve bana
http://www.districtdna.com/Manual/GetSt ... angePW.htm
getiriverdir
firebird de bin dizini icinde gsec isimli bir exe ile hallediliyor
ben degistirdim mesela ise yarıyor
yeni bir sey ogrenmis oldum surda yeniyıla ramak kala:))
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

hay Allah razi olsun... ben de bi deniyim de database'lerimizi acik dagitmayalim bari....
Kullanıcı avatarı
safak
Şafak EBESEK
Mesajlar: 165
Kayıt: 05 Ağu 2003 04:39
Konum: Istanbul
İletişim:

Mesaj gönderen safak »

Bu kaynağa da göz atabilirsiniz.

http://www.ibphoenix.com/downloads/qsg.pdf

Kolay Gelsin,
windofmay
Üye
Mesajlar: 35
Kayıt: 19 Ağu 2003 06:42

Mesaj gönderen windofmay »

fahrettin bey ,
Sizin hazırlamış olduğunuz bir kurulum exe si var.
Interbase de şifre işleminden sonra kullanıcı makinasına ona göre bir interbase/firebird kurulumu gerekmekte. Eğer sizde kurulum programının (herhalde InstallShield ) ?.ism dosyasını verirseniz, kullanıcılara dağıtmak önünde hiç bir sorunumuz kalmayacak.
Şimdiden teşekkürler.

Sayın gkimirti bu bizimle paylaştığınız için size ayrıca teşekkür ederim.
Allah sizden razı olsun.
(Eğer karşılaşırsak bir yemek de borçum olsun:) )
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Sayin windofmay, valla tam olarak istediginizi anlayamadim ama sanıyorum sifrelenmis halini dagilatim istiyorsunuz dogal olarak... Sifre degisikligini yaptiktan sonra isc4.gds isimli dosyayi kurulum dosyalari icindeki ayni isimli dosya ustune kopyalarsanız sanırım sorun olmaz...
gerci simdi birden kafama bir sey takildi.... Gökmen sana zahmet sifresini degistirdigini soyledigin database'i bana bi e-mail ile godnerebilir misin bi acmayi deniyim bakayim merak ettigim bi sey var? belki de biraz once tarif ettigim seye de gerek olmayacak....

Kolay gelsin...
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

simdi gonderiyorum abi
kurulum icin innosetup sitesinde guzel scriptler mevcut ben sitesini bayagı bi ziyaret ettim
saolsun mustafa haberdar edene kadar ve fahrettin abi vurgulayana kadar bir cok guzellik ve kolaylıktan bi habermisiz....

Ayrıca yardımcı olabildigim icin cok mutluyum
sanki bin bilinmeyenli bi denklem cozmus gibiyim
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,
Ben FreeMan35 az önce Mustafa'yla konuşuyorduk, Bir inceledim yazıları be bildiklerimi yazayım dedim,Sayi Bu arada Ben Mustafa dayım. Allah nasip ederse yarın çi köfte yiicez :P
Şifre konusuna gelince,
IB 7 öncesindekilerde ISC4.gdb de saklanıyor şifre. Pasword şifrelemeside öyle karışık birşey değil Base64 le Encrypt lenmiş.Bunu herhangi bir tool yada basit bir query ile de değiştirebilirsiniz. Birdahada bağlandığınızda ancak bu şifre ile bağlanabilirsiniz.
Ama gelin görünki. Bu GDB yi her hangi bir makinaya götürdüğünüzde hiç bir problemle karşılaşmadan bağlanırsınız.
Bu salakça hatayı / versiyonu ile değiştirdiler. Eğer şifreyi bilmiyorsanız DDL e dahi bakamıyorsunuz.
Bu FireBird 1.5 da nasıl incelemedim. Umarım düzeltmişlerdir.yada final den önce ekliyeceklerdir.

Kolay gele ve yarın görüşmek dileği ile

FreeMan35
SieS
Üye
Mesajlar: 166
Kayıt: 17 Haz 2003 10:41
Konum: Konya

Mesaj gönderen SieS »

S.A.
Nerdeyse 1 yıl geçmiş bu konuyla ilgili, bu konuyla ilgili bir gelişme varmı acaba , birkaç yere program yazdım hepsinde database kek gibi açık (FB 1,5) . Bilen duyan gören varsa bilgisini paylaşabilirmi. Şayet FB de çözümü yok ise gerekirse parasıyla interbase almayı düşünüyorum acaba interbase de drum nasıl bildiğim kadarıyla eski sürümlerinde açıkta idi yenilerdede aynımı 7,1 yada 7,5 bilen arkadaşlarım vardır mutlaka.

Ne dersiniz para verip alaya değermi yada FB de çözümü varmı.

ALdığım duyumlara göre benim databasler bazı rakiplerimin eline geçmiş üzerinde değişiklik yapıp müşterilerin gözünü korkutuyorlarmış.
Ne tavsiye edersiniz...
Bu arada yaklaşan mübarek kurban bayramınızı canı gönülden kutlar sağlık mutuluk dilerim..
Allah razı olsun
Ben Toprağın Sinesinde İnsan Denilen Bir Canım
Hem Düşünür, Hem Severim Budur Taştan Faklı Yanım.
Her maddenin zevlesini bedenimde taşıyorsam.
Ben ne bir taş ne bir ağaç, insanlığımla insanım.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

bende bu işi hiç sevmedim sırf bu yüzden vt yi değiştirmeyi düşünüyorum
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

aman durun arkadaşlar bir SYSDBA adminin şifresi yüzünden VT bırakılırmı diyelimki değişmiyor varsın değişmesin.

Kolayı var;

Veritabanınıza SYSDBA kullanıcısına sadece okuma yetkisi verirsiniz birde SPleri işletme kimse sizin VT'nizi SYSDBA bağlansa bile göremez.

sizde ayrı bir USER açarsınız mesala NEYETKILI'li diye düm SYSDBA yetkilerini verirsiniz olur biter...

Kolay Gelsin;
;)
Cevapla