Senin, 17 Maret 2008

Paper Aplikasi Database

 Security Policy Database Oracle

1. Pendahuluan
                Paper ini membahas aspek-aspek dalam membangun suatu perencanaan sistem keamanan basis data. Ada banyak tahapan dalam mengamankan suatu sistem informasi, namun pada tahap awalnya kita harus membuat suatu security policy yang nantinya akan mendasari pembuatan security plan.
                Security policy berisi tentang aturan-aturan yang akan membantu memastikan setiap kinerja para karyawan dalam bekerja sesuai dengan apa yang diinginkan perusahaan. Semua batasan-batasan secara jelas dipaparkan dalam security plan sehingga seluruh karyawan mengerti aturan-aturan yang berkaitan dengan keamanan informasi (basis data) perusahaan.
                Dalam membangun suatu security policy suatu operasi database, upaya pertimbangan yang dilakukan mencakup hal-hal berikut:
1.System Security Policy
2.Data Security Policy
3.User Security Policy
4.Password Management Policy

2. System Security Policy
                 Setiap database memiliki satu atau lebih administrator yang bertanggung jawab terhadap segala aspek mengenai security policy, yaitu security administrator. Security policy dari suatu database terdiri dari beberapa sub-policy sebagai berikut:
1.Database user management
2.User authentication
3.Operating system security
2.1 Database User Management
                  User dari database merupakan jalur akses menuju informasi dalam database oracle. Maka dari itu, manajemen user dari database harus memiliki kemanan yang ketat. Tergantung dari besarnya sistem database dan jumlah pekerjaan mengatur user dari database, security administrator mungkin menjadi satu-satunya user yang memiliki privilege untuk melakukan perintah create, alter, atau drop user dari database. Namun ada juga administrator lain yang memiliki privilege untuk mengatur user dari database. Bagaimanapun juga, hanya individual yang bisa dipercaya yang memiliki powerful privilege untuk mengatur user dari database.

2.2 User Authentication
                   User dari database dapat diautentikasi oleh Oracle menggunakan password database, system operasi, network service, atau dengan Secure Socket Layer (SSL). Tergantung bagaimana identitas user akan diautentikasi, ada beberapa cara untuk mengidentifikasi user sebelum mengakses suatu database:
1.Autentikasi database
2.Autentikasi eksternal
3.Autentikasi global

2.2.1 Autentikasi Database
                    Pada autentikasi database, maka administrasi dari user account, password, dan autentikasi user akan dilakukan sepenuhnya oleh Oracle. Untuk melakukan ini, maka dibuat suatu password untuk setiap user pada saat melakukan perintah create user atau alter user. User dapat mengganti passwordnya kapan saja. Passeord akan disimpan dalam format yang terenkripsi. Setiap password harus terdiri dari karakter single-byte, walaupun database tersebut menggunakan karakter set multi-byte.
                   Untuk meningkatkan keamanan database saat melakukan autentikasi, Oracle memiliki suatu manajemen password yang mencakup account locking, password aging and expiration, password history, dan password complexity verification.

2.2.2 Autentikasi Eksternal
                   Pada autentikasi eksternal, account user diatur oleh database Oracle, tapi administrasi password dan autentikasi user dilakukan oleh service eksternal, yaitu sistem operasi atau network service seperti Net8. Dengan demikian, database Oracle akan mempercayai sistem operasi atau network autentication service untuk melakukan pengontrolan akses terhadap account database. Password database tidak lagi digunakan pada saat login database.
                     Secara umum, autentikasi user via sistem operasi memiliki keuntungan user dapat melakukan koneksi ke Oracle lebih cepat tanpa melakukan login username dan password secara terpisah.

2.2.3 Autentikasi Global
                    Oracle Advanced Security memiliki fitur yang dapat mensentralisasi manajemen dari informasi yang berkaitan dengan user termasuk otorisasi, dalam sebuah LDAP-based directory service. User dapat diidentifikasi dalam database sebagai global user, yang berarti user tersebut diautentikasimenggunakan SSL dan manajemen user tersebut telah dilakukan diluar database oleh directory service tersentralisasi. Global role didefinisikan dalam database dan hanya dikenal dalam database itu sendiri, tapi autorisasi role tersebut dilakukan oleh directory service.

2.3 Operating System Security
                    Hal-hal lain yang perlu dipertimbangkan di lingkungan sistem operasi yang berkaitan dengan keamanan aplikasi database adalah sebagai berikut:
- Administrator database harus memiliki privilege sistem operasi untuk membuat dan menghapus file.
- User umum dari database tidak memiliki privilege sistem operasi untuk membuat atau menghapus file yang berkaitan dengan database.
- Jika sistem operasi mengidentifikasi database role terhadap user, maka security administrator harus memiliki privilege sistem operasi untuk memodifikasi domain security dari account sistem operasi.

3. Data Security Policy

                    Data security meliputi suatu mekanisme yang mengontrol akses dan penggunaan database pada level obyek. Data security policy akan menentukan user mana yang memiliki akses ke obyek schema tertentu. Misalnya, user scott dapat melakukan perintah select dan insert, tapi tidak dapat melakukan perintah delete terhadap tabel emp.
                    Policy mengenai data security terutama akan ditentukan berdasarkan seberapa jauh level keamanan yang akan dibangun untuk data dalam database. Misalnya, bisa saja diterapkan level data security yang rendah bila diinginkan agar setiap user melakukan perintah create obyek schema atau privilege grant akses obyeknya ke user lain dalam sistem tersebut. Di sisi lain, bisa saja level data security diperketat lagi sehingga hanya administrator security yang memiliki privilege untuk melakukan perintah create obyek dan privilege grant akses setiap obyel ke dalam role dan user.
                    Secara umum, level data security juga bergantung pada tingkat sensitifitas suatu data dalam database. Untuk data yang tidak terlalu sensitif, policy dari data security dapat lebih longgar. Namun untuk data yang sensitif, secutiry policy harus dibangun untuk mengontrol ketat terhadap akses suatu obyek.

4. Password Management Policy
                   Sistem keamanan database bergantung pada kerahasiaan penyimpanan password. Namun demikian, panggunaan password masih saja rentan terhadap pencurian, pemalsuan, dan penyalahgunaan. Oracle memiliki manajemen password yang dapat mengatasi hal-hal berikut:
1.Account locking
2.Password aging dan expiration
3.Password complexity verification

4.1 Account Locking
                  Jika ada user yang melakukan kesalahan login beberapa kali melebihi dengan yang sudah ditentukan, maka server secara otomatis akan melakukan locking terhadap account tersebut. Administrator akan menentukan jumlah batas percobaan kesalahan melakukan login, dan lamanya account akan di locking. Namun administrator juga dapat melakukan locking terhadap account tertentu secara langsung. Locking dengan cara ini, tidak dapat dilakukan unlocking secara otomatis.

4.2 Password Aging dan Expiration
                  Aministrator menggunakan perintah create profile untuk menentukan masa berlakunya (lifetime) penggunaan password. Bila masa berlakunya sudah lewat, maka user tersebut adau administratornya harus mengubah password tersebut.
                   Aministrator juga akan menentukan grace periode, yaitu tenggang waktu yang diberikan kepada user untuk mengganti passwordnya. Bila passwordnya belum diganti hingga grace periode berakhir, maka accountnya akan hangus dan user tersebut tidak

dapat lagi melakukan login. Administrator juga menggunakan perintah create profile untuk menentukan interval waktu dimana password yang sudah expired tidak dapat digunakan lagi secara langsung. Berikut ini adalah ilustrasi mengenai penjelasan grace period:

4.3 Password Complexity Verification
                 Dalam Oracle, password complexity verification dapat dispesifikasi menggunakan PL/SQL yang akan mengatur parameter profil default. Password complexity verification akan melakukan pemeriksaan-pemeriksaan berikut:
- Password memiliki pangjang minimum 4.
- Password tidak sama dengan user ID.
- Password sedikitnya memiliki satu alfa, satu numerik, dan satu tanda baca.
- Password tidak boleh sama dengan kata-kata sederhana seperti welcome, account, database, atau user.
- Password yang baru harus berbeda sedikitnya tiga huruf dengan password yang lama.


Daftar Pustaka
1.T. Marlene dan H. William, “Oracle Security”, O’Reilly, 1998
2.R. Dan, “Database Security”, Internet Systems, April 1997
3.B. Ruth dan F. Joyce, “Oracle 8i Administrator’s Guide”, Oracle Corporation, 1999

Contoh DBMS

Nama  DBMS  : oracle
vendor : oracle corpooration

Nama  DBMS : foxpro
vendor : promatrix

Nama  DBMS : mysql
vendor : microsoft

Nama  DBMS : ms access
vendor : microsoft

Nama  DBMS : sql server
vendor : microsoft

Nama  DBMS : DB2
vendor : IBM

Nama  DBMS : Daytona
vendor : AT&T

Nama  DBMS : ingres
vendor : Ingress Corporation Berhad