Arsip: trik-proteksi data Firebird/IB shg ngga bisa diaksses SYSDBA
more 19 years ago
mat_koder
" ah... masa sih bisa... kan SYSDBA adalah super-user shg bisa melakukan apa aja... " . Ini adalah reaksi pertama yg timbul ketika membaca subject spt ini.
Sebelumnya saya minta maap ama admin krn :
1. posting ini harusnya masuk ke artikel, tapi krn saya bego :P saya ngga bisa liat ada fasilitas inserting Pascal/Delphi kode di bagian postingan artikel. maaap....maaap....maap... - tolong dong beritau saya gimana caranya....
2. Bilamana ini double post ( sdh pernah dibahas ) , saya sdh coba search dengan keyword " proteksi firebird " , namun ngga ada hasil - so mudah-mudahan ngga double post.
sekarang balik ke subjek.
Ada kalanya kita sebagai developer suatu aplikasi database ingin data-nya relatif aman dari "gangguan luar" , supaya data tetap terpelihara utuh . Saya katakan relatif karena tentunya bila si "pengganggu" tsb punya akses ke physical db maka bisa saja dianya melakukan gangguan thp file tsb ( misalnya menghapus file).
Cara yg umum dilakukan developer untuk memngontrol akses de db adalah dengan mengatur akses user ( yg user name-nya sdh diatur sebelumnya ) ke tabel-tabel tertentu , dengan menset akses baca/tulis/insert/modify dll. Cara ini bisa di-bypass dengan mudah bilamana ada user yg bisa login dengan SYSDBA password , bahkan bilamana password SYSDBA-nya dirubah, bisa saja user tsb menggantikan security.fdb ( tempat password SYSDBA diletakkan) dengan "fresh" security.fdb yg didapatkan dari instalasi baru Firebird.
cara lain yg sedikit lebih sulit ditembus adalah dengan meng-create ROLE SYSDBA di db file tsb , sehingga ketika user mencoba login dengan SYSDBA account, akan menimbulkan error krn SYSDBA-nya dupilkate ( sdh ada di role ). Contoh produk lokal yg menggunakan proteksi ini adalah ACCURATE ( applikasi accounting yg di-develop dgn Delphi) , versi trialnya.
Cara proteksi semacam ini disinggung pada atiket berikut :
http://ftp.ibphoenix.com/main.nfs?a=ibphoenix&s=1123605099:169734&page=ibp_file_meta_security
namun dlm artiket tsb tidak dibahas cara melakukannya.
Artikel ini dibagi 3 :
1. Pendahuluan - posting ini :D
2. Melakukan proteksi.
3. Membuang proteksi ( membypass proteksi semacam ini , shg bisa kembali diakses oleh SYSDBA ).
meng-create ROLE SYSDBA pada firebird adalah dengan syntak:
'create role SYSDBA'
namun bilamana ini dilakukan maka akan error sebab SYSDBA sdh terdaftar sebagai user, sehingga satu-satunya cara adalah dengan login di firebird yg super-usernya bukanlah SYSDBA.
Ada 2 cara melakukannya:
1. Membangun kembali firebird dari source ( bisa di-download dari sourceforge.net ) dimana source-nya sdh dirubah dengan super-user name bukan lagi SYSDBA.
2. Login lewat standar Firebird installation ( super user=SYSDBA / password=masterkey ), dan dilakukan lewat kode Delphi.
cara yg no-2 yg akan ditunjukkan dalam artikel ini.
( Bersambung - melakukan proteksi dengan Delphi kode)
hhhhhhhh... cape juga ngetik panjang panjang... istirahat dulu ah....
:o
more 19 years ago
mat_koder
masih bingung nih cara make OnKirimArtikel - ngga ada template seperti yg ada pada OnForum ( bisa bikin Bold/italic, bisa insert smiley , ngeinsert potongan kode dst )....
Ada yg bisa tolong njelasin caranya ?
TIA
more 19 years ago
LuriDarmawan
masukkan aja apa adanya,
ntar ada rekan2 KIOSS yang mbantu editing.
khusus untuk source-code,
sintak bisa diformat pake fitur onSyntaxHighLighter();
https://pascal-id.org/syntax
more 19 years ago
mat_koder
sambungan postingan ini sdh di submit ke bagian OnArticle ( dimana seharusnya artikel semacam ini berada ).
Isinya :
prosedure utk nge-lock dan untuk un-lock dengan kode Delphi.
.
more 19 years ago
masdi2t
sebenaranya mekanisme pengamanan seperti yang telah disebutkan membawa sebuah konsekuensi.
apabila di komputer yang dijadikan server firebird tersebut telah terpasang aplikasi lain yang menggunakan firebird juga dan kebetulan aplikasi 'lama' tersebut memakai SYSDBA, maka aplikasi tersebut kemungkinan tidak bisa berjalan lagi (ini klu aplikasi baru dengan mekanisme pengamanan diatas diinstall sebagai server, masih tergantung cara pengamanan tersebut diimplementasikan). akan menjadi lebih parah jika aplikasi 'lama', belum membuat user database lain selain SYSDBA. klu sampai ini terjadi ya paling banter install ulang firebird atau cukup kopi security.fdb yang baru.
cmiiw.
more 19 years ago
mat_koder
@masdi2t:
benar kata anda.......
sebaiknya di sebuah applikasi db ( yg data di db-nya perlu dijaga integritasnya) janganlah mengharapkan user login dengan SYSDBA , kecuali tentunya aplikasi manager ( spt mis IBExpert ).
Klo perlu manager di aplikasi , maka gunakan account Owner , bukan account SYSDBA.
klo misalnya di kompi user sdh terpasang FB/IB , maka sewaktu setup , registrasikan user name/passwork ke server tsb ( tentunya lewat admin si FB , yg mengetahui password si SYSDBA) dan utk applikasi-nya , hanya boleh login lewat user-name tsb.
more 19 years ago
herux
tapi tetep aja file db firebird nya bisa dibuka, walapun gak paki user sysdba, tapi pakai user yg lain:
contohnya buka file dbnya accurate: dengan user yang kita buat sendiri maka akan keliatan dari sp sampai triger kecuali data emang gak bisa dibuka
more 19 years ago
_lmz
Yang saya ingin tahu apakah cara seperti ini juga manjur lawan Embedded Firebird - yang katanya tidak mengenal security database. Apa yang terjadi kalau seseorang yang iseng membawa program isql dan DLL embedded firebird (fbembed.dll) untuk mengakses database yang diproteksi seperti ini?
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward
🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago
Random Topic
- style text (bold,italic,underline)
by ianhade in Tip n Trik Pemrograman more 17 years ago - Membatasi Record
by daeng in Reporting more 13 years ago - help ttg infopower
by petrucc1 in Tip n Trik Pemrograman more 17 years ago - Fast Report dengan Delphi
by sofyan in Reporting more 18 years ago - Ada Yang Tau Ga source code buat menutup Mozilla
by mankerman in Network, Files, I/O & System more 16 years ago - Asynchronous Socket Error 10053
by ivan in Hal umum tentang Pascal Indonesia more 18 years ago - macro di word
by xerion in Tip n Trik Pemrograman more 18 years ago - Delphi2007,ADO,Postgre
by sudrun in Lain-lain more 17 years ago - Gimana melakuan pencarian di MySQL denganODBC
by hak3nd3n in Tip n Trik Pemrograman more 17 years ago - Isi Edit Box tidak berubah
by onsir in Hal umum tentang Pascal Indonesia more 18 years ago