Beberapa waktu yang lalu sy pernah menulis bagaimana cara Menembus pertahanan database Firebird yang diproteksi menggunakan SYSDBA sebagai tamengnya :D, nah biar imbang sekarang kita akan bahas bagaimana langkah-langkah pembuatannya.
Tool yang digunakan juga masih sama yaitu IBExpert personal edition (free), oke langsung saja kita mulai :).
1. Persiapkan database yang akan diproteksi
Untuk contoh disini sy menggunakan database dg nama db_sample.fdb yang di tempatkan di drive C:\
Berikut langkah-langkah untuk mendaftarkan database firebird ke IBExpert.
- Klik menu Database -> Register Database
Kemudian login menggunakan user default Firebird yaitu SYSDBA dengan password masterkey.
Untuk versi server tinggal disesuaikan dengan versi Firebird yang terinstall.
- Aktifkan database sample dengan cara klik ganda node DB SAMPLE
2. Buat user baru yang akan kita jadikan sebagai pengganti SYSDBA, misal K4M4R82.
User baru ini akan kita berikan hak akses untuk menghakses semua tabel dan obej-objek lain yang diperlukan.
Berikut langkah-langkahnya :
- Klik menu Tools -> User Management, kemudian login menggunakan user SYSDBA dan password masterkey.
- Tambahkan user baru dengan mengklik tombol Add
Kita akan menambahkan user baru dengan nama K4M4R82 dan password rahasia.
Jika berhasil akan terlihat seperti berikut :
3. Mengatur hak akses user
IBExpert mempunyai fitur untuk mengatur hak akses user, sayangnya fitur ini tidak aktif untuk versi personal edition (free), jadi kita akan mencoba solusi lain yaitu dengan membuat stored procedure dengan nama GRANT_USER.
Berikut scriptnya :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
Untuk menjalankan script diatas kita akan menggunakan editor Script Executive (CTRL+F12)
4. Eksekusi stored procedure grant_user
Setelah langkah sebelumnya selesai kita tinggal panggil stored procedure grant_user seperti berikut :
1
|
|
5. Menambahkan role ‘SYSDBA’
Informasi role tersimpan di dalam tabel sistem yang bernama rdb$roles, sehingga untuk menambahkannya kita bisa menggunakan perintah INSERT yang sudah biasa kita gunakan.
1 2 |
|
6. Disconnect dari database sample
7. Aktifkan kembali database sample dengan cara klik ganda node DB SAMPLE
Jika muncul peringatan berikut
berarti database kita sudah terlindungi oleh SYSDBA :)
8. Terakhir kita coba login ulang dengan menggunakan user K4M4R82
Selamat MENCOBA :)